diff --git a/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java b/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java index d954cddfe..757901132 100644 --- a/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java @@ -33,6 +33,8 @@ public interface EsquemaCorridaDAO extends GenericDAO { public EsquemaCorrida buscaEsquemaPorRuta(Ruta ruta); + EsquemaCorrida buscaEsquemaPorRutaSemVigencia(Integer rutaId, Integer numCorrida); + public List buscarPorRuta(Ruta ruta); /** diff --git a/src/com/rjconsultores/ventaboletos/dao/RutaSecuenciaDAO.java b/src/com/rjconsultores/ventaboletos/dao/RutaSecuenciaDAO.java index 3a1d278df..8d4355870 100644 --- a/src/com/rjconsultores/ventaboletos/dao/RutaSecuenciaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/RutaSecuenciaDAO.java @@ -42,6 +42,8 @@ public interface RutaSecuenciaDAO extends GenericDAO { */ List obtenerNumRutaSecuenciaPorCorridaOrigemDestino(EsquemaCorrida esquemaCorrida, Parada origem, Parada destino); + public List obtenerNumRutaSecuenciaPorCorridaOrigemDestinoId(EsquemaCorrida esquemaCorrida, Integer origemId, Integer destinoId); + /** * Devolver los números de secuencia ocupada de ruta en la raza, el origen y el destino. * diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java index 51acf81aa..b03fe3d93 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java @@ -221,6 +221,20 @@ public class EsquemaCorridaHibernateDAO extends GenericHibernateDAO lsEsquemaCorrida; + Criteria c = makeCriteria(); + c.add(Restrictions.eq("ruta.rutaId", rutaId)); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + c.add(Restrictions.eq("numCorrida", numCorrida)); + c.setFirstResult(0); + c.setMaxResults(1); + + lsEsquemaCorrida = c.list(); + return lsEsquemaCorrida.isEmpty() ? null : lsEsquemaCorrida.get(0); + } @Override public boolean buscarNumCorrida(Integer numCorrida, Integer numCorridaPisoExtra, boolean isDoublePiso) { diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaSecuenciaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaSecuenciaHibernateDAO.java index 25b229738..fdd8242b5 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaSecuenciaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaSecuenciaHibernateDAO.java @@ -127,6 +127,30 @@ public class RutaSecuenciaHibernateDAO extends GenericHibernateDAO obtenerNumRutaSecuenciaPorCorridaOrigemDestinoId(EsquemaCorrida esquemaCorrida, Integer origemId, Integer destinoId) { + + StringBuilder queryString = new StringBuilder(""); + + queryString.append("SELECT rs.numsecuencia "); + queryString.append(" FROM EsquemaCorrida ec "); + queryString.append(" JOIN ec.ruta r "); + queryString.append(" JOIN r.rutaSecuenciaList rs "); + queryString.append(" JOIN rs.tramo t "); + queryString.append(" WHERE "); + queryString.append(" (t.origem.paradaId = :origem OR t.destino.paradaId = :destino) "); + queryString.append(" AND ec = :esquemaCorrida"); + queryString.append(" and rs.activo = 1 "); + + Query query = getSession().createQuery(queryString.toString()); + query.setParameter("esquemaCorrida", esquemaCorrida); + query.setParameter("origem", origemId); + query.setParameter("destino", destinoId); + + return query.list(); + + } + @SuppressWarnings("unchecked") public List obtenerNumRutaSecuenciaOcupadaPorCorridaAsiento(EsquemaCorrida esquemaCorrida, String asiento) { diff --git a/src/com/rjconsultores/ventaboletos/service/EsquemaCorridaService.java b/src/com/rjconsultores/ventaboletos/service/EsquemaCorridaService.java index ed4246055..e5c3c6bfa 100644 --- a/src/com/rjconsultores/ventaboletos/service/EsquemaCorridaService.java +++ b/src/com/rjconsultores/ventaboletos/service/EsquemaCorridaService.java @@ -56,4 +56,6 @@ public interface EsquemaCorridaService extends GenericService buscaDentroVigenciaQtdeDiasNotNull(Date dataDe); public EsquemaCorrida obtenerByEsquemaCorrida(Integer numCorrida); + + public EsquemaCorrida buscaEsquemaPorRutaSemVigencia(Integer rutaId, Integer numCorrida); } diff --git a/src/com/rjconsultores/ventaboletos/service/RutaSecuenciaService.java b/src/com/rjconsultores/ventaboletos/service/RutaSecuenciaService.java index ca882f5ca..2a4b64daf 100644 --- a/src/com/rjconsultores/ventaboletos/service/RutaSecuenciaService.java +++ b/src/com/rjconsultores/ventaboletos/service/RutaSecuenciaService.java @@ -31,6 +31,8 @@ public interface RutaSecuenciaService extends GenericService obtenerNumRutaSecuenciaPorCorridaOrigemDestino(EsquemaCorrida esquemaCorrida, Parada origem, Parada destino); + List obtenerNumRutaSecuenciaPorCorridaOrigemDestinoId(EsquemaCorrida esquemaCorrida, Integer origem, Integer destino); + /** * Devolver los números de secuencia ocupada de ruta en la raza, el origen y el destino. * diff --git a/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaServiceImpl.java index 39af4b8b3..364e93394 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaServiceImpl.java @@ -287,4 +287,9 @@ public class EsquemaCorridaServiceImpl implements EsquemaCorridaService { public EsquemaCorrida buscaEsquemaPorRuta(Ruta ruta) { return esquemaCorridaDAO.buscaEsquemaPorRuta(ruta); } + + @Override + public EsquemaCorrida buscaEsquemaPorRutaSemVigencia(Integer rutaId, Integer numCorrida) { + return esquemaCorridaDAO.buscaEsquemaPorRutaSemVigencia(rutaId, numCorrida); + } } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/RutaSecuenciaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/RutaSecuenciaServiceImpl.java index fca372784..eefc6aaba 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/RutaSecuenciaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/RutaSecuenciaServiceImpl.java @@ -78,4 +78,9 @@ public class RutaSecuenciaServiceImpl implements RutaSecuenciaService { public List obtenerNumRutaSecuenciaOcupadaPorCorridaAsiento(EsquemaCorrida esquemaCorrida, String asiento) { return rutaSecuenciaDAO.obtenerNumRutaSecuenciaOcupadaPorCorridaAsiento(esquemaCorrida, asiento); } + + @Override + public List obtenerNumRutaSecuenciaPorCorridaOrigemDestinoId(EsquemaCorrida esquemaCorrida, Integer origem, Integer destino){ + return rutaSecuenciaDAO.obtenerNumRutaSecuenciaPorCorridaOrigemDestinoId(esquemaCorrida, origem, destino); + } }