From aa51e6902ec8891bb484b1427729b42153752b42 Mon Sep 17 00:00:00 2001 From: "daniel.zauli" Date: Tue, 17 Jan 2017 20:58:55 +0000 Subject: [PATCH] fixes bug #8353 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@65023 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../hibernate/CalcularPeajeHibernateDAO.java | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java index aad3de745..f978fedec 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java @@ -14,6 +14,8 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Set; + +import org.apache.log4j.Logger; import org.hibernate.Query; import org.hibernate.SessionFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -51,6 +53,8 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO buscarRutaWithCasetaPeajeFromOrgao(OrgaoConcedente oc) { @@ -141,31 +145,47 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO peajes = new ArrayList(); orgao = orgaoConcedenteService.obtenerID(orgao.getOrgaoConcedenteId()); List classeIndicePeajes = orgao.getClassesIndicePeaje(); + log.debug("****** INICIO DO PROCESSO DE CALCULO DE PEDAGIO ******"); + log.debug("****** QTD DE LINHAS = "+lsRuta.size()+"******"); + int z = 0; for (Ruta ruta : lsRuta) { + log.debug("****** Linha "+(++z)+" de "+lsRuta.size()+" ******"); + log.debug("****** LINHA : "+ruta.toString()+" ******"); + List lsObj = buscarCasetasPeajeWithinTramo(ruta); + log.debug("****** QTD COMBINAÇÕES DE TRECHOS x QTD PEDAGIOS POR TRECHO: "+lsObj.size()+" ******"); if (null != lsObj) { for (Object arrObj : lsObj) { BigDecimal bigKm = new BigDecimal(((Object[]) arrObj)[11].toString()) ; peajes.add(PeajeVO.create(ruta, orgao, (Object[]) arrObj, classeIndicePeajes, usaICMS, bigKm)); } } + log.debug("****** FIM LINHA : "+ruta.toString()+" . INSTRUCOES DE INSERT NO BANCO PRONTAS ******"); } StringBuilder updateSql = new StringBuilder() .append("update peaje set activo = 0 ") .append("where orgaoconcedente_id = ") .append(orgao.getOrgaoConcedenteId()); - int[] result = {}; Connection con = getSession().connection(); try { Statement stmt = con.createStatement(); con.setAutoCommit(false); stmt.addBatch(updateSql.toString()); - for (PeajeVO pvo : peajes) { - stmt.addBatch(pvo.toInsertQuery()); - stmt.addBatch(pvo.toUpdateExcepcionPeajeQuery()); - stmt.addBatch(pvo.toUpdateExcepcionPeajeVigenciaQuery()); + for(int i = 0 ; i < peajes.size(); i++){ + stmt.addBatch(peajes.get(i).toInsertQuery()); + stmt.addBatch(peajes.get(i).toUpdateExcepcionPeajeQuery()); + stmt.addBatch(peajes.get(i).toUpdateExcepcionPeajeVigenciaQuery()); + + log.debug("**** "+i+ "- de "+ peajes.size()+" de combinacoes de trecho X (praca pedagio por trecho) ****"); + + if(i%100 == 0){ + result = stmt.executeBatch(); + con.commit(); + stmt = con.createStatement(); + } + } result = stmt.executeBatch();