- correção na geração de corridas: Validação para não permitir gerar serviço que não tenha vigência válida

- melhoria nos logs de debug durante a geração
- remoção de classe/zul que não é mais usado

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@25694 d1611594-4594-4d17-8e1d-87c2c4800839
master
gleimar 2013-04-11 18:30:03 +00:00
parent f0fb7ae218
commit 3a4932ba14
1 changed files with 249 additions and 222 deletions

View File

@ -333,10 +333,29 @@ public class CorridaServiceImpl implements CorridaService {
}
/**
* Genera una corrida para el esquemaCorrida informado en el dia y fecha
* informados.
* Indica si el esquemaCorrida informado tiene una vigencia válida para la data de generacion
*
* @param esquemaCorrida
* @param dataGeracao
* @return
*/
private boolean vigenciaValida(EsquemaCorrida esquemaCorrida, Date dataGeracao) {
if ((DateUtil.compareOnlyDate(dataGeracao, esquemaCorrida.getEsquemaOperacional().getFecfinvigencia()) <= 0) &&
(DateUtil.compareOnlyDate(dataGeracao, esquemaCorrida.getEsquemaOperacional().getFecniciovigencia()) >= 0)) {
return true;
}
return false;
}
/**
* Genera una corrida para el esquemaCorrida informado en el dia y fecha informados.<br/>
*
* Cuando la corrida no es generada : <br/>
* - corrida ya existe : eso es checado por el numCorrida e dataGeneracion <br/>
* - la fecha de generacion no tiene una vigencia válida <br/>
* - el status del esquema corrida no es autorizado ("A") <br/>
*
* Es validado si la corrida ya existe
*
* @param esquemaCorrida
* @param diaSemana
@ -349,8 +368,25 @@ public class CorridaServiceImpl implements CorridaService {
Integer diaSemana = calendario.get(Calendar.DAY_OF_WEEK);
Corrida corrida = null;
if ((esquemaCorrida.getStatusCorrida() != null) && (esquemaCorrida.getStatusCorrida().equals("A"))) {
if (temCorridaDiaSemana(diaSemana, esquemaCorrida, isFeriado)) {
if (!vigenciaValida(esquemaCorrida, dataGeracao)) {
log.debug("vigencia invalida=" + dataGeracao);
return null;
}
if (!((esquemaCorrida.getStatusCorrida() != null) && (esquemaCorrida.getStatusCorrida().equals("A")))) {
log.debug("status corrida invalido=" + esquemaCorrida.getStatusCorrida());
return null;
}
if (!temCorridaDiaSemana(diaSemana, esquemaCorrida, isFeriado)) {
log.debug("dia semana no valido=" + diaSemana);
return null;
}
try {
Ruta ruta = esquemaCorrida.getRuta();
ClaseServicio claseServicio = esquemaCorrida.getClaseServicio();
@ -459,12 +495,7 @@ public class CorridaServiceImpl implements CorridaService {
Integer numSec = 1;
List<EsquemaTramo> lsEsquemaTramo = esquemaTramoService.obtenerPorEsquemaCorridaOrderNumSec(esquemaCorrida);
Date horaChegadaAnterior = null;
Date tiempoInstanciaAnterior = null; // indica o tempo
// de instancia
// que fica no
// tramo
// anterior ao
// atual
Date tiempoInstanciaAnterior = null; // indica o tempo de instancia que fica no tramo anterior ao atual
for (EsquemaTramo esquemaTramo : lsEsquemaTramo) {
CorridaTramo corridaTramo = new CorridaTramo();
corridaTramo.setAutobus(null);
@ -559,8 +590,6 @@ public class CorridaServiceImpl implements CorridaService {
} catch (org.springframework.dao.DataIntegrityViolationException ex) {
log.error(ex);
}
} // if (temCorridaDiaSemana(diaSemana, esquemaCorrida))
} // if (esquemaCorrida.getStatusCorrida().equals("A"))
return corrida;
}
@ -710,8 +739,7 @@ public class CorridaServiceImpl implements CorridaService {
*
* @param corridaTramo
* @param claseServicio
* @return - Si existe una excepcion, regresa la nueva fecLlegada para el
* tramo, sino, regreso null
* @return - Si existe una excepcion, regresa la nueva fecLlegada para el tramo, sino, regreso null
*/
private Date arreglaExcepcionTiempo(CorridaTramo corridaTramo, ClaseServicio claseServicio) {
Date nuevaFecLlegada = null;
@ -927,7 +955,6 @@ public class CorridaServiceImpl implements CorridaService {
Long cantFim = corridaDAO.cantCorridaGeneradasHoy();
return cantFim - cantInicio;
}
}