Exportação Fiscal : ECF e RMD (issue 8120)
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@65480 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
775afc17f8
commit
6290107485
|
@ -1565,8 +1565,8 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
||||||
valorICMSDebitado = MoneyHelper.multiplicar(valorBaseCalculoICMS, aTributacao_importacao);
|
valorICMSDebitado = MoneyHelper.multiplicar(valorBaseCalculoICMS, aTributacao_importacao);
|
||||||
}
|
}
|
||||||
|
|
||||||
BigDecimal valorICMSIsento = valorTotal.subtract(valorBaseCalculoICMS);
|
BigDecimal valorICMSIsento = BigDecimal.ZERO;
|
||||||
BigDecimal valorICMSOutros = BigDecimal.ZERO;
|
BigDecimal valorICMSOutros = valorTotal.subtract(valorBaseCalculoICMS);
|
||||||
|
|
||||||
String ecf = rs.getString("ecf");
|
String ecf = rs.getString("ecf");
|
||||||
String datamov = rs.getString("datamov");
|
String datamov = rs.getString("datamov");
|
||||||
|
@ -1581,7 +1581,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
||||||
if (rs.getInt("isenta") == 1) {
|
if (rs.getInt("isenta") == 1) {
|
||||||
codigoSituacaoTribColunaB = 40;
|
codigoSituacaoTribColunaB = 40;
|
||||||
|
|
||||||
valorICMSIsento = valorTotal;
|
valorICMSOutros = valorTotal;
|
||||||
}
|
}
|
||||||
|
|
||||||
ufDestino = rs.getString("estado_destino");
|
ufDestino = rs.getString("estado_destino");
|
||||||
|
|
|
@ -164,26 +164,49 @@ public class ExportacaoFiscal {
|
||||||
|
|
||||||
int linhas = listaRegistroECFTipoCFC.size() + listaRegistroECFTipoCCF.size() + listaRegistroECFTipoICF.size() + listaRegistroECFTipoPRC.size() + 1 + 1;
|
int linhas = listaRegistroECFTipoCFC.size() + listaRegistroECFTipoCCF.size() + listaRegistroECFTipoICF.size() + listaRegistroECFTipoPRC.size() + 1 + 1;
|
||||||
|
|
||||||
|
Map<String, BigDecimal> valoresBaseCalculoICMS = new HashMap<String, BigDecimal>(0);
|
||||||
|
|
||||||
for (ExportacaoECFTipoCFC registro : listaRegistroECFTipoCFC) {
|
for (ExportacaoECFTipoCFC registro : listaRegistroECFTipoCFC) {
|
||||||
adicionarLinhaCFC(writer, registro);
|
adicionarLinhaCFC(writer, registro);
|
||||||
|
|
||||||
itensCCF = groupCCF.get(registro.getEcf() + "|" + registro.getDataEmissao());
|
itensCCF = groupCCF.get(registro.getEcf() + "|" + registro.getDataEmissao());
|
||||||
|
|
||||||
|
BigDecimal totalBaseCalculoICMS = BigDecimal.ZERO;
|
||||||
|
|
||||||
if (itensCCF != null) {
|
if (itensCCF != null) {
|
||||||
for (ExportacaoECFTipoCCF itemCCF : itensCCF) {
|
for (ExportacaoECFTipoCCF itemCCF : itensCCF) {
|
||||||
|
BigDecimal baseCalculoICMS = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
if (valoresBaseCalculoICMS.containsKey(itemCCF.getUfDestino())) {
|
||||||
|
baseCalculoICMS = valoresBaseCalculoICMS.get(itemCCF.getUfDestino());
|
||||||
|
}
|
||||||
|
|
||||||
|
baseCalculoICMS = baseCalculoICMS.add(itemCCF.getValorBaseCalculoICMS().setScale(2, BigDecimal.ROUND_HALF_EVEN));
|
||||||
|
|
||||||
|
valoresBaseCalculoICMS.put(itemCCF.getUfDestino(), baseCalculoICMS);
|
||||||
|
|
||||||
adicionarLinhaCCF(writer, itemCCF);
|
adicionarLinhaCCF(writer, itemCCF);
|
||||||
|
|
||||||
|
totalBaseCalculoICMS = totalBaseCalculoICMS.add(itemCCF.getValorBaseCalculoICMS().setScale(2, BigDecimal.ROUND_HALF_EVEN));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BigDecimal total = BigDecimal.ZERO;
|
BigDecimal valorBaseCalculoICMS = BigDecimal.ZERO;
|
||||||
|
BigDecimal valorICMS = BigDecimal.ZERO;
|
||||||
|
|
||||||
itensICF = groupICF.get(registro.getEcf() + "|" + registro.getDataEmissao());
|
itensICF = groupICF.get(registro.getEcf() + "|" + registro.getDataEmissao());
|
||||||
|
|
||||||
if (itensICF != null) {
|
if (itensICF != null) {
|
||||||
for (ExportacaoECFTipoICF itemICF : itensICF) {
|
for (ExportacaoECFTipoICF itemICF : itensICF) {
|
||||||
total = total.add(itemICF.getValorICMSDebitado().setScale(2, BigDecimal.ROUND_HALF_EVEN));
|
valorICMS = valorICMS.add(itemICF.getValorICMSDebitado().setScale(2, BigDecimal.ROUND_HALF_EVEN));
|
||||||
|
|
||||||
adicionarLinhaICF(writer, itemICF);
|
valorBaseCalculoICMS = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
if (valoresBaseCalculoICMS.containsKey(itemICF.getUfDestino())) {
|
||||||
|
valorBaseCalculoICMS = valoresBaseCalculoICMS.get(itemICF.getUfDestino());
|
||||||
|
}
|
||||||
|
|
||||||
|
adicionarLinhaICF(writer, itemICF, valorBaseCalculoICMS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -191,7 +214,7 @@ public class ExportacaoFiscal {
|
||||||
|
|
||||||
if (itensPRC != null) {
|
if (itensPRC != null) {
|
||||||
for (ExportacaoECFTipoPRC itemPRC : itensPRC) {
|
for (ExportacaoECFTipoPRC itemPRC : itensPRC) {
|
||||||
adicionarLinhaPRC(writer, itemPRC, total);
|
adicionarLinhaPRC(writer, itemPRC, totalBaseCalculoICMS, valorICMS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -309,11 +332,11 @@ public class ExportacaoFiscal {
|
||||||
writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA);
|
writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void adicionarLinhaICF(PrintWriter writer, ExportacaoECFTipoICF item) {
|
private void adicionarLinhaICF(PrintWriter writer, ExportacaoECFTipoICF item, BigDecimal valorBaseCalculoICMS) {
|
||||||
BigDecimal valorTotal = item.getValorTotal();
|
BigDecimal valorTotal = item.getValorTotal();
|
||||||
String ufDestino = item.getUfDestino();
|
String ufDestino = item.getUfDestino();
|
||||||
Integer cfop = item.getCfop(); // IM=5357; Serviço IE= 6357
|
Integer cfop = item.getCfop(); // IM=5357; Serviço IE= 6357
|
||||||
BigDecimal valorBaseCalculoICMS = item.getValorBaseCalculoICMS();
|
// BigDecimal valorBaseCalculoICMS = item.getValorBaseCalculoICMS();
|
||||||
BigDecimal aliquotaICMS = item.getAliquotaICMS();
|
BigDecimal aliquotaICMS = item.getAliquotaICMS();
|
||||||
BigDecimal valorICMSDebitado = item.getValorICMSDebitado();
|
BigDecimal valorICMSDebitado = item.getValorICMSDebitado();
|
||||||
BigDecimal valorICMSIsento = item.getValorICMSIsento();
|
BigDecimal valorICMSIsento = item.getValorICMSIsento();
|
||||||
|
@ -351,12 +374,12 @@ public class ExportacaoFiscal {
|
||||||
writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA);
|
writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void adicionarLinhaPRC(PrintWriter writer, ExportacaoECFTipoPRC item, BigDecimal total) {
|
private void adicionarLinhaPRC(PrintWriter writer, ExportacaoECFTipoPRC item, BigDecimal valorBaseCalculoICMS, BigDecimal valorICMS) {
|
||||||
String ufOrigem = item.getUfOrigem();
|
String ufOrigem = item.getUfOrigem();
|
||||||
String municipioOrigem = item.getMunicipioOrigem() == null ? null : item.getMunicipioOrigem().toString();
|
String municipioOrigem = item.getMunicipioOrigem() == null ? null : item.getMunicipioOrigem().toString();
|
||||||
BigDecimal valorTotal = item.getValorTotal();
|
BigDecimal valorTotal = item.getValorTotal();
|
||||||
BigDecimal valorBaseCalculoICMS = item.getValorBaseCalculoICMS();
|
// BigDecimal valorBaseCalculoICMS = item.getValorBaseCalculoICMS();
|
||||||
BigDecimal valorICMS = item.getValorICMS();
|
// BigDecimal valorICMS = item.getValorICMS();
|
||||||
|
|
||||||
if (municipioOrigem != null && municipioOrigem.length() > 5) {
|
if (municipioOrigem != null && municipioOrigem.length() > 5) {
|
||||||
municipioOrigem = municipioOrigem.substring(municipioOrigem.length() - 5, municipioOrigem.length());
|
municipioOrigem = municipioOrigem.substring(municipioOrigem.length() - 5, municipioOrigem.length());
|
||||||
|
@ -368,7 +391,7 @@ public class ExportacaoFiscal {
|
||||||
sb.append(formataNumerico(municipioOrigem, true, 5)).append(SEPARADOR);
|
sb.append(formataNumerico(municipioOrigem, true, 5)).append(SEPARADOR);
|
||||||
sb.append(formataValor(valorTotal, 15)).append(SEPARADOR);
|
sb.append(formataValor(valorTotal, 15)).append(SEPARADOR);
|
||||||
sb.append(formataValor(valorBaseCalculoICMS, 15)).append(SEPARADOR);
|
sb.append(formataValor(valorBaseCalculoICMS, 15)).append(SEPARADOR);
|
||||||
sb.append(formataValor(total, 15)); // sb.append(formataValor(valorICMS, 15));
|
sb.append(formataValor(valorICMS, 15));
|
||||||
|
|
||||||
writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA);
|
writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue