diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java index 874c3dd02..97c9ddc70 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java @@ -4105,7 +4105,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO cp = det.getPorcRedMunicipal() == null ? BigDecimal.ZERO : det.getPorcRedMunicipal(); } - rbc = det.getRedBaseCalcIcms() == null ? cp.divide(UtiliteriasFiscal.CEM) : det.getRedBaseCalcIcms().divide(UtiliteriasFiscal.CEM); + rbc = det.getRedBaseCalcIcms() == null ? BigDecimal.ZERO : det.getRedBaseCalcIcms().divide(UtiliteriasFiscal.CEM); BigDecimal redutor = passagem.multiply(rbc); baseCalculo = passagem.subtract(redutor); icms = baseCalculo.multiply(aliquota.divide(BigDecimal.TEN.multiply(BigDecimal.TEN))); diff --git a/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/ExportacaoFiscal.java b/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/ExportacaoFiscal.java index 615e2245f..67d7c0b64 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/ExportacaoFiscal.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/ExportacaoFiscal.java @@ -363,17 +363,23 @@ public class ExportacaoFiscal { } private void adicionarLinhaICF(PrintWriter writer, ExportacaoECFTipoICF item, BigDecimal valorBaseCalculoICMS) { - BigDecimal valorTotal = item.getValorTotal(); + 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(); -// BigDecimal valorICMSOutros = item.getValorICMSOutros(); - - BigDecimal difValorTotalICMS = valorTotal.subtract(valorBaseCalculoICMS); - + BigDecimal valorICMSIsento = item.getValorICMSIsento(); + // BigDecimal valorICMSOutros = item.getValorICMSOutros(); + + // BigDecimal valorICMSDebitado = item.getValorICMSDebitado(); + BigDecimal valorICMSDebitado = BigDecimal.ZERO; + if (item.getAliquotaICMS() != null) { + BigDecimal aTributacao_importacao = MoneyHelper.dividir(item.getAliquotaICMS(), BigDecimal.valueOf(100d)); + valorICMSDebitado = MoneyHelper.multiplicar(valorBaseCalculoICMS, aTributacao_importacao); + } + + BigDecimal difValorTotalICMS = valorTotal.subtract(valorBaseCalculoICMS); + Integer codigoSituacaoTribColunaB = item.getCodigoSituacaoTribColunaB(); // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos String ufOrigem = item.getUfOrigem(); String municipioOrigem = item.getMunicipioOrigem() == null ? null : item.getMunicipioOrigem().toString(); @@ -381,7 +387,7 @@ public class ExportacaoFiscal { if (municipioOrigem != null && municipioOrigem.length() > 5) { municipioOrigem = municipioOrigem.substring(municipioOrigem.length() - 5, municipioOrigem.length()); } - + if (item.getRedutorBaseCalculoIcms() == null) { valorBaseCalculoICMS = valorTotal; } @@ -414,18 +420,19 @@ public class ExportacaoFiscal { private void adicionarLinhaPRC(PrintWriter writer, ExportacaoECFTipoPRC item, Map totalBaseCalculoICMS) { String ufOrigem = item.getUfOrigem(); String municipioOrigem = item.getMunicipioOrigem() == null ? null : item.getMunicipioOrigem().toString(); - BigDecimal valorTotal = item.getValorTotal(); - BigDecimal valorBaseCalculoICMS = totalBaseCalculoICMS.containsKey(item.getMunicipioOrigem()) ? totalBaseCalculoICMS.get(item.getMunicipioOrigem()) : item.getValorBaseCalculoICMS(); - BigDecimal valorICMS = item.getValorICMS(); + BigDecimal valorTotal = item.getValorTotal(); + BigDecimal valorBaseCalculoICMS = totalBaseCalculoICMS.containsKey(item.getMunicipioOrigem()) ? totalBaseCalculoICMS.get(item.getMunicipioOrigem()) : item.getValorBaseCalculoICMS(); + BigDecimal valorICMS = BigDecimal.ZERO; + // BigDecimal valorICMS = item.getValorICMS(); if (municipioOrigem != null && municipioOrigem.length() > 5) { municipioOrigem = municipioOrigem.substring(municipioOrigem.length() - 5, municipioOrigem.length()); } - -// if (item.getTributacao() != null && item.getTributacao().compareTo(BigDecimal.ZERO) > 0) { -// valorICMS = MoneyHelper.multiplicar(valorBaseCalculoICMS, item.getTributacao()); -// } - + + if (item.getTributacao() != null && item.getTributacao().compareTo(BigDecimal.ZERO) > 0) { + valorICMS = MoneyHelper.multiplicar(valorBaseCalculoICMS, item.getTributacao()); + } + StringBuilder sb = new StringBuilder(); sb.append("PRC").append(SEPARADOR); sb.append(formataCaracter(ufOrigem, true, 2)).append(SEPARADOR);