fixes bug #9136
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@69560 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
efc949fe8c
commit
f8254832d4
|
@ -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();
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue