diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java index ba6184e77..01327f7c8 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java @@ -14,14 +14,12 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Set; - import org.hibernate.Query; import org.hibernate.SessionFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; - import com.rjconsultores.ventaboletos.constantes.Constantes; import com.rjconsultores.ventaboletos.dao.CalcularPeajeDAO; import com.rjconsultores.ventaboletos.entidad.CasetaPeaje; @@ -84,7 +82,7 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO lsRuta, OrgaoConcedente orgao) { List peajes = new ArrayList(); - OrgaoConcedente orgaoConcedente = orgaoConcedenteService.obtenerID(orgao.getOrgaoConcedenteId()); - List classeIndicePeajes = orgaoConcedente.getClassesIndicePeaje(); + orgao = orgaoConcedenteService.obtenerID(orgao.getOrgaoConcedenteId()); + List classeIndicePeajes = orgao.getClassesIndicePeaje(); for (Ruta ruta : lsRuta) { List lsObj = buscarCasetasPeajeWithinTramo(ruta); if (null != lsObj) { for (Object arrObj : lsObj) { - peajes.add(PeajeVO.create(ruta, orgaoConcedente, (Object[]) arrObj, classeIndicePeajes)); + peajes.add(PeajeVO.create(ruta, orgao, (Object[]) arrObj, classeIndicePeajes)); } } } @@ -169,8 +163,8 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO REUNIDAS - BigDecimal big = new BigDecimal((importe.doubleValue() * rutaCantEixos.doubleValue() / indice.doubleValue())) ; - return big; - }else{ + // (importe * rutaCantEixos) / (indice) + return importe.multiply(rutaCantEixos) + .divide(indice, HIGH_PRECISION, RoundingMode.HALF_UP); + } + else { return importe.multiply(rutaCantEixos) .divide(indice.multiply(rutaCantAsientos), HIGH_PRECISION, RoundingMode.HALF_UP) .divide(BigDecimal.ONE.subtract(icms), HIGH_PRECISION, RoundingMode.HALF_UP); } - } // ((importe * rutaCantEixos) / (indice)) / ( 1 - icms) @@ -353,8 +342,7 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO lsClasseIndicePeaje) { + OrgaoConcedente orgao, List lsClasseIndicePeaje) { for (ClasseIndicePeaje classeIndicePeaje : lsClasseIndicePeaje) { if (claseServicio.equals(classeIndicePeaje.getClasseServicio())) {