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();