diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/BpeHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/BpeHibernateDAO.java index cdffd9170..2fe448458 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/BpeHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/BpeHibernateDAO.java @@ -404,9 +404,9 @@ public class BpeHibernateDAO extends HibernateDaoSupport implements BpeDAO { BigDecimal icmsRec = BigDecimal.ZERO; if (det.getIsenta()) { - isentos = somarTotalBilhete(det, isReceitaTerceiros); + isentos = valorPassagem(det, isReceitaTerceiros); } else { - passagem = somarTotalBilhete(det, isReceitaTerceiros); + passagem = valorPassagem(det, isReceitaTerceiros); if (det.isInterEstadual()) { aliquota = det.getTributacaoImportacao() != null ? det.getTributacaoImportacao() : det.getIcmsInterestadual(); @@ -421,12 +421,11 @@ public class BpeHibernateDAO extends HibernateDaoSupport implements BpeDAO { } rbc = det.getRedBaseCalcIcms() == null ? BigDecimal.ZERO : det.getRedBaseCalcIcms().divide(UtiliteriasFiscal.CEM); - - BigDecimal tarifa = det.getTarifa(); - + + BigDecimal tarifa = valorBaseCalculo(det, isReceitaTerceiros); BigDecimal redutor = tarifa.multiply(rbc); baseCalculo = tarifa.subtract(redutor); - + icms = baseCalculo.multiply(aliquota.divide(BigDecimal.TEN.multiply(BigDecimal.TEN))); credPres = icms.multiply(cp.divide(BigDecimal.TEN.multiply(BigDecimal.TEN))); icmsRec = icms.subtract(credPres); @@ -440,34 +439,43 @@ public class BpeHibernateDAO extends HibernateDaoSupport implements BpeDAO { tipoViagem = "IM"; } - // if (isReceitaTerceiros) { - rdis.add(new FiscalRdi(det.getEstadoOrigem(), tipoViagem, det.getTipoReceita(), det.getTarifa(), - det.getSeguro(), det.getTaxaEmbarque(), det.getPedagio(), passagem, isentos, outros, det.getRedBaseCalcIcms(), - baseCalculo, aliquota, icms, cp, credPres, icmsRec)); - // } else { - // rdis.add(new FiscalRdi(det.getEstadoOrigem(), tipoViagem, det.getTipoReceita(), det.getTarifa(), - // ZERO, ZERO, ZERO, passagem, isentos, outros, det.getRedBaseCalcIcms(), - // baseCalculo, aliquota, icms, cp, credPres, icmsRec)); - // } + if (isReceitaTerceiros) { + rdis.add(new FiscalRdi(det.getEstadoOrigem(), tipoViagem, det.getTipoReceita(), det.getTarifa(), + det.getSeguro(), det.getTaxaEmbarque(), det.getPedagio(), passagem, isentos, outros, det.getRedBaseCalcIcms(), + baseCalculo, aliquota, icms, cp, credPres, icmsRec)); + } else { + rdis.add(new FiscalRdi(det.getEstadoOrigem(), tipoViagem, det.getTipoReceita(), det.getTarifa(), + ZERO, ZERO, ZERO, passagem, isentos, outros, det.getRedBaseCalcIcms(), + baseCalculo, aliquota, icms, cp, credPres, icmsRec)); + } } return rdis; } - private BigDecimal somarTotalBilhete(DetalhadoFiscal det, boolean isReceitaTerceiros) { + private BigDecimal valorBaseCalculo(DetalhadoFiscal det, boolean isReceitaTerceiros) { BigDecimal total = BigDecimal.ZERO; total = total.add(det.getTarifa() == null ? BigDecimal.ZERO : det.getTarifa()); - // if (isReceitaTerceiros && (det.isInterEstadual() && det.getIndTxembarqueEstadual() || !det.isInterEstadual() && det.getIndTxembarqueMunicipal())) + if (isReceitaTerceiros && (det.isInterEstadual() && det.getIndTxembarqueEstadual() || !det.isInterEstadual() && det.getIndTxembarqueMunicipal())) + total = total.add(det.getTaxaEmbarque() == null ? BigDecimal.ZERO : det.getTaxaEmbarque()); + + if (isReceitaTerceiros && (det.isInterEstadual() && det.getIndPedagioEstdual() || !det.isInterEstadual() && det.getIndPedagioMunicipal())) + total = total.add(det.getPedagio() == null ? BigDecimal.ZERO : det.getPedagio()); + + if (isReceitaTerceiros && (det.isInterEstadual() && det.getIndSeguroEstadual() || !det.isInterEstadual() && det.getIndSeguroMunicipal())) + total = total.add(det.getSeguro() == null ? BigDecimal.ZERO : det.getSeguro()); + + return total; + } + + private BigDecimal valorPassagem(DetalhadoFiscal det, boolean isReceitaTerceiros) { + BigDecimal total = BigDecimal.ZERO; + total = total.add(det.getTarifa() == null ? BigDecimal.ZERO : det.getTarifa()); total = total.add(det.getTaxaEmbarque() == null ? BigDecimal.ZERO : det.getTaxaEmbarque()); - - // if (isReceitaTerceiros && (det.isInterEstadual() && det.getIndPedagioEstdual() || !det.isInterEstadual() && det.getIndPedagioMunicipal())) total = total.add(det.getPedagio() == null ? BigDecimal.ZERO : det.getPedagio()); - - // if (isReceitaTerceiros && (det.isInterEstadual() && det.getIndSeguroEstadual() || !det.isInterEstadual() && det.getIndSeguroMunicipal())) total = total.add(det.getSeguro() == null ? BigDecimal.ZERO : det.getSeguro()); - return total; } diff --git a/src/com/rjconsultores/ventaboletos/utilerias/exportacao/bpe/ExportacaoBPEVo.java b/src/com/rjconsultores/ventaboletos/utilerias/exportacao/bpe/ExportacaoBPEVo.java index 1f9c1ac46..511316959 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/exportacao/bpe/ExportacaoBPEVo.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/exportacao/bpe/ExportacaoBPEVo.java @@ -39,12 +39,17 @@ public class ExportacaoBPEVo { static final Integer SIMPLES_NACIONAL_EXCESSO_RECEITA_BRUTA = 2; static final Integer REGIME_NORMAL = 3; } - - public static class TipoComp { - static final String CANCELAMENTO = "110111"; - static final String NAO_EMBARQUE = "110115"; + + public class TipoComp { + public static final String TARIFA = "01"; + public static final String PEDAGIO = "02"; + public static final String TAXA_EMBARQUE = "03"; + public static final String SEGURO = "04"; + public static final String TAXA_MANUTENCAO_RODOVIA = "05"; + public static final String SERVICO_VENDA_INTEGRADA = "06"; + public static final String OUTROS = "99"; + } - private List listaRegistroBaseBPE;