From db0b6b31adfe93a2f97e1fdc4db38f1792162d9d Mon Sep 17 00:00:00 2001 From: "bruno.neves" Date: Fri, 26 May 2017 22:31:28 +0000 Subject: [PATCH] =?UTF-8?q?fix=20bug=20#0009037=20-=20corrigido=20duplica?= =?UTF-8?q?=C3=A7=C3=A3o=20de=20pre=C3=A7o=20na=20gera=C3=A7=C3=A3o=20do?= =?UTF-8?q?=20pre=C3=A7o=20do=20pedagio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@69375 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../hibernate/CalcularPeajeHibernateDAO.java | 110 +++++++++++++++++- .../entidad/PrecioFixoPedagio.java | 47 +++++++- 2 files changed, 150 insertions(+), 7 deletions(-) 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