-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-87c2c4800839
master
gleimar 2013-03-28 22:10:50 +00:00
parent f00414f96c
commit 56cb33070f
1 changed files with 179 additions and 169 deletions

View File

@ -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);
} }