fixes bug#AL-1825

qua:
dev:

replicado a query do Total bus''TablasServiceImpl :  buscarOrigenDestinoVenta() "  na ADM, para buscar somente os destinos que faz para  a origem selecionada

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@115662 d1611594-4594-4d17-8e1d-87c2c4800839
master
wallace.novo 2022-11-29 14:25:56 +00:00
parent 69f2602b2e
commit df829456af
1 changed files with 39 additions and 7 deletions

View File

@ -4,6 +4,7 @@
*/
package com.rjconsultores.ventaboletos.dao.hibernate;
import java.util.Date;
import java.util.List;
import org.hibernate.Criteria;
@ -28,7 +29,7 @@ import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.RegionMetropolitana;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.TipoParada;
import com.rjconsultores.ventaboletos.vo.parada.ParadaVO;
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
/**
*
@ -185,12 +186,41 @@ public class ParadaHibernateDAO extends GenericHibernateDAO<Parada, Integer> imp
public List<Parada> buscarDestinosPorOrigem(Integer origenId){
StringBuilder sb = new StringBuilder();
sb.append("select distinct p.PARADA_ID as paradaId, p.CVEPARADA as cveparada, p.DESCPARADA as descparada from RUTA_COMBINACION rc ")
.append("inner join ruta r on rc.RUTA_ID=r.RUTA_ID ")
.append("inner join ESQUEMA_CORRIDA ec on r.RUTA_ID=ec.RUTA_ID ")
.append("inner join corrida c on ec.NUMCORRIDA=c.CORRIDA_ID ")
.append("inner join parada p on p.parada_id=c.DESTINO_ID ")
.append("where rc.ACTIVO = 1 and r.activo=1 and ec.activo=1 and c.activo=1 and p.activo = 1 and c.ORIGEN_ID=:origenId");
sb.append("SELECT *");
sb.append("FROM");
sb.append(" (SELECT DISTINCT pd.parada_id AS paradaId,");
sb.append(" pd.cveparada AS cveparada,");
sb.append(" pd.tipoparada_id AS potipoparada_id, ");
sb.append(" pd.descparada AS descparada ");
sb.append(" FROM ruta_combinacion rc");
sb.append(" INNER JOIN tramo t ON t.tramo_id = rc.tramo_id");
sb.append(" INNER JOIN parada po ON po.parada_id = t.origen_id");
sb.append(" INNER JOIN parada pd ON pd.parada_id = t.destino_id");
sb.append(" INNER JOIN ruta r ON r.ruta_id = rc.ruta_id");
sb.append(" INNER JOIN corrida c ON c.ruta_id = r.ruta_id");
sb.append(" WHERE rc.activo = 1");
sb.append(" AND r.activo = 1");
sb.append(" AND c.activo = 1");
sb.append(" AND po.activo = 1");
sb.append(" AND pd.activo = 1");
sb.append(" AND c.feccorrida BETWEEN :dataInicioHoje and :dataFim and po.parada_id =:origenId ");
sb.append(" UNION SELECT DISTINCT pd.parada_id AS paradaId,");
sb.append(" pd.cveparada AS cveparada,");
sb.append(" pd.tipoparada_id AS potipoparada_id,");
sb.append(" pd.descparada AS descparada ");
sb.append(" FROM conexion c");
sb.append(" INNER JOIN parada po ON po.parada_id = c.origen_id");
sb.append(" INNER JOIN parada pd ON pd.parada_id = c.destino_id");
sb.append(" INNER JOIN corrida co ON co.origen_id = c.origen_id");
sb.append(" INNER JOIN corrida_tramo ct ON co.corrida_id = ct.corrida_id");
sb.append(" WHERE 1 = 1");
sb.append(" AND c.activo = 1");
sb.append(" AND co.activo = 1");
sb.append(" AND co.activo = 1");
sb.append(" AND po.activo = 1");
sb.append(" AND pd.activo = 1");
sb.append(" AND co.feccorrida BETWEEN :dataInicioHoje and :dataFim and po.parada_id =:origenId ) a ");
sb.append(" ORDER BY a.descparada");
Query qry = getSession().createSQLQuery(sb.toString())
.addScalar("paradaId", IntegerType.INSTANCE)
@ -199,6 +229,8 @@ public class ParadaHibernateDAO extends GenericHibernateDAO<Parada, Integer> imp
.setResultTransformer(new AliasToBeanResultTransformer(Parada.class));
qry.setInteger("origenId", origenId);
qry.setDate("dataInicioHoje", new Date());
qry.setDate("dataFim", DateUtil.somarDias(new Date(), 7));
List<Parada> list = qry.list();