diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java index 2c18101b8..aa9dbca52 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java @@ -10,12 +10,14 @@ import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.HashMap; +import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Set; import org.apache.log4j.Logger; +import org.apache.velocity.runtime.directive.Foreach; import org.hibernate.Query; import org.hibernate.SessionFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -150,10 +152,12 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO updates = new ArrayList(); List peajes = new ArrayList(); + List classeIndicePeajes = new ArrayList(); if(orgao != null){ orgao = orgaoConcedenteService.obtenerID(orgao.getOrgaoConcedenteId()); classeIndicePeajes = orgao.getClassesIndicePeaje(); + isOrgaoNull = orgao == null; } log.debug("****** INICIO DO PROCESSO DE CALCULO DE PEDAGIO ******"); @@ -165,14 +169,14 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO lsObj = buscarCasetasPeajeWithinTramo(ruta); log.debug("****** QTD COMBINAÇÕES DE TRECHOS x QTD PEDAGIOS POR TRECHO: "+lsObj.size()+" ******"); + if(isOrgaoNull){ orgao = orgaoConcedenteService.obtenerID(ruta.getOrgaoConcedente().getOrgaoConcedenteId()); classeIndicePeajes = orgao.getClassesIndicePeaje(); String update = " update peaje set activo = 0 where ruta_id ="+ruta.getRutaId(); updates.add(update); } - - + if (null != lsObj) { for (Object arrObj : lsObj) { BigDecimal bigKm = new BigDecimal(((Object[]) arrObj)[11].toString()) ; @@ -187,6 +191,7 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO list = precioFixoPedagioService.buscarPrecioFixoPedagio(pfp); if(list.size()>=1){ + pvo.importePeaje = list.get(0).getValorFixo(); } @@ -196,7 +201,19 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO1){ + for (int i = 0 ; peajes.size()>i;) { + int posicao = peajes.lastIndexOf(peajes.get(i)); + if(posicao != i){ + peajes.remove(posicao); + i=0; + }else{ + i++; + } + + } + } StringBuilder updateSql = new StringBuilder(); if(isOrgaoNull == false){ updateSql = new StringBuilder() @@ -515,5 +532,92 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO