-correção na geração de corrida
-correção na tela de conf de restrição git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@25435 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
f00414f96c
commit
56cb33070f
|
@ -359,20 +359,32 @@ public class CorridaServiceImpl implements CorridaService {
|
||||||
Marca marca = esquemaCorrida.getMarca();
|
Marca marca = esquemaCorrida.getMarca();
|
||||||
Date horario = esquemaCorrida.getHorasalida();
|
Date horario = esquemaCorrida.getHorasalida();
|
||||||
horario = DateUtil.normalizar(horario);
|
horario = DateUtil.normalizar(horario);
|
||||||
|
Integer numCorrida = (!isPisoExtra)?esquemaCorrida.getNumCorrida():esquemaCorrida.getNumCorridaPisoExtra();
|
||||||
|
|
||||||
if (corridaDAO.existe(ruta, dataGeracao, horario, claseServicio, marca, isPisoExtra)) {
|
Corrida.Id id = new Corrida.Id();
|
||||||
|
|
||||||
|
id.setCorridaId(numCorrida);
|
||||||
|
id.setFeccorrida(DateUtil.normalizarToFecha(dataGeracao));
|
||||||
|
|
||||||
|
if (corridaDAO.existe(id)) {
|
||||||
log.info("corrida existe = " + ruta.getDescruta() + ";" + DateUtil.getStringDate(dataGeracao) + ";" + DateUtil.getStringDate(horario, "HH:mm") + ";" + claseServicio.getDescclase() + ";" + marca.getDescmarca() + " Piso: " + isPisoExtra);
|
log.info("corrida existe = " + ruta.getDescruta() + ";" + DateUtil.getStringDate(dataGeracao) + ";" + DateUtil.getStringDate(horario, "HH:mm") + ";" + claseServicio.getDescclase() + ";" + marca.getDescmarca() + " Piso: " + isPisoExtra);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
CorridaCtrl corridaCtrl = corridaCtrlService.buscar(ruta, claseServicio, marca, horario, isPisoExtra);
|
//Como o numCorrida corresponde ao corrida_id do corridaCtrl, ou seja, à chave primaria, temos que buscar somente por esse campo
|
||||||
|
//Caso o registro já exista, atualizamos os dados dele.
|
||||||
|
//Sendo assim, o que vai indicar a "duplicidade" de uma corrida será apenas o número dela e não mais o conjunto : clase + marca + horario + ruta
|
||||||
|
|
||||||
|
CorridaCtrl corridaCtrl = corridaCtrlService.obtenerID(numCorrida);
|
||||||
|
|
||||||
|
boolean novoRegistro = false;
|
||||||
|
|
||||||
if (corridaCtrl == null) {
|
if (corridaCtrl == null) {
|
||||||
corridaCtrl = new CorridaCtrl();
|
corridaCtrl = new CorridaCtrl();
|
||||||
if (!isPisoExtra) {
|
novoRegistro = true;
|
||||||
corridaCtrl.setCorridaId(esquemaCorrida.getNumCorrida());
|
|
||||||
} else {
|
|
||||||
corridaCtrl.setCorridaId(esquemaCorrida.getNumCorridaPisoExtra());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
corridaCtrl.setCorridaId(numCorrida);
|
||||||
corridaCtrl.setMarca(marca);
|
corridaCtrl.setMarca(marca);
|
||||||
corridaCtrl.setRuta(ruta);
|
corridaCtrl.setRuta(ruta);
|
||||||
corridaCtrl.setClaseServicio(claseServicio);
|
corridaCtrl.setClaseServicio(claseServicio);
|
||||||
|
@ -387,20 +399,18 @@ public class CorridaServiceImpl implements CorridaService {
|
||||||
|
|
||||||
corridaCtrl.setActivo(Boolean.TRUE);
|
corridaCtrl.setActivo(Boolean.TRUE);
|
||||||
corridaCtrl.setFecmodif(Calendar.getInstance().getTime());
|
corridaCtrl.setFecmodif(Calendar.getInstance().getTime());
|
||||||
|
|
||||||
if (UsuarioLogado.getUsuarioLogado() != null) {
|
if (UsuarioLogado.getUsuarioLogado() != null) {
|
||||||
corridaCtrl.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
corridaCtrl.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
||||||
}
|
}
|
||||||
|
|
||||||
corridaCtrl.setPisoExtra(isPisoExtra);
|
corridaCtrl.setPisoExtra(isPisoExtra);
|
||||||
|
if (novoRegistro){
|
||||||
corridaCtrl = corridaCtrlService.suscribir(corridaCtrl);
|
corridaCtrl = corridaCtrlService.suscribir(corridaCtrl);
|
||||||
|
}else{
|
||||||
|
corridaCtrl = corridaCtrlService.actualizacion(corridaCtrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
Corrida.Id id = new Corrida.Id();
|
|
||||||
id.setCorridaId(corridaCtrl.getCorridaId());
|
|
||||||
id.setFeccorrida(DateUtil.normalizarToFecha(dataGeracao));
|
|
||||||
|
|
||||||
Boolean existeCorrida = corridaDAO.existe(id);
|
|
||||||
if (!existeCorrida) {
|
|
||||||
corrida = new Corrida();
|
corrida = new Corrida();
|
||||||
corrida.setId(id);
|
corrida.setId(id);
|
||||||
corrida.setEsquemaCorrida(esquemaCorrida);
|
corrida.setEsquemaCorrida(esquemaCorrida);
|
||||||
|
@ -547,7 +557,7 @@ public class CorridaServiceImpl implements CorridaService {
|
||||||
|
|
||||||
asientoExclusivo = asientoExclusivoService.suscribir(asientoExclusivo);
|
asientoExclusivo = asientoExclusivoService.suscribir(asientoExclusivo);
|
||||||
}
|
}
|
||||||
}// if (!existeCorrida)
|
|
||||||
} catch (org.springframework.dao.DataIntegrityViolationException ex) {
|
} catch (org.springframework.dao.DataIntegrityViolationException ex) {
|
||||||
log.error(ex);
|
log.error(ex);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue