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);
|
||||
}
|
||||
|
||||
BigDecimal valorICMSIsento = valorTotal.subtract(valorBaseCalculoICMS);
|
||||
BigDecimal valorICMSOutros = BigDecimal.ZERO;
|
||||
BigDecimal valorICMSIsento = BigDecimal.ZERO;
|
||||
BigDecimal valorICMSOutros = valorTotal.subtract(valorBaseCalculoICMS);
|
||||
|
||||
String ecf = rs.getString("ecf");
|
||||
String datamov = rs.getString("datamov");
|
||||
|
@ -1581,7 +1581,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|||
if (rs.getInt("isenta") == 1) {
|
||||
codigoSituacaoTribColunaB = 40;
|
||||
|
||||
valorICMSIsento = valorTotal;
|
||||
valorICMSOutros = valorTotal;
|
||||
}
|
||||
|
||||
ufDestino = rs.getString("estado_destino");
|
||||
|
|
|
@ -164,26 +164,49 @@ public class ExportacaoFiscal {
|
|||
|
||||
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) {
|
||||
adicionarLinhaCFC(writer, registro);
|
||||
|
||||
itensCCF = groupCCF.get(registro.getEcf() + "|" + registro.getDataEmissao());
|
||||
|
||||
BigDecimal totalBaseCalculoICMS = BigDecimal.ZERO;
|
||||
|
||||
if (itensCCF != null) {
|
||||
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);
|
||||
|
||||
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());
|
||||
|
||||
if (itensICF != null) {
|
||||
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));
|
||||
|
||||
valorBaseCalculoICMS = BigDecimal.ZERO;
|
||||
|
||||
adicionarLinhaICF(writer, itemICF);
|
||||
if (valoresBaseCalculoICMS.containsKey(itemICF.getUfDestino())) {
|
||||
valorBaseCalculoICMS = valoresBaseCalculoICMS.get(itemICF.getUfDestino());
|
||||
}
|
||||
|
||||
adicionarLinhaICF(writer, itemICF, valorBaseCalculoICMS);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -191,7 +214,7 @@ public class ExportacaoFiscal {
|
|||
|
||||
if (itensPRC != null) {
|
||||
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);
|
||||
}
|
||||
|
||||
private void adicionarLinhaICF(PrintWriter writer, ExportacaoECFTipoICF item) {
|
||||
private void adicionarLinhaICF(PrintWriter writer, ExportacaoECFTipoICF item, BigDecimal valorBaseCalculoICMS) {
|
||||
BigDecimal valorTotal = item.getValorTotal();
|
||||
String ufDestino = item.getUfDestino();
|
||||
Integer cfop = item.getCfop(); // IM=5357; Serviço IE= 6357
|
||||
BigDecimal valorBaseCalculoICMS = item.getValorBaseCalculoICMS();
|
||||
// BigDecimal valorBaseCalculoICMS = item.getValorBaseCalculoICMS();
|
||||
BigDecimal aliquotaICMS = item.getAliquotaICMS();
|
||||
BigDecimal valorICMSDebitado = item.getValorICMSDebitado();
|
||||
BigDecimal valorICMSIsento = item.getValorICMSIsento();
|
||||
|
@ -351,12 +374,12 @@ public class ExportacaoFiscal {
|
|||
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 municipioOrigem = item.getMunicipioOrigem() == null ? null : item.getMunicipioOrigem().toString();
|
||||
BigDecimal valorTotal = item.getValorTotal();
|
||||
BigDecimal valorBaseCalculoICMS = item.getValorBaseCalculoICMS();
|
||||
BigDecimal valorICMS = item.getValorICMS();
|
||||
// BigDecimal valorBaseCalculoICMS = item.getValorBaseCalculoICMS();
|
||||
// BigDecimal valorICMS = item.getValorICMS();
|
||||
|
||||
if (municipioOrigem != null && municipioOrigem.length() > 5) {
|
||||
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(formataValor(valorTotal, 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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue