diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/BpeHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/BpeHibernateDAO.java index 2bb62ac89..ead994363 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/BpeHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/BpeHibernateDAO.java @@ -385,6 +385,7 @@ public class BpeHibernateDAO extends HibernateDaoSupport implements BpeDAO { String vBC = null; String pICMS = null; String vICMS = null; + String pRedBC = null; if (StringUtils.isNotBlank(xml)) { if (tbpe.getInfBPe().getImp().getICMS().getICMS00() != null) { @@ -395,6 +396,7 @@ public class BpeHibernateDAO extends HibernateDaoSupport implements BpeDAO { vBC = tbpe.getInfBPe().getImp().getICMS().getICMS20().getVBC(); pICMS = tbpe.getInfBPe().getImp().getICMS().getICMS20().getPICMS(); vICMS = tbpe.getInfBPe().getImp().getICMS().getICMS20().getVICMS(); + pRedBC = tbpe.getInfBPe().getImp().getICMS().getICMS20().getPRedBC(); } if (tbpe.getInfBPe().getInfValorBPe() != null) { @@ -452,7 +454,12 @@ public class BpeHibernateDAO extends HibernateDaoSupport implements BpeDAO { BigDecimal credPres = icms.multiply(cp.divide(BigDecimal.TEN.multiply(BigDecimal.TEN))); BigDecimal icmsRec = icms.subtract(credPres); BigDecimal vRedBC = det.getRedBaseCalcIcms(); + BigDecimal outros = isentos.equals(BigDecimal.ZERO) ? BigDecimal.ZERO : passagem.subtract(isentos).subtract(baseCalculo); + if (pRedBC != null) { + outros = passagem.subtract(baseCalculo); + outros = outros.subtract(isentos); + } rdis.add(new FiscalRdi(det.getEstadoOrigem(), tipoViagem, det.getTipoReceita(), tarifa, seguro, taxaEmbarque, pedagio, passagem, isentos, outros, vRedBC,