From ad74a4c32dc0c67c7a9b1c6fe7ad6093f3b437a5 Mon Sep 17 00:00:00 2001 From: "wallace.henrique" Date: Thu, 6 Jul 2023 17:36:09 -0300 Subject: [PATCH] fixes bug#AL-2696 --- pom.xml | 2 +- .../ventaboletos/dao/RutaDAO.java | 3 + .../dao/hibernate/RutaHibernateDAO.java | 31 ++++++++ .../ventaboletos/service/RutaService.java | 2 + .../service/impl/RutaServiceImpl.java | 5 ++ .../ventaboletos/vo/parada/ParadaVO.java | 19 ++++- .../ventaboletos/vo/ruta/RutaVO.java | 70 +++++++++++++++++++ .../ventaboletos/vo/tramo/TramoVO.java | 7 ++ 8 files changed, 136 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 87c32a507..f474240da 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 br.com.rjconsultores ModelWeb - 1.6.4 + 1.6.5 rj-releases diff --git a/src/com/rjconsultores/ventaboletos/dao/RutaDAO.java b/src/com/rjconsultores/ventaboletos/dao/RutaDAO.java index 0e34d5ade..9a0bbacad 100644 --- a/src/com/rjconsultores/ventaboletos/dao/RutaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/RutaDAO.java @@ -53,6 +53,8 @@ public interface RutaDAO extends GenericDAO { public Parada buscarDestino(Ruta ruta); public List buscaRutaPorNumeroSemDadoRepetido(String palavraPesquisaRuta); + + public List buscaRutaParadas(Integer rotaId); public List buscaRuta(String palavraPesquisaRuta); @@ -77,4 +79,5 @@ public interface RutaDAO extends GenericDAO { public List buscarPorIds(Integer[] rutaIds); public List buscarPorOrgaoEcasetaPeaje(OrgaoConcedente orgao, Integer[] listCasetaPeaje, Empresa empresa); + } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java index 383867b6a..88b230d5a 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java @@ -18,6 +18,7 @@ import org.hibernate.criterion.Projections; import org.hibernate.criterion.Restrictions; import org.hibernate.criterion.SimpleExpression; import org.hibernate.transform.AliasToBeanResultTransformer; +import org.hibernate.type.IntegerType; import org.hibernate.type.LongType; import org.hibernate.type.StringType; import org.springframework.beans.factory.annotation.Autowired; @@ -241,6 +242,36 @@ public class RutaHibernateDAO extends GenericHibernateDAO impleme qry.setResultTransformer(new AliasToBeanResultTransformer(RutaVO.class)); return qry.list(); } + + @Override + public List buscaRutaParadas(Integer rotaId) { + StringBuilder sql = new StringBuilder(); + sql.append(" SELECT r.ruta_id rutaId, R.NUMRUTA numRuta, R.PREFIXO prefixo, "); + sql.append(" r.descruta descruta, po.descparada descOrigem, pd.descparada descDestino, rc.numsecuencia numSecuencia, tr.origen_id origenId, tr.destino_id destinoId "); + sql.append(" FROM ruta r "); + sql.append(" LEFT JOIN ruta_secuencia rc ON ( rc.ruta_id = r.ruta_id AND rc.activo = 1 ) "); + sql.append(" LEFT JOIN tramo tr ON ( tr.tramo_id = rc.tramo_id AND tr.activo = 1 ) "); + sql.append(" LEFT JOIN parada po ON ( po.parada_id = tr.origen_id AND po.activo = 1 ) "); + sql.append(" LEFT JOIN parada pd ON ( pd.parada_id = tr.destino_id AND pd.activo = 1 ) "); + sql.append(" WHERE rc.ruta_id = :rotaId "); + sql.append(" ORDER BY rc.numsecuencia "); + + SQLQuery qry = getSession().createSQLQuery(sql.toString()) + .addScalar("rutaId", LongType.INSTANCE) + .addScalar("numRuta", StringType.INSTANCE) + .addScalar("prefixo", StringType.INSTANCE) + .addScalar("descruta", StringType.INSTANCE) + .addScalar("descOrigem", StringType.INSTANCE) + .addScalar("descDestino", StringType.INSTANCE) + .addScalar("numSecuencia", IntegerType.INSTANCE) + .addScalar("origenId", IntegerType.INSTANCE) + .addScalar("destinoId", IntegerType.INSTANCE); + + qry.setParameter("rotaId", rotaId); + + qry.setResultTransformer(new AliasToBeanResultTransformer(RutaVO.class)); + return qry.list(); + } public List buscaRutasFromOrgao(OrgaoConcedente orgao) { // busca rutas e pedágios StringBuffer hql = new StringBuffer(); diff --git a/src/com/rjconsultores/ventaboletos/service/RutaService.java b/src/com/rjconsultores/ventaboletos/service/RutaService.java index 0a35c0ec4..8671780a0 100644 --- a/src/com/rjconsultores/ventaboletos/service/RutaService.java +++ b/src/com/rjconsultores/ventaboletos/service/RutaService.java @@ -86,6 +86,8 @@ public interface RutaService { public List buscaRutaPorNumeroSemDadoRepetido(String palavraPesquisaRuta); + public List buscaRutaParadas(Integer rotaId); + public List buscaRuta(String palavraPesquisaRuta); public List buscaRuta(String palavraPesquisaRuta, OrgaoConcedente orgao); diff --git a/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java index 937454a2e..08d27dfdd 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java @@ -533,6 +533,11 @@ public class RutaServiceImpl implements RutaService { public List buscaRutaPorNumeroSemDadoRepetido(String palavraPesquisaRuta) { return rutaDAO.buscaRutaPorNumeroSemDadoRepetido(palavraPesquisaRuta); } + + @Override + public List buscaRutaParadas(Integer rotaId) { + return rutaDAO.buscaRutaParadas(rotaId); + } public List buscaRuta(String palavraPesquisaRuta) { return rutaDAO.buscaRuta(palavraPesquisaRuta); diff --git a/src/com/rjconsultores/ventaboletos/vo/parada/ParadaVO.java b/src/com/rjconsultores/ventaboletos/vo/parada/ParadaVO.java index fdb29fe76..19fcf445d 100644 --- a/src/com/rjconsultores/ventaboletos/vo/parada/ParadaVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/parada/ParadaVO.java @@ -11,6 +11,7 @@ public class ParadaVO { private Integer estadoId; private String nombestado; private String cveestado; + private Integer rutaId; public ParadaVO(Integer paradaId, String descparada, Integer ciudadId, String nombciudad, Integer estadoId, String nombestado, String cveestado) { super(); @@ -38,7 +39,13 @@ public class ParadaVO { super(); this.paradaId = paradaId; } - + + public ParadaVO(Integer paradaId, Integer rutaId) { + super(); + this.paradaId = paradaId; + this.rutaId = rutaId; + } + public Integer getParadaId() { return paradaId; } @@ -94,5 +101,13 @@ public class ParadaVO { public void setCveestado(String cveestado) { this.cveestado = cveestado; } - + + public Integer getRutaId() { + return rutaId; + } + + public void setRutaId(Integer rutaId) { + this.rutaId = rutaId; + } + } diff --git a/src/com/rjconsultores/ventaboletos/vo/ruta/RutaVO.java b/src/com/rjconsultores/ventaboletos/vo/ruta/RutaVO.java index 1ad16a237..325fceafa 100644 --- a/src/com/rjconsultores/ventaboletos/vo/ruta/RutaVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/ruta/RutaVO.java @@ -23,6 +23,12 @@ public class RutaVO { //campos usados nas consultas resumidas private Integer claseId; private Integer orgaoConcedenteId; + private Integer origenId; + private Integer destinoId; + private String descParada; + private Integer numSecuencia; + private String descOrigem; + private String descDestino; public RutaVO() { } @@ -93,6 +99,20 @@ public class RutaVO { this.claseId = ruta.getClaseServicio().getClaseservicioId(); this.orgaoConcedenteId = ruta.getOrgaoConcedente().getOrgaoConcedenteId(); } + + public RutaVO(Long rutaId, String numRuta, String prefixo, String descruta, String descParada, + Integer numSequencia, Integer origenId, Integer destinoId ) { + super(); + this.rutaId = rutaId; + this.numRuta = numRuta; + this.prefixo = prefixo; + this.descruta = descruta; + this.descParada = descParada; + this.numSecuencia = numSequencia; + this.origenId = origenId; + this.destinoId = destinoId; + + } public Long getRutaId() { return rutaId; @@ -197,5 +217,55 @@ public class RutaVO { public void setClaseId(Integer claseId) { this.claseId = claseId; } + + public Integer getOrigenId() { + return origenId; + } + + public void setOrigenId(Integer origenId) { + this.origenId = origenId; + } + + public Integer getDestinoId() { + return destinoId; + } + + public void setDestinoId(Integer destinoId) { + this.destinoId = destinoId; + } + + public String getDescParada() { + return descParada; + } + + public void setDescParada(String descParada) { + this.descParada = descParada; + } + + public Integer getNumSecuencia() { + return numSecuencia; + } + + public void setNumSecuencia(Integer numSecuencia) { + this.numSecuencia = numSecuencia; + } + + public String getDescOrigem() { + return descOrigem; + } + + public void setDescOrigem(String descOrigem) { + this.descOrigem = descOrigem; + } + + public String getDescDestino() { + return descDestino; + } + + public void setDescDestino(String descDestino) { + this.descDestino = descDestino; + } + + } diff --git a/src/com/rjconsultores/ventaboletos/vo/tramo/TramoVO.java b/src/com/rjconsultores/ventaboletos/vo/tramo/TramoVO.java index e11aa30d5..9a4ae82a8 100644 --- a/src/com/rjconsultores/ventaboletos/vo/tramo/TramoVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/tramo/TramoVO.java @@ -93,6 +93,13 @@ public class TramoVO implements Serializable{ this.destinoId = tramo.getDestino().getParadaId(); } + + public TramoVO( Integer origenId, Integer destinoId ) { + super(); + this.origemId =origenId; + this.destinoId =destinoId; + + } public Integer getTramoId() { return tramoId;