Exportação Fiscal : ECF e RMD (issue 8120)
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@64285 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
81a8c7fab1
commit
3165f78959
|
@ -1230,6 +1230,7 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append(" select distinct");
|
sb.append(" select distinct");
|
||||||
sb.append(" imp.numserie20 as ecf,");
|
sb.append(" imp.numserie20 as ecf,");
|
||||||
|
sb.append(" imp.numserie as numserie,");
|
||||||
sb.append(" r2.datamov as datamov,");
|
sb.append(" r2.datamov as datamov,");
|
||||||
sb.append(" r2.cooinicial as cooinicial,");
|
sb.append(" r2.cooinicial as cooinicial,");
|
||||||
sb.append(" r2.coofinal as coofinal,");
|
sb.append(" r2.coofinal as coofinal,");
|
||||||
|
@ -1306,7 +1307,7 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
||||||
registro = new ExportacaoECFTipoCFC();
|
registro = new ExportacaoECFTipoCFC();
|
||||||
registro.setEstabelecimento(rs.getInt("codestabelecimento"));
|
registro.setEstabelecimento(rs.getInt("codestabelecimento"));
|
||||||
registro.setDataEmissao(rs.getString("datamov"));
|
registro.setDataEmissao(rs.getString("datamov"));
|
||||||
registro.setNumeroIdentificacaoECF(rs.getInt("numeroidentificacao"));
|
registro.setNumeroIdentificacaoECF(rs.getInt("numeroidentificacao") > 0 ? rs.getInt("numeroidentificacao") : rs.getInt("numserie"));
|
||||||
registro.setEcf(rs.getString("ecf"));
|
registro.setEcf(rs.getString("ecf"));
|
||||||
registro.setCooReducaoZ(Integer.valueOf(rs.getString("coo")));
|
registro.setCooReducaoZ(Integer.valueOf(rs.getString("coo")));
|
||||||
registro.setCooInicial(Integer.valueOf(rs.getString("cooinicial")));
|
registro.setCooInicial(Integer.valueOf(rs.getString("cooinicial")));
|
||||||
|
@ -1470,6 +1471,7 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append(" select");
|
sb.append(" select");
|
||||||
sb.append(" r4.numserie20 as ecf,");
|
sb.append(" r4.numserie20 as ecf,");
|
||||||
|
sb.append(" r4.datamov as datamov,");
|
||||||
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN co.codibge ELSE cos.codibge END) as municipio_origem,");
|
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN co.codibge ELSE cos.codibge END) as municipio_origem,");
|
||||||
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) as estado_origem,");
|
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) as estado_origem,");
|
||||||
sb.append(" (CASE WHEN s.aliasdestino_id IS NULL THEN cd.codibge ELSE cds.codibge END) as municipio_destino,");
|
sb.append(" (CASE WHEN s.aliasdestino_id IS NULL THEN cd.codibge ELSE cds.codibge END) as municipio_destino,");
|
||||||
|
@ -1499,6 +1501,7 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
||||||
sb.append(" left join estado eds on eds.estado_id = cds.estado_id");
|
sb.append(" left join estado eds on eds.estado_id = cds.estado_id");
|
||||||
sb.append(" left join empresa_imposto eis on eis.empresa_id = b.empresacorrida_id and eis.estado_id = eos.estado_id");
|
sb.append(" left join empresa_imposto eis on eis.empresa_id = b.empresacorrida_id and eis.estado_id = eos.estado_id");
|
||||||
sb.append(" where nvl(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1 and b.activo = 1 and r4.datamov >= ? and r4.datamov <= ? and b.empresacorrida_id = ? and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)");
|
sb.append(" where nvl(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1 and b.activo = 1 and r4.datamov >= ? and r4.datamov <= ? and b.empresacorrida_id = ? and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)");
|
||||||
|
sb.append(" order by r4.numserie20, r4.datamov");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
PreparedStatement ps = connection.prepareStatement(sb.toString());
|
PreparedStatement ps = connection.prepareStatement(sb.toString());
|
||||||
|
@ -1544,6 +1547,8 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
||||||
BigDecimal valorICMSIsento = BigDecimal.ZERO;
|
BigDecimal valorICMSIsento = BigDecimal.ZERO;
|
||||||
BigDecimal valorICMSOutros = BigDecimal.ZERO;
|
BigDecimal valorICMSOutros = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
String ecf = rs.getString("ecf");
|
||||||
|
String datamov = rs.getString("datamov");
|
||||||
String ufDestino = "";
|
String ufDestino = "";
|
||||||
String ufOrigem = "";
|
String ufOrigem = "";
|
||||||
Integer municipioOrigem = 0;
|
Integer municipioOrigem = 0;
|
||||||
|
@ -1574,7 +1579,7 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
||||||
codigoSituacaoTribColunaB = rs.getInt("red_base_calc_icms") == 0 ? 0 : 20;
|
codigoSituacaoTribColunaB = rs.getInt("red_base_calc_icms") == 0 ? 0 : 20;
|
||||||
}
|
}
|
||||||
|
|
||||||
String key = ufDestino + "|" + cfop.toString() + "|" + codigoSituacaoTribColunaB.toString();
|
String key = ecf + "|" + datamov + "|" + ufDestino + "|" + cfop.toString() + "|" + codigoSituacaoTribColunaB.toString();
|
||||||
|
|
||||||
if (group.containsKey(key)) {
|
if (group.containsKey(key)) {
|
||||||
registro = group.get(key);
|
registro = group.get(key);
|
||||||
|
@ -1586,6 +1591,8 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
||||||
valorICMSOutros = valorICMSOutros.add(registro.getValorICMSOutros());
|
valorICMSOutros = valorICMSOutros.add(registro.getValorICMSOutros());
|
||||||
} else {
|
} else {
|
||||||
registro = new ExportacaoECFTipoICF();
|
registro = new ExportacaoECFTipoICF();
|
||||||
|
registro.setEcf(ecf);
|
||||||
|
registro.setDataEmissao(datamov);
|
||||||
registro.setUfDestino(ufDestino);
|
registro.setUfDestino(ufDestino);
|
||||||
registro.setCfop(cfop); // IM=5357; Serviço IE= 6357
|
registro.setCfop(cfop); // IM=5357; Serviço IE= 6357
|
||||||
registro.setCodigoSituacaoTribColunaB(codigoSituacaoTribColunaB); // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos
|
registro.setCodigoSituacaoTribColunaB(codigoSituacaoTribColunaB); // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos
|
||||||
|
@ -1622,11 +1629,12 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
||||||
List<ExportacaoECFTipoPRC> retorno = new ArrayList<ExportacaoECFTipoPRC>();
|
List<ExportacaoECFTipoPRC> retorno = new ArrayList<ExportacaoECFTipoPRC>();
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append(" select municipio_origem, estado_origem, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao, SUM(valortotal) as valortotal");
|
sb.append(" select ecf, datamov, municipio_origem, estado_origem, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao, SUM(valortotal) as valortotal");
|
||||||
sb.append(" from (");
|
sb.append(" from (");
|
||||||
|
|
||||||
sb.append(" select");
|
sb.append(" select");
|
||||||
sb.append(" r4.numserie20 as ecf,");
|
sb.append(" r4.numserie20 as ecf,");
|
||||||
|
sb.append(" r4.datamov as datamov,");
|
||||||
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN co.codibge ELSE cos.codibge END) as municipio_origem,");
|
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN co.codibge ELSE cos.codibge END) as municipio_origem,");
|
||||||
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) as estado_origem,");
|
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) as estado_origem,");
|
||||||
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ed.cveestado ELSE eds.cveestado END) as estado_destino,");
|
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ed.cveestado ELSE eds.cveestado END) as estado_destino,");
|
||||||
|
@ -1655,7 +1663,7 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
||||||
sb.append(" left join empresa_imposto eis on eis.empresa_id = b.empresacorrida_id and eis.estado_id = eos.estado_id");
|
sb.append(" left join empresa_imposto eis on eis.empresa_id = b.empresacorrida_id and eis.estado_id = eos.estado_id");
|
||||||
sb.append(" where nvl(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1 and b.activo = 1 and r4.datamov >= ? and r4.datamov <= ? and b.empresacorrida_id = ? and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)");
|
sb.append(" where nvl(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1 and b.activo = 1 and r4.datamov >= ? and r4.datamov <= ? and b.empresacorrida_id = ? and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)");
|
||||||
|
|
||||||
sb.append(" ) group by municipio_origem, estado_origem, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao");
|
sb.append(" ) group by ecf, datamov, municipio_origem, estado_origem, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
PreparedStatement ps = connection.prepareStatement(sb.toString());
|
PreparedStatement ps = connection.prepareStatement(sb.toString());
|
||||||
|
@ -1668,6 +1676,8 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
||||||
|
|
||||||
ExportacaoECFTipoPRC registro = null;
|
ExportacaoECFTipoPRC registro = null;
|
||||||
|
|
||||||
|
Map<String, ExportacaoECFTipoPRC> group = new HashMap<String, ExportacaoECFTipoPRC>();
|
||||||
|
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
BigDecimal valorTotal = BigDecimal.valueOf(Double.valueOf(rs.getString("valortotal")) / 100);
|
BigDecimal valorTotal = BigDecimal.valueOf(Double.valueOf(rs.getString("valortotal")) / 100);
|
||||||
|
|
||||||
|
@ -1697,14 +1707,31 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
||||||
|
|
||||||
BigDecimal valorICMS = (tributacao_importacao == null ? BigDecimal.ZERO : valorBaseCalculoICMS.multiply(tributacao_importacao));
|
BigDecimal valorICMS = (tributacao_importacao == null ? BigDecimal.ZERO : valorBaseCalculoICMS.multiply(tributacao_importacao));
|
||||||
|
|
||||||
|
String key = rs.getString("ecf") + "|" + rs.getString("datamov") + "|" + rs.getString("estado_origem") + "|" + rs.getString("municipio_origem");
|
||||||
|
|
||||||
|
if (group.containsKey(key)) {
|
||||||
|
registro = group.get(key);
|
||||||
|
|
||||||
|
registro.setValorTotal(registro.getValorTotal().add(valorTotal));
|
||||||
|
registro.setValorBaseCalculoICMS(registro.getValorBaseCalculoICMS().add(valorBaseCalculoICMS));
|
||||||
|
registro.setValorICMS(registro.getValorICMS().add(valorICMS));
|
||||||
|
|
||||||
|
} else {
|
||||||
registro = new ExportacaoECFTipoPRC();
|
registro = new ExportacaoECFTipoPRC();
|
||||||
|
registro.setEcf(rs.getString("ecf"));
|
||||||
|
registro.setDataEmissao(rs.getString("datamov"));
|
||||||
registro.setUfOrigem(rs.getString("estado_origem"));
|
registro.setUfOrigem(rs.getString("estado_origem"));
|
||||||
registro.setMunicipioOrigem(Integer.valueOf(rs.getString("municipio_origem")));
|
registro.setMunicipioOrigem(Integer.valueOf(rs.getString("municipio_origem")));
|
||||||
registro.setValorTotal(valorTotal);
|
registro.setValorTotal(valorTotal);
|
||||||
registro.setValorBaseCalculoICMS(valorBaseCalculoICMS);
|
registro.setValorBaseCalculoICMS(valorBaseCalculoICMS);
|
||||||
registro.setValorICMS(valorICMS);
|
registro.setValorICMS(valorICMS);
|
||||||
|
}
|
||||||
|
|
||||||
retorno.add(registro);
|
group.put(key, registro);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Map.Entry<String, ExportacaoECFTipoPRC> entry : group.entrySet()) {
|
||||||
|
retorno.add(entry.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
rs.close();
|
rs.close();
|
||||||
|
|
|
@ -53,9 +53,9 @@ public class ExportacaoFiscal {
|
||||||
adicionarRegistroECFTipoCAB(writer, dataInicial, dataFinal, nomeEmpresa);
|
adicionarRegistroECFTipoCAB(writer, dataInicial, dataFinal, nomeEmpresa);
|
||||||
// adicionarRegistroECFTipoCFC(writer, listaRegistroECFTipoCFC);
|
// adicionarRegistroECFTipoCFC(writer, listaRegistroECFTipoCFC);
|
||||||
// adicionarRegistroECFTipoCCF(writer, listaRegistroECFTipoCCF);
|
// adicionarRegistroECFTipoCCF(writer, listaRegistroECFTipoCCF);
|
||||||
adicionarRegistroECFTipoCFC_CCF(writer, listaRegistroECFTipoCFC, listaRegistroECFTipoCCF);
|
// adicionarRegistroECFTipoICF(writer, listaRegistroECFTipoICF);
|
||||||
adicionarRegistroECFTipoICF(writer, listaRegistroECFTipoICF);
|
// adicionarRegistroECFTipoPRC(writer, listaRegistroECFTipoPRC);
|
||||||
adicionarRegistroECFTipoPRC(writer, listaRegistroECFTipoPRC);
|
adicionarRegistroECF(writer, listaRegistroECFTipoCFC, listaRegistroECFTipoCCF, listaRegistroECFTipoICF, listaRegistroECFTipoPRC);
|
||||||
|
|
||||||
writer.close();
|
writer.close();
|
||||||
|
|
||||||
|
@ -83,43 +83,104 @@ public class ExportacaoFiscal {
|
||||||
writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA);
|
writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unused")
|
||||||
private void adicionarRegistroECFTipoCFC(PrintWriter writer, final List<ExportacaoECFTipoCFC> listaRegistroECFTipoCFC) {
|
private void adicionarRegistroECFTipoCFC(PrintWriter writer, final List<ExportacaoECFTipoCFC> listaRegistroECFTipoCFC) {
|
||||||
for (ExportacaoECFTipoCFC registro : listaRegistroECFTipoCFC) {
|
for (ExportacaoECFTipoCFC registro : listaRegistroECFTipoCFC) {
|
||||||
adicionarLinhaCFC(writer, registro);
|
adicionarLinhaCFC(writer, registro);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unused")
|
||||||
private void adicionarRegistroECFTipoCCF(PrintWriter writer, final List<ExportacaoECFTipoCCF> listaRegistroECFTipoCCF) {
|
private void adicionarRegistroECFTipoCCF(PrintWriter writer, final List<ExportacaoECFTipoCCF> listaRegistroECFTipoCCF) {
|
||||||
for (ExportacaoECFTipoCCF registro : listaRegistroECFTipoCCF) {
|
for (ExportacaoECFTipoCCF registro : listaRegistroECFTipoCCF) {
|
||||||
adicionarLinhaCCF(writer, registro);
|
adicionarLinhaCCF(writer, registro);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void adicionarRegistroECFTipoCFC_CCF(PrintWriter writer, final List<ExportacaoECFTipoCFC> listaRegistroECFTipoCFC, final List<ExportacaoECFTipoCCF> listaRegistroECFTipoCCF) {
|
@SuppressWarnings("unused")
|
||||||
Map<String, List<ExportacaoECFTipoCCF>> groupCCF = new HashMap<String, List<ExportacaoECFTipoCCF>>();
|
private void adicionarRegistroECFTipoICF(PrintWriter writer, final List<ExportacaoECFTipoICF> listaRegistroECFTipoICF) {
|
||||||
|
for (ExportacaoECFTipoICF registro : listaRegistroECFTipoICF) {
|
||||||
List<ExportacaoECFTipoCCF> itens = new ArrayList<ExportacaoECFTipoCCF>();
|
adicionarLinhaICF(writer, registro);
|
||||||
|
}
|
||||||
for (ExportacaoECFTipoCCF registro : listaRegistroECFTipoCCF) {
|
|
||||||
itens = new ArrayList<ExportacaoECFTipoCCF>();
|
|
||||||
|
|
||||||
if (groupCCF.containsKey(registro.getEcf() + "|" + registro.getDataEmissao())) {
|
|
||||||
itens.addAll(groupCCF.get(registro.getEcf() + "|" + registro.getDataEmissao()));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
itens.add(registro);
|
@SuppressWarnings("unused")
|
||||||
|
private void adicionarRegistroECFTipoPRC(PrintWriter writer, final List<ExportacaoECFTipoPRC> listaRegistroECFTipoPRC) {
|
||||||
|
for (ExportacaoECFTipoPRC registro : listaRegistroECFTipoPRC) {
|
||||||
|
adicionarLinhaPRC(writer, registro);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
groupCCF.put(registro.getEcf() + "|" + registro.getDataEmissao(), itens);
|
private void adicionarRegistroECF(PrintWriter writer, final List<ExportacaoECFTipoCFC> listaRegistroECFTipoCFC, final List<ExportacaoECFTipoCCF> listaRegistroECFTipoCCF,
|
||||||
|
List<ExportacaoECFTipoICF> listaRegistroECFTipoICF, List<ExportacaoECFTipoPRC> listaRegistroECFTipoPRC) {
|
||||||
|
Map<String, List<ExportacaoECFTipoCCF>> groupCCF = new HashMap<String, List<ExportacaoECFTipoCCF>>();
|
||||||
|
Map<String, List<ExportacaoECFTipoICF>> groupICF = new HashMap<String, List<ExportacaoECFTipoICF>>();
|
||||||
|
Map<String, List<ExportacaoECFTipoPRC>> groupPRC = new HashMap<String, List<ExportacaoECFTipoPRC>>();
|
||||||
|
|
||||||
|
List<ExportacaoECFTipoCCF> itensCCF = new ArrayList<ExportacaoECFTipoCCF>();
|
||||||
|
List<ExportacaoECFTipoICF> itensICF = new ArrayList<ExportacaoECFTipoICF>();
|
||||||
|
List<ExportacaoECFTipoPRC> itensPRC = new ArrayList<ExportacaoECFTipoPRC>();
|
||||||
|
|
||||||
|
for (ExportacaoECFTipoCCF registro : listaRegistroECFTipoCCF) {
|
||||||
|
itensCCF = new ArrayList<ExportacaoECFTipoCCF>();
|
||||||
|
|
||||||
|
if (groupCCF.containsKey(registro.getEcf() + "|" + registro.getDataEmissao())) {
|
||||||
|
itensCCF.addAll(groupCCF.get(registro.getEcf() + "|" + registro.getDataEmissao()));
|
||||||
|
}
|
||||||
|
|
||||||
|
itensCCF.add(registro);
|
||||||
|
|
||||||
|
groupCCF.put(registro.getEcf() + "|" + registro.getDataEmissao(), itensCCF);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (ExportacaoECFTipoICF registro : listaRegistroECFTipoICF) {
|
||||||
|
itensICF = new ArrayList<ExportacaoECFTipoICF>();
|
||||||
|
|
||||||
|
if (groupICF.containsKey(registro.getEcf() + "|" + registro.getDataEmissao())) {
|
||||||
|
itensICF.addAll(groupICF.get(registro.getEcf() + "|" + registro.getDataEmissao()));
|
||||||
|
}
|
||||||
|
|
||||||
|
itensICF.add(registro);
|
||||||
|
|
||||||
|
groupICF.put(registro.getEcf() + "|" + registro.getDataEmissao(), itensICF);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (ExportacaoECFTipoPRC registro : listaRegistroECFTipoPRC) {
|
||||||
|
itensPRC = new ArrayList<ExportacaoECFTipoPRC>();
|
||||||
|
|
||||||
|
if (groupPRC.containsKey(registro.getEcf() + "|" + registro.getDataEmissao())) {
|
||||||
|
itensPRC.addAll(groupPRC.get(registro.getEcf() + "|" + registro.getDataEmissao()));
|
||||||
|
}
|
||||||
|
|
||||||
|
itensPRC.add(registro);
|
||||||
|
|
||||||
|
groupPRC.put(registro.getEcf() + "|" + registro.getDataEmissao(), itensPRC);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (ExportacaoECFTipoCFC registro : listaRegistroECFTipoCFC) {
|
for (ExportacaoECFTipoCFC registro : listaRegistroECFTipoCFC) {
|
||||||
adicionarLinhaCFC(writer, registro);
|
adicionarLinhaCFC(writer, registro);
|
||||||
|
|
||||||
itens = groupCCF.get(registro.getEcf() + "|" + registro.getDataEmissao());
|
itensCCF = groupCCF.get(registro.getEcf() + "|" + registro.getDataEmissao());
|
||||||
|
|
||||||
if (itens != null) {
|
if (itensCCF != null) {
|
||||||
for (ExportacaoECFTipoCCF item : itens) {
|
for (ExportacaoECFTipoCCF itemCCF : itensCCF) {
|
||||||
adicionarLinhaCCF(writer, item);
|
adicionarLinhaCCF(writer, itemCCF);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
itensICF = groupICF.get(registro.getEcf() + "|" + registro.getDataEmissao());
|
||||||
|
|
||||||
|
if (itensICF != null) {
|
||||||
|
for (ExportacaoECFTipoICF itemICF : itensICF) {
|
||||||
|
adicionarLinhaICF(writer, itemICF);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
itensPRC = groupPRC.get(registro.getEcf() + "|" + registro.getDataEmissao());
|
||||||
|
|
||||||
|
if (itensPRC != null) {
|
||||||
|
for (ExportacaoECFTipoPRC itemPRC : itensPRC) {
|
||||||
|
adicionarLinhaPRC(writer, itemPRC);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -229,19 +290,18 @@ public class ExportacaoFiscal {
|
||||||
writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA);
|
writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void adicionarRegistroECFTipoICF(PrintWriter writer, final List<ExportacaoECFTipoICF> listaRegistroECFTipoICF) {
|
private void adicionarLinhaICF(PrintWriter writer, ExportacaoECFTipoICF item) {
|
||||||
for (ExportacaoECFTipoICF registro : listaRegistroECFTipoICF) {
|
BigDecimal valorTotal = item.getValorTotal();
|
||||||
BigDecimal valorTotal = registro.getValorTotal();
|
String ufDestino = item.getUfDestino();
|
||||||
String ufDestino = registro.getUfDestino();
|
Integer cfop = item.getCfop(); // IM=5357; Serviço IE= 6357
|
||||||
Integer cfop = registro.getCfop(); // IM=5357; Serviço IE= 6357
|
BigDecimal valorBaseCalculoICMS = item.getValorBaseCalculoICMS();
|
||||||
BigDecimal valorBaseCalculoICMS = registro.getValorBaseCalculoICMS();
|
BigDecimal aliquotaICMS = item.getAliquotaICMS();
|
||||||
BigDecimal aliquotaICMS = registro.getAliquotaICMS();
|
BigDecimal valorICMSDebitado = item.getValorICMSDebitado();
|
||||||
BigDecimal valorICMSDebitado = registro.getValorICMSDebitado();
|
BigDecimal valorICMSIsento = item.getValorICMSIsento();
|
||||||
BigDecimal valorICMSIsento = registro.getValorICMSIsento();
|
BigDecimal valorICMSOutros = item.getValorICMSOutros();
|
||||||
BigDecimal valorICMSOutros = registro.getValorICMSOutros();
|
Integer codigoSituacaoTribColunaB = item.getCodigoSituacaoTribColunaB(); // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos
|
||||||
Integer codigoSituacaoTribColunaB = registro.getCodigoSituacaoTribColunaB(); // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos
|
String ufOrigem = item.getUfOrigem();
|
||||||
String ufOrigem = registro.getUfOrigem();
|
Integer municipioOrigem = item.getMunicipioOrigem();
|
||||||
Integer municipioOrigem = registro.getMunicipioOrigem();
|
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("ICF").append(SEPARADOR);
|
sb.append("ICF").append(SEPARADOR);
|
||||||
|
@ -267,15 +327,13 @@ public class ExportacaoFiscal {
|
||||||
|
|
||||||
writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA);
|
writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private void adicionarRegistroECFTipoPRC(PrintWriter writer, final List<ExportacaoECFTipoPRC> listaRegistroECFTipoPRC) {
|
private void adicionarLinhaPRC(PrintWriter writer, ExportacaoECFTipoPRC item) {
|
||||||
for (ExportacaoECFTipoPRC registro : listaRegistroECFTipoPRC) {
|
String ufOrigem = item.getUfOrigem();
|
||||||
String ufOrigem = registro.getUfOrigem();
|
Integer municipioOrigem = item.getMunicipioOrigem();
|
||||||
Integer municipioOrigem = registro.getMunicipioOrigem();
|
BigDecimal valorTotal = item.getValorTotal();
|
||||||
BigDecimal valorTotal = registro.getValorTotal();
|
BigDecimal valorBaseCalculoICMS = item.getValorBaseCalculoICMS();
|
||||||
BigDecimal valorBaseCalculoICMS = registro.getValorBaseCalculoICMS();
|
BigDecimal valorICMS = item.getValorICMS();
|
||||||
BigDecimal valorICMS = registro.getValorICMS();
|
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("PRC").append(SEPARADOR);
|
sb.append("PRC").append(SEPARADOR);
|
||||||
|
@ -287,7 +345,6 @@ public class ExportacaoFiscal {
|
||||||
|
|
||||||
writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA);
|
writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public File gerarArquivoRMD(final Date dataInicial, final Date dataFinal, final String nomeEmpresa, List<ExportacaoRMDTipoPAR> listaRegistroRMDTipoPAR,
|
public File gerarArquivoRMD(final Date dataInicial, final Date dataFinal, final String nomeEmpresa, List<ExportacaoRMDTipoPAR> listaRegistroRMDTipoPAR,
|
||||||
List<ExportacaoRMDTipoRMD> listaRegistroRMDTipoRMD, List<ExportacaoRMDTipoBPS> listaRegistroRMDTipoBPS, List<ExportacaoRMDTipoDBP> listaRegistroRMDTipoDBP) {
|
List<ExportacaoRMDTipoRMD> listaRegistroRMDTipoRMD, List<ExportacaoRMDTipoBPS> listaRegistroRMDTipoBPS, List<ExportacaoRMDTipoDBP> listaRegistroRMDTipoDBP) {
|
||||||
|
|
|
@ -14,6 +14,8 @@ public class ExportacaoECFTipoICF {
|
||||||
private Integer codigoSituacaoTribColunaB; // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos
|
private Integer codigoSituacaoTribColunaB; // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos
|
||||||
private String ufOrigem;
|
private String ufOrigem;
|
||||||
private Integer municipioOrigem;
|
private Integer municipioOrigem;
|
||||||
|
private String ecf;
|
||||||
|
private String dataEmissao;
|
||||||
|
|
||||||
public ExportacaoECFTipoICF() {
|
public ExportacaoECFTipoICF() {
|
||||||
|
|
||||||
|
@ -107,8 +109,24 @@ public class ExportacaoECFTipoICF {
|
||||||
this.municipioOrigem = municipioOrigem;
|
this.municipioOrigem = municipioOrigem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getEcf() {
|
||||||
|
return ecf;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEcf(String ecf) {
|
||||||
|
this.ecf = ecf;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDataEmissao() {
|
||||||
|
return dataEmissao;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDataEmissao(String dataEmissao) {
|
||||||
|
this.dataEmissao = dataEmissao;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "ExportacaoECFTipoICF [valorTotal=" + valorTotal + ", ufDestino=" + ufDestino + ", cfop=" + cfop + ", valorBaseCalculoICMS=" + valorBaseCalculoICMS + ", aliquotaICMS=" + aliquotaICMS + ", valorICMSDebitado=" + valorICMSDebitado + ", valorICMSIsento=" + valorICMSIsento + ", valorICMSOutros=" + valorICMSOutros + ", codigoSituacaoTribColunaB=" + codigoSituacaoTribColunaB + ", ufOrigem=" + ufOrigem + ", municipioOrigem=" + municipioOrigem + "]";
|
return "ExportacaoECFTipoICF [valorTotal=" + valorTotal + ", ufDestino=" + ufDestino + ", cfop=" + cfop + ", valorBaseCalculoICMS=" + valorBaseCalculoICMS + ", aliquotaICMS=" + aliquotaICMS + ", valorICMSDebitado=" + valorICMSDebitado + ", valorICMSIsento=" + valorICMSIsento + ", valorICMSOutros=" + valorICMSOutros + ", codigoSituacaoTribColunaB=" + codigoSituacaoTribColunaB + ", ufOrigem=" + ufOrigem + ", municipioOrigem=" + municipioOrigem + ", ecf=" + ecf + ", dataEmissao=" + dataEmissao + "]";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,8 @@ public class ExportacaoECFTipoPRC {
|
||||||
private BigDecimal valorTotal;
|
private BigDecimal valorTotal;
|
||||||
private BigDecimal valorBaseCalculoICMS;
|
private BigDecimal valorBaseCalculoICMS;
|
||||||
private BigDecimal valorICMS;
|
private BigDecimal valorICMS;
|
||||||
|
private String ecf;
|
||||||
|
private String dataEmissao;
|
||||||
|
|
||||||
public ExportacaoECFTipoPRC() {
|
public ExportacaoECFTipoPRC() {
|
||||||
|
|
||||||
|
@ -57,4 +59,20 @@ public class ExportacaoECFTipoPRC {
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "ExportacaoECFTipoPRC [ufOrigem=" + ufOrigem + ", municipioOrigem=" + municipioOrigem + ", valorTotal=" + valorTotal + ", valorBaseCalculoICMS=" + valorBaseCalculoICMS + ", valorICMS=" + valorICMS + "]";
|
return "ExportacaoECFTipoPRC [ufOrigem=" + ufOrigem + ", municipioOrigem=" + municipioOrigem + ", valorTotal=" + valorTotal + ", valorBaseCalculoICMS=" + valorBaseCalculoICMS + ", valorICMS=" + valorICMS + "]";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getEcf() {
|
||||||
|
return ecf;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEcf(String ecf) {
|
||||||
|
this.ecf = ecf;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDataEmissao() {
|
||||||
|
return dataEmissao;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDataEmissao(String dataEmissao) {
|
||||||
|
this.dataEmissao = dataEmissao;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue