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;
}
log.debug("****** INICIO DO PROCESSO DE CALCULO DE PEDAGIO ******");
log.debug("****** QTD DE LINHAS = "+lsRuta.size()+"******");
log.info("****** INICIO DO PROCESSO DE CALCULO DE PEDAGIO ******");
log.info("****** QTD DE LINHAS = "+lsRuta.size()+"******");
int z = 0;
for (Ruta ruta : lsRuta) {
log.debug("****** Linha "+(++z)+" de "+lsRuta.size()+" ******");
log.debug("****** LINHA : "+ruta.toString()+" ******");
log.info("****** Linha "+(++z)+" de "+lsRuta.size()+" ******");
log.info("****** LINHA : "+ruta.toString()+" ******");
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){
orgao = orgaoConcedenteService.obtenerID(ruta.getOrgaoConcedente().getOrgaoConcedenteId());
@ -175,10 +175,16 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO<String, Strin
updates.add(update);
}
List<PrecioFixoPedagio> lsPrecioFixoPedagio = precioFixoPedagioService.obtenerTodos();
if (null != lsObj) {
for (Object arrObj : lsObj) {
BigDecimal bigKm = new BigDecimal(((Object[]) arrObj)[11].toString()) ;
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();
pfp.setOrgaoConcedenteId(orgao);
@ -186,19 +192,23 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO<String, Strin
CasetaPeaje pracaPedagio = new CasetaPeaje();
pracaPedagio.setCasetaPeajeId(pvo.casetaPeajeId);
pfp.setPracaPedagioId(pracaPedagio);
List<PrecioFixoPedagio> list = precioFixoPedagioService.buscarPrecioFixoPedagio(pfp);
if(list.size()>=1){
pvo.importePeaje = list.get(0).getValorFixo();
for(PrecioFixoPedagio pfp2 : lsPrecioFixoPedagio){
if(pfp2.getPracaPedagioId().getCasetaPeajeId().equals(pfp.getPracaPedagioId().getCasetaPeajeId())
&& pfp2.getOrgaoConcedenteId().getOrgaoConcedenteId().equals(pfp.getOrgaoConcedenteId().getOrgaoConcedenteId())
&& pfp2.getClasseId().getClaseservicioId().equals(pfp.getClasseId().getClaseservicioId())
){
pvo.importePeaje = pfp2.getValorFixo();
break;
}
}
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){
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).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){
result = stmt.executeBatch();

View File

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