From 40d17badfc2bd2c3185caa5d268377d7dee32bf0 Mon Sep 17 00:00:00 2001 From: gleimar Date: Fri, 3 May 2013 22:35:53 +0000 Subject: [PATCH] =?UTF-8?q?-=20corre=C3=A7=C3=A3o=20na=20grava=C3=A7=C3=A3?= =?UTF-8?q?o=20do=20esquema=20asiento=20:=20estava=20apagando=20o=20destin?= =?UTF-8?q?o=5Fid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@26135 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ventaboletos/dao/EsquemaCorridaDAO.java | 11 +-- .../hibernate/EsquemaAsientoHibernateDAO.java | 59 ++++++------ .../hibernate/EsquemaCorridaHibernateDAO.java | 91 ------------------- .../service/EsquemaAsientoService.java | 52 +++++------ .../service/EsquemaCorridaService.java | 11 +-- .../impl/EsquemaAsientoServiceImpl.java | 87 +++++++----------- .../impl/EsquemaCorridaServiceImpl.java | 18 ++-- 7 files changed, 103 insertions(+), 226 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java b/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java index 90c8c9c9b..ee686a9be 100644 --- a/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java @@ -23,10 +23,7 @@ public interface EsquemaCorridaDAO extends GenericDAO { public List buscarPorEsquemaOperacional(EsquemaOperacional eo); - public List buscar(Marca marca, RolOperativo rolOperativo, - Ruta ruta, ClaseServicio claseServicio); - - public List buscar(EsquemaCorrida ec); + public List 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 { 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 { 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 diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaAsientoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaAsientoHibernateDAO.java index 21aabab94..5a41a4274 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaAsientoHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaAsientoHibernateDAO.java @@ -16,40 +16,39 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Repository; /** - * + * * @author Rafius */ @Repository("esquemaAsientoHibernateDAO") -public class EsquemaAsientoHibernateDAO extends GenericHibernateDAO - implements EsquemaAsientoDAO { +public class EsquemaAsientoHibernateDAO extends GenericHibernateDAO implements EsquemaAsientoDAO { - @Autowired - public EsquemaAsientoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { - setSessionFactory(factory); - } + @Autowired + public EsquemaAsientoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { + setSessionFactory(factory); + } - public List obtenerPorCorrida(EsquemaCorrida esquemaCorrida) { - Criteria c = getSession().createCriteria(getPersistentClass()); - c.add(Restrictions.eq("esquemaCorrida", esquemaCorrida)); - c.add(Restrictions.eq("activo", Boolean.TRUE)); - - return c.list(); - } + public List obtenerPorCorrida(EsquemaCorrida esquemaCorrida) { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("esquemaCorrida", esquemaCorrida)); + c.add(Restrictions.eq("activo", Boolean.TRUE)); - public EsquemaAsiento obtenerPorCorridaeAsiento(EsquemaCorrida esquemaCorrida, String asiento) { - Criteria c = getSession().createCriteria(getPersistentClass()); - c.add(Restrictions.eq("esquemaCorrida", esquemaCorrida)); - c.add(Restrictions.eq("numasiento", asiento)); - c.add(Restrictions.eq("activo", Boolean.TRUE)); - - EsquemaAsiento ea = new EsquemaAsiento(); - - List lsAsientos = c.list(); - - if (!lsAsientos.isEmpty()) { - ea = lsAsientos.get(0); - } - - return ea; - } + return c.list(); + } + + public EsquemaAsiento obtenerPorCorridaeAsiento(EsquemaCorrida esquemaCorrida, String asiento) { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("esquemaCorrida", esquemaCorrida)); + c.add(Restrictions.eq("numasiento", asiento)); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + + EsquemaAsiento ea = new EsquemaAsiento(); + + List lsAsientos = c.list(); + + if (!lsAsientos.isEmpty()) { + ea = lsAsientos.get(0); + } + + return ea; + } } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java index c32b205f0..8f4505640 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java @@ -69,97 +69,6 @@ public class EsquemaCorridaHibernateDAO extends GenericHibernateDAO 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()); diff --git a/src/com/rjconsultores/ventaboletos/service/EsquemaAsientoService.java b/src/com/rjconsultores/ventaboletos/service/EsquemaAsientoService.java index 1b8aa6786..12907a14f 100644 --- a/src/com/rjconsultores/ventaboletos/service/EsquemaAsientoService.java +++ b/src/com/rjconsultores/ventaboletos/service/EsquemaAsientoService.java @@ -12,42 +12,38 @@ import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.exception.BusinessException; /** - * + * * @author Rafius */ public interface EsquemaAsientoService { - public EsquemaAsiento obtenerID(Integer id); + public void borrar(EsquemaAsiento entidad); - public EsquemaAsiento suscribir(EsquemaAsiento entidad); + public List obtenerPorCorrida(EsquemaCorrida esquemaCorrida); - public EsquemaAsiento actualizacion(EsquemaAsiento entidad); + public EsquemaAsiento obtenerPorCorridaeAsiento(EsquemaCorrida esquemaCorrida, String asiento); - public void borrar(EsquemaAsiento entidad); - - public List obtenerPorCorrida(EsquemaCorrida esquemaCorrida); + /*** + * Hace la configuración de bloqueo de asientos de acuerdo la origen informada.
+ * + * + * + * @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 EsquemaAsiento obtenerPorCorridaeAsiento(EsquemaCorrida esquemaCorrida, String asiento); - - /*** - * Hace la configuración de bloqueo de asientos de acuerdo la origen informada.
- * - * - * - * @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; - - /** + /** * Hace la configuración de ocupación de bloqueo de asientos de acuerdo con el tramo informado (origen - destino).
* - * @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; + * @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; } diff --git a/src/com/rjconsultores/ventaboletos/service/EsquemaCorridaService.java b/src/com/rjconsultores/ventaboletos/service/EsquemaCorridaService.java index c3364ef73..9fc3b9662 100644 --- a/src/com/rjconsultores/ventaboletos/service/EsquemaCorridaService.java +++ b/src/com/rjconsultores/ventaboletos/service/EsquemaCorridaService.java @@ -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 buscarPorEsquemaOperacional(EsquemaOperacional eo); - public List buscar(Marca marca, RolOperativo rolOperativo, - Ruta ruta, ClaseServicio claseServicio); - - public List buscar(EsquemaCorrida ec); + public List buscar(Marca marca, RolOperativo rolOperativo,Ruta ruta, ClaseServicio claseServicio); public boolean buscarNumCorrida(Integer numCorrida, Integer numCorridaPisoExtra); diff --git a/src/com/rjconsultores/ventaboletos/service/impl/EsquemaAsientoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/EsquemaAsientoServiceImpl.java index 6d272015e..890bcb699 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/EsquemaAsientoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/EsquemaAsientoServiceImpl.java @@ -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,17 +77,16 @@ 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 asientos = cargarAsientos(strAsiento); - + DiagramaAutobus da = diagramaAutobusService.obtenerID(esquemaCorrida.getRolOperativo().getDiagramaAutobus().getDiagramaautobusId()); - + for (String asiento : asientos) { - + boolean vende = true; boolean existe = false; List listDda = da.getDetDiagramaAutobusList(); @@ -113,62 +98,62 @@ public class EsquemaAsientoServiceImpl implements EsquemaAsientoService { } } } - if (!existe){ + if (!existe) { throw new BusinessException("editarConfiguracionCorridaAsientoController.MSG.invalido"); } - + if (vende) { EsquemaAsiento es = new EsquemaAsiento(); es.setActivo(Boolean.TRUE); es.setFecmodif(Calendar.getInstance().getTime()); 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); - es.setMotivobloqueo(motivoOcupacion); + es.setParada(origen); + es.setDestino(destino); + es.setMotivobloqueo(motivoOcupacion); } - + es.setEsquemaCorrida(esquemaCorrida); - + EsquemaAsiento esquemaAsientoBusqueda = obtenerPorCorridaeAsiento(esquemaCorrida, asiento); if (esquemaAsientoBusqueda.getEsquemaasientoId() == null) { es = suscribir(es); - - //validação extra para garantir que salvou corretamente - if (tipoBloqueo.equals(BLOQUEO_EXCLUSIVO)){ - if ( !(es.getIndvendible() && (es.getParada() != null) && (es.getDestino() == null))){ + // validação extra para garantir que salvou corretamente + if (tipoBloqueo.equals(BLOQUEO_EXCLUSIVO)) { + + 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 { - + if (origen == null) { throw new BusinessException("editarConfiguracionCorridaAsientoController.MSG.origenObligatoria"); } @@ -178,18 +163,16 @@ public class EsquemaAsientoServiceImpl implements EsquemaAsientoService { if (StringUtils.isBlank(motivoOcupacion)) { 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
+ * Hace la conversion de la string strAsientos en una lista de asientos válidos
* * @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]); } } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaServiceImpl.java index c06111e6e..dcb590d25 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaServiceImpl.java @@ -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 buscar(EsquemaCorrida ec) { - return esquemaCorridaDAO.buscar(ec); - } - public boolean buscarNumCorrida(Integer numCorrida, Integer numCorridaPisoExtra) { return esquemaCorridaDAO.buscarNumCorrida(numCorrida, numCorridaPisoExtra); }