daniel.zauli 2017-06-01 22:00:49 +00:00
parent efc949fe8c
commit f8254832d4
2 changed files with 24 additions and 14 deletions

View File

@ -158,15 +158,15 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO<String, Strin
isOrgaoNull = orgao == null; isOrgaoNull = orgao == null;
} }
log.debug("****** INICIO DO PROCESSO DE CALCULO DE PEDAGIO ******"); log.info("****** INICIO DO PROCESSO DE CALCULO DE PEDAGIO ******");
log.debug("****** QTD DE LINHAS = "+lsRuta.size()+"******"); log.info("****** QTD DE LINHAS = "+lsRuta.size()+"******");
int z = 0; int z = 0;
for (Ruta ruta : lsRuta) { for (Ruta ruta : lsRuta) {
log.debug("****** Linha "+(++z)+" de "+lsRuta.size()+" ******"); log.info("****** Linha "+(++z)+" de "+lsRuta.size()+" ******");
log.debug("****** LINHA : "+ruta.toString()+" ******"); log.info("****** LINHA : "+ruta.toString()+" ******");
List<Object> lsObj = buscarCasetasPeajeWithinTramo(ruta); List<Object> lsObj = buscarCasetasPeajeWithinTramo(ruta);
log.debug("****** QTD COMBINAÇÕES DE TRECHOS x QTD PEDAGIOS POR TRECHO: "+lsObj.size()+" ******"); log.info("****** QTD COMBINAÇÕES DE TRECHOS x QTD PEDAGIOS POR TRECHO: "+lsObj.size()+" ******");
if(isOrgaoNull){ if(isOrgaoNull){
orgao = orgaoConcedenteService.obtenerID(ruta.getOrgaoConcedente().getOrgaoConcedenteId()); orgao = orgaoConcedenteService.obtenerID(ruta.getOrgaoConcedente().getOrgaoConcedenteId());
@ -174,11 +174,17 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO<String, Strin
String update = " update peaje set activo = 0 where ruta_id ="+ruta.getRutaId(); String update = " update peaje set activo = 0 where ruta_id ="+ruta.getRutaId();
updates.add(update); updates.add(update);
} }
List<PrecioFixoPedagio> lsPrecioFixoPedagio = precioFixoPedagioService.obtenerTodos();
if (null != lsObj) { if (null != lsObj) {
for (Object arrObj : lsObj) { for (Object arrObj : lsObj) {
BigDecimal bigKm = new BigDecimal(((Object[]) arrObj)[11].toString()) ; BigDecimal bigKm = new BigDecimal(((Object[]) arrObj)[11].toString()) ;
PeajeVO pvo = PeajeVO.create(ruta, orgao, (Object[]) arrObj, classeIndicePeajes, usaICMS, bigKm); PeajeVO pvo = PeajeVO.create(ruta, orgao, (Object[]) arrObj, classeIndicePeajes, usaICMS, bigKm);
// ATENCAO !!!
// neste 'FOR' nao se pode abrir nenhum tipo de consulta no banco pois o 'lsObj' vem com milhares de registros
// e se abrir uma sessao no banco para cada um dos registros, o banco trava.
PrecioFixoPedagio pfp = new PrecioFixoPedagio(); PrecioFixoPedagio pfp = new PrecioFixoPedagio();
pfp.setOrgaoConcedenteId(orgao); pfp.setOrgaoConcedenteId(orgao);
@ -186,19 +192,23 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO<String, Strin
CasetaPeaje pracaPedagio = new CasetaPeaje(); CasetaPeaje pracaPedagio = new CasetaPeaje();
pracaPedagio.setCasetaPeajeId(pvo.casetaPeajeId); pracaPedagio.setCasetaPeajeId(pvo.casetaPeajeId);
pfp.setPracaPedagioId(pracaPedagio); pfp.setPracaPedagioId(pracaPedagio);
List<PrecioFixoPedagio> list = precioFixoPedagioService.buscarPrecioFixoPedagio(pfp);
if(list.size()>=1){ for(PrecioFixoPedagio pfp2 : lsPrecioFixoPedagio){
if(pfp2.getPracaPedagioId().getCasetaPeajeId().equals(pfp.getPracaPedagioId().getCasetaPeajeId())
pvo.importePeaje = list.get(0).getValorFixo(); && pfp2.getOrgaoConcedenteId().getOrgaoConcedenteId().equals(pfp.getOrgaoConcedenteId().getOrgaoConcedenteId())
&& pfp2.getClasseId().getClaseservicioId().equals(pfp.getClasseId().getClaseservicioId())
){
pvo.importePeaje = pfp2.getValorFixo();
break;
}
} }
peajes.add(pvo); peajes.add(pvo);
} }
} }
log.debug("****** FIM LINHA : "+ruta.toString()+" . INSTRUCOES DE INSERT NO BANCO PRONTAS ******"); log.info("****** FIM LINHA : "+ruta.toString()+" . INSTRUCOES DE INSERT NO BANCO PRONTAS ******");
} }
log.debug("****** FIM DO PROCESSO DE CALCULO DE PEDAGIO ******"); log.info("****** FIM DO PROCESSO DE CALCULO DE PEDAGIO ******");
if(peajes.size()>1){ if(peajes.size()>1){
for (int i = 0 ; peajes.size()>i;) { for (int i = 0 ; peajes.size()>i;) {
@ -238,7 +248,7 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO<String, Strin
stmt.addBatch(peajes.get(i).toUpdateExcepcionPeajeQuery()); stmt.addBatch(peajes.get(i).toUpdateExcepcionPeajeQuery());
stmt.addBatch(peajes.get(i).toUpdateExcepcionPeajeVigenciaQuery()); stmt.addBatch(peajes.get(i).toUpdateExcepcionPeajeVigenciaQuery());
log.debug("**** "+i+ "- de "+ peajes.size()+" de combinacoes de trecho X (praca pedagio por trecho) ****"); log.info("**** "+i+ "- de "+ peajes.size()+" de combinacoes de trecho X (praca pedagio por trecho) ****");
if(i%100 == 0){ if(i%100 == 0){
result = stmt.executeBatch(); result = stmt.executeBatch();

View File

@ -37,7 +37,7 @@ public class PrecioFixoPedagioHibernateDAO extends GenericHibernateDAO<PrecioFix
public List<PrecioFixoPedagio> obtenerTodos() { public List<PrecioFixoPedagio> obtenerTodos() {
Criteria c = getSession().createCriteria(getPersistentClass()); Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.eq("activo", Boolean.TRUE));
c.addOrder(Order.asc("descclase")); // c.addOrder(Order.asc("descclase"));
return c.list(); return c.list();
} }