fixes bug#AL-2696

master
wallace.henrique 2023-07-06 17:36:09 -03:00
parent 3810e7093f
commit ad74a4c32d
8 changed files with 136 additions and 3 deletions

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId>
<artifactId>ModelWeb</artifactId>
<version>1.6.4</version>
<version>1.6.5</version>
<distributionManagement>
<repository>
<id>rj-releases</id>

View File

@ -54,6 +54,8 @@ public interface RutaDAO extends GenericDAO<Ruta, Integer> {
public List<RutaVO> buscaRutaPorNumeroSemDadoRepetido(String palavraPesquisaRuta);
public List<RutaVO> buscaRutaParadas(Integer rotaId);
public List<Ruta> buscaRuta(String palavraPesquisaRuta);
public List<Ruta> buscaRuta(String palavraPesquisaRuta, OrgaoConcedente orgao);
@ -77,4 +79,5 @@ public interface RutaDAO extends GenericDAO<Ruta, Integer> {
public List<Ruta> buscarPorIds(Integer[] rutaIds);
public List<Ruta> buscarPorOrgaoEcasetaPeaje(OrgaoConcedente orgao, Integer[] listCasetaPeaje, Empresa empresa);
}

View File

@ -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;
@ -242,6 +243,36 @@ public class RutaHibernateDAO extends GenericHibernateDAO<Ruta, Integer> impleme
return qry.list();
}
@Override
public List<RutaVO> 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<Ruta> buscaRutasFromOrgao(OrgaoConcedente orgao) { // busca rutas e pedágios
StringBuffer hql = new StringBuffer();
hql.append("select distinct r FROM Ruta r left join r.rutaSecuenciaList rSeqList ");

View File

@ -86,6 +86,8 @@ public interface RutaService {
public List<RutaVO> buscaRutaPorNumeroSemDadoRepetido(String palavraPesquisaRuta);
public List<RutaVO> buscaRutaParadas(Integer rotaId);
public List<Ruta> buscaRuta(String palavraPesquisaRuta);
public List<Ruta> buscaRuta(String palavraPesquisaRuta, OrgaoConcedente orgao);

View File

@ -534,6 +534,11 @@ public class RutaServiceImpl implements RutaService {
return rutaDAO.buscaRutaPorNumeroSemDadoRepetido(palavraPesquisaRuta);
}
@Override
public List<RutaVO> buscaRutaParadas(Integer rotaId) {
return rutaDAO.buscaRutaParadas(rotaId);
}
public List<Ruta> buscaRuta(String palavraPesquisaRuta) {
return rutaDAO.buscaRuta(palavraPesquisaRuta);
}

View File

@ -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();
@ -39,6 +40,12 @@ public class ParadaVO {
this.paradaId = paradaId;
}
public ParadaVO(Integer paradaId, Integer rutaId) {
super();
this.paradaId = paradaId;
this.rutaId = rutaId;
}
public Integer getParadaId() {
return paradaId;
}
@ -95,4 +102,12 @@ public class ParadaVO {
this.cveestado = cveestado;
}
public Integer getRutaId() {
return rutaId;
}
public void setRutaId(Integer rutaId) {
this.rutaId = rutaId;
}
}

View File

@ -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() {
}
@ -94,6 +100,20 @@ public class RutaVO {
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;
}
@ -198,4 +218,54 @@ public class RutaVO {
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;
}
}

View File

@ -94,6 +94,13 @@ public class TramoVO implements Serializable{
}
public TramoVO( Integer origenId, Integer destinoId ) {
super();
this.origemId =origenId;
this.destinoId =destinoId;
}
public Integer getTramoId() {
return tramoId;
}