- correção na gravação do esquema asiento : estava apagando o destino_id

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@26135 d1611594-4594-4d17-8e1d-87c2c4800839
master
gleimar 2013-05-03 22:35:53 +00:00
parent dc67efb223
commit 40d17badfc
7 changed files with 103 additions and 226 deletions

View File

@ -23,10 +23,7 @@ public interface EsquemaCorridaDAO extends GenericDAO<EsquemaCorrida, Integer> {
public List<EsquemaCorrida> buscarPorEsquemaOperacional(EsquemaOperacional eo);
public List<EsquemaCorrida> buscar(Marca marca, RolOperativo rolOperativo,
Ruta ruta, ClaseServicio claseServicio);
public List<EsquemaCorrida> buscar(EsquemaCorrida ec);
public List<EsquemaCorrida> buscar(Marca marca, RolOperativo rolOperativo, Ruta ruta, ClaseServicio claseServicio);
public boolean buscarNumCorrida(Integer numCorrida, Integer numCorridaPisoExtra);
@ -39,8 +36,7 @@ public interface EsquemaCorridaDAO extends GenericDAO<EsquemaCorrida, Integer> {
public boolean esHijoRebote(EsquemaCorrida esquemaCorrida);
/**
* Busca los esquema corrida que tiene esquema operacional en la fecha
* indicada
* Busca los esquema corrida que tiene esquema operacional en la fecha indicada
*
* @param dataGeracao
* @return
@ -50,8 +46,7 @@ public interface EsquemaCorridaDAO extends GenericDAO<EsquemaCorrida, Integer> {
public boolean buscarEsquemaCorridaExisteTramo(Tramo tramo);
/**
* Indica cuál son los Id's de EsquemaCorrida que tienen la paradaId en su
* secuencia
* Indica cuál son los Id's de EsquemaCorrida que tienen la paradaId en su secuencia
*
* @param ruta
* @param paradaId

View File

@ -20,8 +20,7 @@ import org.springframework.stereotype.Repository;
* @author Rafius
*/
@Repository("esquemaAsientoHibernateDAO")
public class EsquemaAsientoHibernateDAO extends GenericHibernateDAO<EsquemaAsiento, Integer>
implements EsquemaAsientoDAO {
public class EsquemaAsientoHibernateDAO extends GenericHibernateDAO<EsquemaAsiento, Integer> implements EsquemaAsientoDAO {
@Autowired
public EsquemaAsientoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {

View File

@ -69,97 +69,6 @@ public class EsquemaCorridaHibernateDAO extends GenericHibernateDAO<EsquemaCorri
return c.list();
}
public List<EsquemaCorrida> buscar(EsquemaCorrida ec) {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
// if (ec.getHorasalida() != null) {
// c.add(Restrictions.eq("horasalida", ec.getHorasalida()));
// }
// c.add(Restrictions.eq("esquemaOperacional.fecfinvigencia",
// ec.getEsquemaOperacional().getFecfinvigencia()));
// c.add(Restrictions.eq("esquemaOperacional.fecniciovigencia",
// ec.getEsquemaOperacional().getFecniciovigencia()));
c.createCriteria("esquemaOperacional").add(Restrictions.and(Restrictions.eq("fecfinvigencia", ec.getEsquemaOperacional().getFecfinvigencia()),
Restrictions.eq("fecniciovigencia", ec.getEsquemaOperacional().getFecniciovigencia())));
// c.createCriteria("esquemaOperacional").add(Restrictions.eq("fecniciovigencia",
// ec.getEsquemaOperacional().getFecniciovigencia()));
if (ec.getIndlunes() != null) {
c.add(Restrictions.eq("indlunes", ec.getIndlunes()));
}
if (ec.getIndmartes() != null) {
c.add(Restrictions.eq("indmartes", ec.getIndmartes()));
}
if (ec.getIndmiercoles() != null) {
c.add(Restrictions.eq("indmiercoles", ec.getIndmiercoles()));
}
if (ec.getIndjueves() != null) {
c.add(Restrictions.eq("indjueves", ec.getIndjueves()));
}
if (ec.getIndviernes() != null) {
c.add(Restrictions.eq("indviernes", ec.getIndviernes()));
}
if (ec.getIndsabado() != null) {
c.add(Restrictions.eq("indsabado", ec.getIndsabado()));
}
if (ec.getInddomingo() != null) {
c.add(Restrictions.eq("inddomingo", ec.getInddomingo()));
}
if (ec.getCantparados() != null) {
c.add(Restrictions.eq("cantparados", ec.getCantparados()));
}
if (ec.getStatusCorrida() != null) {
c.add(Restrictions.eq("statusCorrida", ec.getStatusCorrida()));
}
if (ec.getRuta() != null) {
c.add(Restrictions.eq("ruta", ec.getRuta()));
}
if (ec.getRolOperativo() != null) {
c.add(Restrictions.eq("rolOperativo", ec.getRolOperativo()));
}
if (ec.getMarca() != null) {
c.add(Restrictions.eq("marca", ec.getMarca()));
}
// c.add(Restrictions.eq("esquemaOperacional",
// ec.getEsquemaOperacional()));
if (ec.getEmpresa() != null) {
c.add(Restrictions.eq("empresa", ec.getEmpresa()));
}
if (ec.getEmpresa1() != null) {
c.add(Restrictions.eq("empresa1", ec.getEmpresa1()));
}
if (ec.getClaseServicio() != null) {
c.add(Restrictions.eq("claseServicio", ec.getClaseServicio()));
}
if (ec.getTipocorrida() != null) {
c.add(Restrictions.eq("tipocorrida", ec.getTipocorrida()));
}
String cs = c.toString();
return c.list();
}
public boolean esHijoRebote(EsquemaCorrida esquemaCorrida) {
Criteria c = makeCriteria();
c.setProjection(Projections.rowCount());

View File

@ -17,12 +17,6 @@ import com.rjconsultores.ventaboletos.exception.BusinessException;
*/
public interface EsquemaAsientoService {
public EsquemaAsiento obtenerID(Integer id);
public EsquemaAsiento suscribir(EsquemaAsiento entidad);
public EsquemaAsiento actualizacion(EsquemaAsiento entidad);
public void borrar(EsquemaAsiento entidad);
public List<EsquemaAsiento> obtenerPorCorrida(EsquemaCorrida esquemaCorrida);
@ -34,20 +28,22 @@ public interface EsquemaAsientoService {
*
*
*
* @param asiento - Indica los asientos. Ej.: 1,2,3,4 o 1-4,
* @param asiento
* - Indica los asientos. Ej.: 1,2,3,4 o 1-4,
* @param origenId
* @return
*/
public void bloqueoAsientoExclusivo(EsquemaCorrida esquemaCorrida,String asiento,Parada origen) throws BusinessException;
public void bloqueoAsientoExclusivo(EsquemaCorrida esquemaCorrida, String asiento, Parada origen) throws BusinessException;
/**
* Hace la configuración de ocupación de bloqueo de asientos de acuerdo con el tramo informado (origen - destino). <br/>
*
* @param asiento- Indica los asientos. Ej.: 1,2,3,4 o 1-4,
* @param asiento
* - Indica los asientos. Ej.: 1,2,3,4 o 1-4,
* @param origenId
* @param destinoId
* @param motivoOcupacion
* @return
*/
public void bloqueoAsientoOcupacion(EsquemaCorrida esquemaCorrida,String asiento,Parada origen,Parada destino,String motivoOcupacion) throws BusinessException;
public void bloqueoAsientoOcupacion(EsquemaCorrida esquemaCorrida, String asiento, Parada origen, Parada destino, String motivoOcupacion) throws BusinessException;
}

View File

@ -4,6 +4,9 @@
*/
package com.rjconsultores.ventaboletos.service;
import java.util.Date;
import java.util.List;
import com.rjconsultores.ventaboletos.dao.EsquemaCorridaDAO;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida;
@ -14,9 +17,6 @@ import com.rjconsultores.ventaboletos.entidad.RolOperativo;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.Tramo;
import java.util.Date;
import java.util.List;
/**
*
* @author Rafius
@ -25,10 +25,7 @@ public interface EsquemaCorridaService extends GenericService<EsquemaCorrida, In
public List<EsquemaCorrida> buscarPorEsquemaOperacional(EsquemaOperacional eo);
public List<EsquemaCorrida> buscar(Marca marca, RolOperativo rolOperativo,
Ruta ruta, ClaseServicio claseServicio);
public List<EsquemaCorrida> buscar(EsquemaCorrida ec);
public List<EsquemaCorrida> buscar(Marca marca, RolOperativo rolOperativo,Ruta ruta, ClaseServicio claseServicio);
public boolean buscarNumCorrida(Integer numCorrida, Integer numCorridaPisoExtra);

View File

@ -44,12 +44,7 @@ public class EsquemaAsientoServiceImpl implements EsquemaAsientoService {
@Autowired
private DiagramaAutobusService diagramaAutobusService;
public EsquemaAsiento obtenerID(Integer id) {
return esquemaAsientoDAO.obtenerID(id);
}
@Transactional
public EsquemaAsiento suscribir(EsquemaAsiento entidad) {
private EsquemaAsiento suscribir(EsquemaAsiento entidad) {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
entidad.setFecmodif(Calendar.getInstance().getTime());
entidad.setActivo(Boolean.TRUE);
@ -57,15 +52,6 @@ public class EsquemaAsientoServiceImpl implements EsquemaAsientoService {
return esquemaAsientoDAO.suscribir(entidad);
}
@Transactional
public EsquemaAsiento actualizacion(EsquemaAsiento entidad) {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
entidad.setFecmodif(Calendar.getInstance().getTime());
entidad.setActivo(Boolean.TRUE);
return esquemaAsientoDAO.actualizacion(entidad);
}
@Transactional
public void borrar(EsquemaAsiento entidad) {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
@ -83,7 +69,7 @@ public class EsquemaAsientoServiceImpl implements EsquemaAsientoService {
return esquemaAsientoDAO.obtenerPorCorridaeAsiento(esquemaCorrida, asiento);
}
@Transactional(rollbackFor=BusinessException.class)
@Transactional(rollbackFor = BusinessException.class)
@Override
public void bloqueoAsientoExclusivo(EsquemaCorrida esquemaCorrida, String strAsiento, Parada origen) throws BusinessException {
@ -91,11 +77,10 @@ public class EsquemaAsientoServiceImpl implements EsquemaAsientoService {
throw new BusinessException("editarConfiguracionCorridaAsientoController.MSG.origenObligatoria");
}
hacerBloqueo(BLOQUEO_EXCLUSIVO, esquemaCorrida, strAsiento, origen, null, null);
}
private boolean hacerBloqueo(String tipoBloqueo,EsquemaCorrida esquemaCorrida, String strAsiento, Parada origen, Parada destino, String motivoOcupacion) throws BusinessException {
private boolean hacerBloqueo(String tipoBloqueo, EsquemaCorrida esquemaCorrida, String strAsiento, Parada origen, Parada destino, String motivoOcupacion) throws BusinessException {
List<String> asientos = cargarAsientos(strAsiento);
DiagramaAutobus da = diagramaAutobusService.obtenerID(esquemaCorrida.getRolOperativo().getDiagramaAutobus().getDiagramaautobusId());
@ -113,7 +98,7 @@ public class EsquemaAsientoServiceImpl implements EsquemaAsientoService {
}
}
}
if (!existe){
if (!existe) {
throw new BusinessException("editarConfiguracionCorridaAsientoController.MSG.invalido");
}
@ -124,10 +109,10 @@ public class EsquemaAsientoServiceImpl implements EsquemaAsientoService {
es.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
es.setNumasiento(asiento.toString());
if (tipoBloqueo.equals(BLOQUEO_EXCLUSIVO)){
if (tipoBloqueo.equals(BLOQUEO_EXCLUSIVO)) {
es.setIndvendible(Boolean.TRUE);
es.setParada(origen);
}else{
} else {
es.setIndvendible(Boolean.FALSE);
es.setParada(origen);
es.setDestino(destino);
@ -140,32 +125,32 @@ public class EsquemaAsientoServiceImpl implements EsquemaAsientoService {
if (esquemaAsientoBusqueda.getEsquemaasientoId() == null) {
es = suscribir(es);
//validação extra para garantir que salvou corretamente
if (tipoBloqueo.equals(BLOQUEO_EXCLUSIVO)){
// validação extra para garantir que salvou corretamente
if (tipoBloqueo.equals(BLOQUEO_EXCLUSIVO)) {
if ( !(es.getIndvendible() && (es.getParada() != null) && (es.getDestino() == null))){
if (!(es.getIndvendible() && (es.getParada() != null) && (es.getDestino() == null))) {
throw new BusinessException("editarConfiguracionCorridaAsientoController.MSG.validacionGrabacion");
}
}else{
//validação extra para garantir que salvou corretamente
if ( !(!es.getIndvendible() && (es.getParada() != null) && (es.getDestino() != null))){
} else {
// validação extra para garantir que salvou corretamente
if (!(!es.getIndvendible() && (es.getParada() != null) && (es.getDestino() != null))) {
throw new BusinessException("editarConfiguracionCorridaAsientoController.MSG.validacionGrabacion");
}
}
} else {
throw new BusinessException("editarConfiguracionCorridaAsientoController.MSG.poltronaJahConfigurada",new Object[]{asiento});
throw new BusinessException("editarConfiguracionCorridaAsientoController.MSG.poltronaJahConfigurada", new Object[] { asiento });
}
} else {
throw new BusinessException("editarConfiguracionCorridaAsientoController.MSG.poltronaNoVendible",new Object[]{asiento});
throw new BusinessException("editarConfiguracionCorridaAsientoController.MSG.poltronaNoVendible", new Object[] { asiento });
}
}
return true;
}
@Transactional(rollbackFor=BusinessException.class)
@Transactional(rollbackFor = BusinessException.class)
@Override
public void bloqueoAsientoOcupacion(EsquemaCorrida esquemaCorrida, String strAsiento, Parada origen, Parada destino, String motivoOcupacion) throws BusinessException {
@ -179,17 +164,15 @@ public class EsquemaAsientoServiceImpl implements EsquemaAsientoService {
throw new BusinessException("editarConfiguracionCorridaAsientoController.MSG.motivo");
}
if (!rutaSecuenciaDAO.paradaSecuenciaValida(esquemaCorrida.getRuta(), origen, destino)){
if (!rutaSecuenciaDAO.paradaSecuenciaValida(esquemaCorrida.getRuta(), origen, destino)) {
throw new BusinessException("editarConfiguracionCorridaAsientoController.MSG.tramo");
}
hacerBloqueo(BLOQUEO_OCUPACION, esquemaCorrida, strAsiento, origen, destino, motivoOcupacion);
}
/**
* Hace la conversion de la string strAsientos en una lista de asientos
* válidos<br/>
* Hace la conversion de la string strAsientos en una lista de asientos válidos<br/>
*
* @param strAsientos
* @return
@ -212,7 +195,7 @@ public class EsquemaAsientoServiceImpl implements EsquemaAsientoService {
ini++;
}
} else {
Integer.parseInt(asientos[i]);//para validar
Integer.parseInt(asientos[i]);// para validar
todosAsientos.add(asientos[i]);
}
}

View File

@ -4,6 +4,14 @@
*/
package com.rjconsultores.ventaboletos.service.impl;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.rjconsultores.ventaboletos.dao.EsquemaCorridaDAO;
import com.rjconsultores.ventaboletos.dao.EsquemaTramoDAO;
import com.rjconsultores.ventaboletos.dao.RutaCombinacionDAO;
@ -20,12 +28,6 @@ import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.Tramo;
import com.rjconsultores.ventaboletos.service.EsquemaCorridaService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
*
@ -98,10 +100,6 @@ public class EsquemaCorridaServiceImpl implements EsquemaCorridaService {
return esquemaCorridaDAO.buscar(marca, rolOperativo, ruta, claseServicio);
}
public List<EsquemaCorrida> buscar(EsquemaCorrida ec) {
return esquemaCorridaDAO.buscar(ec);
}
public boolean buscarNumCorrida(Integer numCorrida, Integer numCorridaPisoExtra) {
return esquemaCorridaDAO.buscarNumCorrida(numCorrida, numCorridaPisoExtra);
}