fixes bug#22475

dev:wilian
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@107031 d1611594-4594-4d17-8e1d-87c2c4800839
master
wilian 2021-06-02 21:33:13 +00:00
parent b210a71596
commit 6ca8a84862
14 changed files with 391 additions and 106 deletions

View File

@ -3,6 +3,8 @@ package com.rjconsultores.ventaboletos.dao;
import java.util.List; import java.util.List;
import com.rjconsultores.ventaboletos.entidad.ConexionRutaConf; import com.rjconsultores.ventaboletos.entidad.ConexionRutaConf;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.vo.parada.ConexionRutaConfVO;
public interface ConexionRutaConfDAO extends GenericDAO<ConexionRutaConf, Integer> { public interface ConexionRutaConfDAO extends GenericDAO<ConexionRutaConf, Integer> {
@ -12,4 +14,8 @@ public interface ConexionRutaConfDAO extends GenericDAO<ConexionRutaConf, Intege
public void excluirConfiguracao(ConexionRutaConf conexion, Integer usuarioId, boolean excluirConexionRutaConf); public void excluirConfiguracao(ConexionRutaConf conexion, Integer usuarioId, boolean excluirConexionRutaConf);
public ConexionRutaConfVO carregarConexoesCadastradas(Integer conexionrutaconfId);
public List<List<Ruta>> buscarRutasPorConexionConf(Integer conexionRutaConfId);
} }

View File

@ -4,11 +4,20 @@ import java.util.List;
import com.rjconsultores.ventaboletos.entidad.ConexionRutaCtrl; import com.rjconsultores.ventaboletos.entidad.ConexionRutaCtrl;
import com.rjconsultores.ventaboletos.entidad.ConexionRutaTramoCtrl; import com.rjconsultores.ventaboletos.entidad.ConexionRutaTramoCtrl;
import com.rjconsultores.ventaboletos.entidad.Parada;
public interface ConexionRutaTramoCtrlDAO extends GenericDAO<ConexionRutaTramoCtrl, Long> { public interface ConexionRutaTramoCtrlDAO extends GenericDAO<ConexionRutaTramoCtrl, Long> {
boolean validarConexioneRutasExistentes(Integer rutaOrigenId, Integer rutaDestinoId, Integer paradaOrigenId, Integer paradaDestinoId, Integer origemTrechoId, Integer destinoTrechoId, Integer destinoTrechoId2); boolean validarConexioneRutasExistentes(Integer rutaOrigenId, Integer rutaDestinoId, Integer paradaOrigenId, Integer paradaDestinoId, Integer origemTrechoId, Integer destinoTrechoId, Integer destinoTrechoId2);
List<ConexionRutaTramoCtrl> buscarPorConexionRutaCtrl(ConexionRutaCtrl conexionRutaCtrl); List<ConexionRutaTramoCtrl> buscarPorConexionRutaCtrl(ConexionRutaCtrl conexionRutaCtrl, Integer rutaId);
public List<Parada> buscarTodasLocalidadesOrigem(Integer conexionRutaConfId);
public List<Parada> buscarTodasLocalidadesDestino(Integer conexionRutaConfId);
public List<Parada> buscarTodasLocalidadesDestinoC(Integer conexionRutaConfId);
public List<Parada> buscarPorConexionRutaConf(Integer conexionRutaConfId, char tipo);
} }

View File

@ -14,7 +14,15 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.ConexionRutaConfDAO; import com.rjconsultores.ventaboletos.dao.ConexionRutaConfDAO;
import com.rjconsultores.ventaboletos.entidad.ConexionCtrl;
import com.rjconsultores.ventaboletos.entidad.ConexionRutaConf; import com.rjconsultores.ventaboletos.entidad.ConexionRutaConf;
import com.rjconsultores.ventaboletos.entidad.ConexionRutaCtrl;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.vo.parada.ConexionCtrlVO;
import com.rjconsultores.ventaboletos.vo.parada.ConexionRutaConfVO;
import com.rjconsultores.ventaboletos.vo.parada.ConexionRutaCtrlVO;
import com.rjconsultores.ventaboletos.vo.parada.ParadaVOConexionRuta;
@Repository("conexionRutaConfDAO") @Repository("conexionRutaConfDAO")
public class ConexionRutaConfHibernateDAO extends GenericHibernateDAO<ConexionRutaConf, Integer> implements ConexionRutaConfDAO { public class ConexionRutaConfHibernateDAO extends GenericHibernateDAO<ConexionRutaConf, Integer> implements ConexionRutaConfDAO {
@ -131,4 +139,134 @@ public class ConexionRutaConfHibernateDAO extends GenericHibernateDAO<ConexionRu
return comandos; return comandos;
} }
@SuppressWarnings("unchecked")
@Override
public ConexionRutaConfVO carregarConexoesCadastradas(Integer conexionrutaconfId) {
ConexionRutaConfVO retorno = new ConexionRutaConfVO();
if(conexionrutaconfId == null) {
return retorno;
}
StringBuilder sQuery = new StringBuilder();
sQuery.append("select ctrl.conexionrutatramoctrl_id conexionrutatramoctrlId, r.ruta_id rutaId, r.numruta, ")
.append("case when coalesce(r.indsentidoida,1) = 1 then 'IDA' else 'VOLTA' end sentido, ")
.append("ori.cveparada cveparadaOri, ori.parada_id paradaIdOri, ori.descparada descparadaOri, ")
.append("des.cveparada cveparadaDes, des.parada_id paradaIdDes, des.descparada descparadaDes, ")
.append("oriT.cveparada cveparadaOriT, oriT.parada_id paradaIdOriT, oriT.descparada descparadaOriT, ")
.append("desT.cveparada cveparadaDesT, desT.parada_id paradaIdDesT, desT.descparada descparadaDesT, ")
.append("co.numgrupo, co.numsecuencia, ctr.ruta_origen_id rutaOrigenId, ctr.ruta_destino_id rutaDestinoId, ")
.append("ctr.ruta_destinoc_id rutaDestinoCId ")
.append("from conexion_ruta_tramo_ctrl ctrl ")
.append("join ruta r on r.ruta_id = ctrl.ruta_id ")
.append("join conexion_ruta_ctrl ctr on ctr.conexionrutactrl_id = ctrl.conexionrutactrl_id ")
.append("join conexion_ruta_conf conf on conf.conexionrutaconf_id = ctr.conexionrutaconf_id ")
.append("join conexion co on co.conexionrutatramoctrl_id = ctrl.conexionrutatramoctrl_id and co.activo = 1 ")
.append("join conexion_ctrl coctrl on coctrl.conexionctrl_id = co.conexionctrl_id and co.activo = 1 ")
.append("join parada ori on ori.parada_id = ctrl.origen_id ")
.append("join parada des on des.parada_id = ctrl.destino_id ")
.append("join parada oriT on oriT.parada_id = coctrl.origen_id ")
.append("join parada desT on desT.parada_id = coctrl.destino_id ")
.append("where ctrl.activo = 1 ")
.append("and conf.conexionrutaconf_id = :conexionrutaconfId ");
Query qr = getSession().createSQLQuery(sQuery.toString());
qr.setParameter("conexionrutaconfId", conexionrutaconfId);
List<ParadaVOConexionRuta> localidadesCombinadas = new ArrayList<ParadaVOConexionRuta>(0);
List<ConexionCtrl> listConexionCtrl = new ArrayList<ConexionCtrl>(0);
List<ConexionCtrlVO> listConexionCtrlVO = new ArrayList<ConexionCtrlVO>(0);
List<Object[]> result = qr.list();
for (Object[] tupla : result) {
Long conexionRutaTramoId = Long.valueOf(tupla[0].toString());
Integer rutaId = Integer.valueOf(tupla[1].toString());
String numRuta = tupla[2].toString();
String sentido = tupla[3].toString();
Parada paradaOrigem = new Parada(Integer.valueOf(tupla[4].toString()), tupla[5].toString(), tupla[6].toString());
Parada paradaDestino = new Parada(Integer.valueOf(tupla[7].toString()), tupla[8].toString(), tupla[9].toString());
Parada paradaOrigemTrecho = new Parada(Integer.valueOf(tupla[10].toString()), tupla[11].toString(), tupla[12].toString());
Parada paradaDestinoTrecho = new Parada(Integer.valueOf(tupla[13].toString()), tupla[14].toString(), tupla[15].toString());
Integer grupo = Integer.valueOf(tupla[16].toString());
Short secuencia = Short.valueOf(tupla[17].toString());
Integer rutaOrigemId = Integer.valueOf(tupla[18].toString());
Integer rutaDestinoId = Integer.valueOf(tupla[19].toString());
Integer rutaDestinoCId = null;
if(tupla[20] != null) {
rutaDestinoCId = Integer.valueOf(tupla[20].toString());
}
ConexionCtrlVO conexionCtrl = recuperarConexionCtrlVO(listConexionCtrlVO, listConexionCtrl, paradaOrigemTrecho.getParadaId(), paradaDestinoTrecho.getParadaId());
ConexionRutaCtrlVO conexionRutaCtrl = new ConexionRutaCtrlVO(rutaOrigemId, rutaDestinoId, rutaDestinoCId);
ParadaVOConexionRuta trecho = new ParadaVOConexionRuta(grupo, paradaOrigem, paradaDestino, rutaId, numRuta, secuencia, true, paradaOrigemTrecho, paradaDestinoTrecho, conexionCtrl, conexionRutaCtrl, sentido);
trecho.setConexionRutaTramoId(conexionRutaTramoId);
localidadesCombinadas.add(trecho);
}
retorno.setListConexionCtrl(listConexionCtrl);
retorno.setLocalidadesCombinadas(localidadesCombinadas);
return retorno;
}
private ConexionCtrlVO recuperarConexionCtrlVO(List<ConexionCtrlVO> listConexionCtrlVO, List<ConexionCtrl> listConexionCtrl, Integer origemConexaoCtrl, Integer destinoConexaoCtrl) {
for (ConexionCtrlVO conexionCtrlTemp : listConexionCtrlVO) {
if(conexionCtrlTemp.isOrigemDestinoIgual(origemConexaoCtrl, destinoConexaoCtrl)) {
return conexionCtrlTemp;
}
}
ConexionCtrlVO conexionCtrlVO = new ConexionCtrlVO(origemConexaoCtrl, destinoConexaoCtrl);
listConexionCtrlVO.add(conexionCtrlVO);
listConexionCtrl.add(new ConexionCtrl(origemConexaoCtrl, destinoConexaoCtrl, null));
return conexionCtrlVO;
}
@Override
@SuppressWarnings("unchecked")
public List<List<Ruta>> buscarRutasPorConexionConf(Integer conexionRutaConfId) {
StringBuilder sQuery = new StringBuilder("SELECT ctrl ");
sQuery.append("FROM ConexionRutaCtrl ctrl ")
.append("WHERE ctrl.activo = 1 ")
.append("AND ctrl.conexionRutaConf.conexionRutaConfId = :conexionRutaConfId ");
Query qr = getSession().createQuery(sQuery.toString());
qr.setParameter("conexionRutaConfId", conexionRutaConfId);
List<ConexionRutaCtrl> result = qr.list();
List<Ruta> lsRutaOrigem = new ArrayList<Ruta>();
List<Ruta> lsRutaDestino = new ArrayList<Ruta>();
List<Ruta> lsRutaDestinoC = new ArrayList<Ruta>();
for (ConexionRutaCtrl conexionRutaCtrl : result) {
if(!lsRutaOrigem.contains(conexionRutaCtrl.getRutaOrigen())) {
lsRutaOrigem.add(conexionRutaCtrl.getRutaOrigen());
}
if(!lsRutaDestino.contains(conexionRutaCtrl.getRutaDestino())) {
lsRutaDestino.add(conexionRutaCtrl.getRutaDestino());
}
if(conexionRutaCtrl.getRutaDestinoC() != null && !lsRutaDestinoC.contains(conexionRutaCtrl.getRutaDestinoC())) {
lsRutaDestinoC.add(conexionRutaCtrl.getRutaDestinoC());
}
}
List<List<Ruta>> retorno = new ArrayList<List<Ruta>>();
retorno.add(lsRutaOrigem);
retorno.add(lsRutaDestino);
retorno.add(lsRutaDestinoC);
return retorno;
}
} }

View File

@ -1,6 +1,9 @@
package com.rjconsultores.ventaboletos.dao.hibernate; package com.rjconsultores.ventaboletos.dao.hibernate;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set;
import org.hibernate.Criteria; import org.hibernate.Criteria;
import org.hibernate.Query; import org.hibernate.Query;
@ -13,6 +16,8 @@ import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.ConexionRutaTramoCtrlDAO; import com.rjconsultores.ventaboletos.dao.ConexionRutaTramoCtrlDAO;
import com.rjconsultores.ventaboletos.entidad.ConexionRutaCtrl; import com.rjconsultores.ventaboletos.entidad.ConexionRutaCtrl;
import com.rjconsultores.ventaboletos.entidad.ConexionRutaTramoCtrl; import com.rjconsultores.ventaboletos.entidad.ConexionRutaTramoCtrl;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Tramo;
@Repository("conexionRutaTramoCtrlDAO") @Repository("conexionRutaTramoCtrlDAO")
public class ConexionRutaTramoCtrlHibernateDAO extends GenericHibernateDAO<ConexionRutaTramoCtrl, Long> implements ConexionRutaTramoCtrlDAO { public class ConexionRutaTramoCtrlHibernateDAO extends GenericHibernateDAO<ConexionRutaTramoCtrl, Long> implements ConexionRutaTramoCtrlDAO {
@ -49,13 +54,106 @@ public class ConexionRutaTramoCtrlHibernateDAO extends GenericHibernateDAO<Conex
} }
@Override @Override
public List<ConexionRutaTramoCtrl> buscarPorConexionRutaCtrl(ConexionRutaCtrl conexionRutaCtrl) { public List<ConexionRutaTramoCtrl> buscarPorConexionRutaCtrl(ConexionRutaCtrl conexionRutaCtrl, Integer rutaId) {
Criteria c = getSession().createCriteria(getPersistentClass()); Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.eq("conexionRutaCtrl", conexionRutaCtrl)); c.add(Restrictions.eq("conexionRutaCtrl", conexionRutaCtrl));
c.add(Restrictions.eq("ruta.rutaId", rutaId));
return c.list(); return c.list();
} }
@Override
public List<Parada> buscarTodasLocalidadesOrigem(Integer conexionRutaConfId) {
return carregarParadas(conexionRutaConfId, 'A');
}
@Override
public List<Parada> buscarTodasLocalidadesDestino(Integer conexionRutaConfId) {
return carregarParadas(conexionRutaConfId, 'B');
}
@Override
public List<Parada> buscarTodasLocalidadesDestinoC(Integer conexionRutaConfId) {
return carregarParadas(conexionRutaConfId, 'C');
}
@SuppressWarnings("unchecked")
private List<Parada> carregarParadas(Integer conexionRutaConfId, char tipo) {
StringBuilder sQuery = new StringBuilder();
sQuery.append("SELECT DISTINCT t ")
.append("FROM ConexionRutaCtrl ctrl ");
switch (tipo) {
case 'A':
sQuery.append("JOIN ctrl.rutaOrigen r ");
break;
case 'B':
sQuery.append("JOIN ctrl.rutaDestino r ");
break;
case 'C':
sQuery.append("JOIN ctrl.rutaDestinoC r ");
break;
}
sQuery.append("JOIN r.rutaCombinacionList rc ")
.append("JOIN rc.tramo t ")
.append("WHERE ctrl.activo = 1 ")
.append("AND rc.activo = 1 ")
.append("AND t.activo = 1 ")
.append("AND ctrl.conexionRutaConf.conexionRutaConfId = :conexionRutaConfId");
Query qr = getSession().createQuery(sQuery.toString());
qr.setParameter("conexionRutaConfId", conexionRutaConfId);
List<Tramo> listTramos = qr.list();
Set<Parada> paradas = new HashSet<Parada>();
for (Tramo tramo : listTramos) {
paradas.add(tramo.getOrigem());
paradas.add(tramo.getDestino());
}
return new ArrayList<Parada>(paradas);
}
@Override
@SuppressWarnings("unchecked")
public List<Parada> buscarPorConexionRutaConf(Integer conexionRutaConfId, char tipo) {
String filtro = "";
String join = "";
switch (tipo) {
case 'A':
filtro = "AND ctrlt.ruta = ctrl.rutaOrigen ";
join = "JOIN ctrlt.origen p ";
break;
case 'B':
filtro = "AND ctrlt.ruta = ctrl.rutaDestino ";
join = "JOIN ctrlt.destino p ";
break;
case 'C':
filtro = "AND ctrlt.ruta = ctrl.rutaDestinoC ";
join = "JOIN ctrlt.destino p ";
break;
}
StringBuilder sQuery = new StringBuilder();
sQuery.append("SELECT DISTINCT p ")
.append("FROM ConexionRutaTramoCtrl ctrlt ")
.append(join)
.append("JOIN ctrlt.conexionRutaCtrl ctrl ")
.append("WHERE ctrlt.activo = 1")
.append("AND ctrl.activo = 1")
.append("AND ctrl.conexionRutaConf.conexionRutaConfId = :conexionRutaConfId ")
.append(filtro);
Query qr = getSession().createQuery(sQuery.toString());
qr.setParameter("conexionRutaConfId", conexionRutaConfId);
List<Parada> paradas = qr.list();
return paradas;
}
} }

View File

@ -95,7 +95,7 @@ public class ConexionCtrl implements Serializable {
@Override @Override
public int hashCode() { public int hashCode() {
int hash = 0; int hash = 0;
hash += (conexionctrlId != null ? conexionctrlId.hashCode() : 0); hash += (getConexionctrlId() != null ? getConexionctrlId().hashCode() : 0);
return hash; return hash;
} }
@ -105,7 +105,7 @@ public class ConexionCtrl implements Serializable {
return false; return false;
} }
ConexionCtrl other = (ConexionCtrl) object; ConexionCtrl other = (ConexionCtrl) object;
if ((this.conexionctrlId == null && other.conexionctrlId != null) || (this.conexionctrlId != null && !this.conexionctrlId.equals(other.conexionctrlId))) { if ((this.getConexionctrlId() == null && other.getConexionctrlId() != null) || (this.getConexionctrlId() != null && !this.getConexionctrlId().equals(other.getConexionctrlId()))) {
return false; return false;
} }
return true; return true;

View File

@ -39,12 +39,18 @@ public class ConexionRutaCtrl implements Serializable {
private Date fecmodif; private Date fecmodif;
@Column(name = "USUARIO_ID") @Column(name = "USUARIO_ID")
private Integer usuarioId; private Integer usuarioId;
@Column(name = "RUTA_ORIGEN_ID")
private Integer rutaOrigenId; @ManyToOne
@Column(name = "RUTA_DESTINO_ID") @JoinColumn(name = "RUTA_ORIGEN_ID")
private Integer rutaDestinoId; private Ruta rutaOrigen;
@Column(name = "RUTA_DESTINOC_ID")
private Integer rutaDestinoCId; @ManyToOne
@JoinColumn(name = "RUTA_DESTINO_ID")
private Ruta rutaDestino;
@ManyToOne
@JoinColumn(name = "RUTA_DESTINOC_ID")
private Ruta rutaDestinoC;
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "CONEXIONRUTACONF_ID") @JoinColumn(name = "CONEXIONRUTACONF_ID")
@ -86,30 +92,6 @@ public class ConexionRutaCtrl implements Serializable {
this.usuarioId = usuarioId; this.usuarioId = usuarioId;
} }
public Integer getRutaOrigenId() {
return rutaOrigenId;
}
public void setRutaOrigenId(Integer rutaOrigenId) {
this.rutaOrigenId = rutaOrigenId;
}
public Integer getRutaDestinoId() {
return rutaDestinoId;
}
public void setRutaDestinoId(Integer rutaDestinoId) {
this.rutaDestinoId = rutaDestinoId;
}
public Integer getRutaDestinoCId() {
return rutaDestinoCId;
}
public void setRutaDestinoCId(Integer rutaDestinoCId) {
this.rutaDestinoCId = rutaDestinoCId;
}
public ConexionRutaConf getConexionRutaConf() { public ConexionRutaConf getConexionRutaConf() {
return conexionRutaConf; return conexionRutaConf;
} }
@ -146,18 +128,18 @@ public class ConexionRutaCtrl implements Serializable {
public static ConexionRutaCtrl getConexionRutaCtrl(List<ConexionRutaCtrl> list, Integer... rutas) { public static ConexionRutaCtrl getConexionRutaCtrl(List<ConexionRutaCtrl> list, Integer... rutas) {
if(rutas != null && rutas.length > 1) { if(rutas != null && rutas.length > 1) {
for (ConexionRutaCtrl conexionRutaCtrl : list) { for (ConexionRutaCtrl conexionRutaCtrl : list) {
boolean isMatched = conexionRutaCtrl.getRutaOrigenId() != null && conexionRutaCtrl.getRutaOrigenId().equals(rutas[0]); boolean isMatched = conexionRutaCtrl.getRutaOrigen() != null && conexionRutaCtrl.getRutaOrigen().getRutaId().equals(rutas[0]);
if(!isMatched) { if(!isMatched) {
continue; continue;
} }
isMatched = conexionRutaCtrl.getRutaDestinoId() != null && conexionRutaCtrl.getRutaDestinoId().equals(rutas[1]); isMatched = conexionRutaCtrl.getRutaDestino() != null && conexionRutaCtrl.getRutaDestino().getRutaId().equals(rutas[1]);
if(!isMatched) { if(!isMatched) {
continue; continue;
} }
if(rutas.length > 2 && conexionRutaCtrl.getRutaDestinoCId() != null) { if(rutas.length > 2 && conexionRutaCtrl.getRutaDestinoC() != null) {
isMatched = conexionRutaCtrl.getRutaDestinoCId().equals(rutas[2]); isMatched = conexionRutaCtrl.getRutaDestinoC().getRutaId().equals(rutas[2]);
} }
if(isMatched) { if(isMatched) {
@ -168,4 +150,28 @@ public class ConexionRutaCtrl implements Serializable {
throw new RuntimeException("ConexionRutaCtrl não identificada"); throw new RuntimeException("ConexionRutaCtrl não identificada");
} }
public Ruta getRutaOrigen() {
return rutaOrigen;
}
public void setRutaOrigen(Ruta rutaOrigen) {
this.rutaOrigen = rutaOrigen;
}
public Ruta getRutaDestino() {
return rutaDestino;
}
public void setRutaDestino(Ruta rutaDestino) {
this.rutaDestino = rutaDestino;
}
public Ruta getRutaDestinoC() {
return rutaDestinoC;
}
public void setRutaDestinoC(Ruta rutaDestinoC) {
this.rutaDestinoC = rutaDestinoC;
}
} }

View File

@ -121,6 +121,12 @@ public class Parada implements Serializable, Auditavel<Parada> {
this.paradaId = paradaId; this.paradaId = paradaId;
} }
public Parada(Integer paradaId, String cveparada, String descparada) {
this(paradaId);
this.cveparada = cveparada;
this.descparada = descparada;
}
public List<CategoriaMercado> getCategoriaMercadoDestinoList() { public List<CategoriaMercado> getCategoriaMercadoDestinoList() {
return categoriaMercadoDestinoList; return categoriaMercadoDestinoList;
} }

View File

@ -5,7 +5,9 @@ import java.util.List;
import com.rjconsultores.ventaboletos.entidad.ConexionCtrl; import com.rjconsultores.ventaboletos.entidad.ConexionCtrl;
import com.rjconsultores.ventaboletos.entidad.ConexionRutaConf; import com.rjconsultores.ventaboletos.entidad.ConexionRutaConf;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta; import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta;
import com.rjconsultores.ventaboletos.vo.parada.ConexionRutaConfVO;
import com.rjconsultores.ventaboletos.vo.parada.ConexionRutaCtrlVO; import com.rjconsultores.ventaboletos.vo.parada.ConexionRutaCtrlVO;
import com.rjconsultores.ventaboletos.vo.parada.ParadaVOConexionRuta; import com.rjconsultores.ventaboletos.vo.parada.ParadaVOConexionRuta;
@ -32,4 +34,8 @@ public interface ConexionRutaConfService {
public void excluirConfiguracao(ConexionRutaConf conexion, boolean excluirConexionRutaConf); public void excluirConfiguracao(ConexionRutaConf conexion, boolean excluirConexionRutaConf);
public ConexionRutaConfVO carregarConexoesCadastradas(Integer conexionrutaconfId);
public List<List<Ruta>> buscarRutasPorConexionConf(Integer conexionRutaConfId);
} }

View File

@ -8,9 +8,6 @@ import com.rjconsultores.ventaboletos.vo.conexion.ConexionRutaVO;
public interface ConexionRutaCtrlService { public interface ConexionRutaCtrlService {
public void gerarConexiones();
public ConexionRutaCtrl suscribir(ConexionRutaCtrl conexion); public ConexionRutaCtrl suscribir(ConexionRutaCtrl conexion);
public ConexionRutaCtrl actualizacion(ConexionRutaCtrl conexion); public ConexionRutaCtrl actualizacion(ConexionRutaCtrl conexion);
@ -19,7 +16,6 @@ public interface ConexionRutaCtrlService {
public List<ConexionRutaCtrl> buscarPorConexionCtrl(Long conexcionCtrlId); public List<ConexionRutaCtrl> buscarPorConexionCtrl(Long conexcionCtrlId);
public void borrar(List<ConexionRutaCtrl> lsConexion); public void borrar(List<ConexionRutaCtrl> lsConexion);
public void suscribirTodos(List<ConexionRutaCtrl> conexiones); public void suscribirTodos(List<ConexionRutaCtrl> conexiones);
@ -28,8 +24,6 @@ public interface ConexionRutaCtrlService {
public List<ConexionRutaVO> buscarConexionesValidas(Integer rutaOrigemId, Integer rutaDestinoId); public List<ConexionRutaVO> buscarConexionesValidas(Integer rutaOrigemId, Integer rutaDestinoId);
public List<ConexionRutaCtrl> buscarPorConexionConf(ConexionRutaConf conexionRutaConf); public List<ConexionRutaCtrl> buscarPorConexionConf(ConexionRutaConf conexionRutaConf);
} }

View File

@ -8,15 +8,13 @@ import com.rjconsultores.ventaboletos.entidad.Parada;
public interface ConexionRutaTramoCtrlService { public interface ConexionRutaTramoCtrlService {
public void gerarConexiones();
public ConexionRutaTramoCtrl suscribir(ConexionRutaTramoCtrl conexion); public ConexionRutaTramoCtrl suscribir(ConexionRutaTramoCtrl conexion);
public ConexionRutaTramoCtrl actualizacion(ConexionRutaTramoCtrl conexion); public ConexionRutaTramoCtrl actualizacion(ConexionRutaTramoCtrl conexion);
public void borrar(ConexionRutaTramoCtrl conexion); public void borrar(ConexionRutaTramoCtrl conexion);
public List<ConexionRutaTramoCtrl> buscarPorConexionRutaCtrl(ConexionRutaCtrl conexionRutaCtrl); public List<ConexionRutaTramoCtrl> buscarPorConexionRutaCtrl(ConexionRutaCtrl conexionRutaCtrl, Integer rutaId);
public void borrar(List<ConexionRutaTramoCtrl> lsConexion); public void borrar(List<ConexionRutaTramoCtrl> lsConexion);
@ -26,9 +24,16 @@ public interface ConexionRutaTramoCtrlService {
public boolean validarConexioneRutasExistentes(Integer rutaOrigenId, Integer rutaDestinoId, Integer paradaOrigenId, Integer paradaDestinoId, Integer origemTrechoId, Integer destinoTrechoId, Integer integer); public boolean validarConexioneRutasExistentes(Integer rutaOrigenId, Integer rutaDestinoId, Integer paradaOrigenId, Integer paradaDestinoId, Integer origemTrechoId, Integer destinoTrechoId, Integer integer);
public List<Parada> buscarLocalidadesOrigem(ConexionRutaCtrl conexionRutaCtrl); public List<Parada> buscarLocalidadesOrigem(Integer conexionRutaConfId);
public List<Parada> buscarLocalidadesDestino(ConexionRutaCtrl conexionRutaCtrl); public List<Parada> buscarLocalidadesDestino(Integer conexionRutaConfId);
public List<Parada> buscarLocalidadesDestinoC(Integer conexionRutaConfId);
public List<Parada> buscarTodasLocalidadesOrigem(Integer conexionRutaConfId);
public List<Parada> buscarTodasLocalidadesDestino(Integer conexionRutaConfId);
public List<Parada> buscarTodasLocalidadesDestinoC(Integer conexionRutaConfId);
public List<Parada> buscarLocalidadesDestinoC(ConexionRutaCtrl conexionRutaCtrl);
} }

View File

@ -29,6 +29,7 @@ import com.rjconsultores.ventaboletos.service.ConexionRutaExcepcionTipoPtoVtaSer
import com.rjconsultores.ventaboletos.service.ConexionRutaTramoCtrlService; import com.rjconsultores.ventaboletos.service.ConexionRutaTramoCtrlService;
import com.rjconsultores.ventaboletos.service.ConexionService; import com.rjconsultores.ventaboletos.service.ConexionService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.vo.parada.ConexionRutaConfVO;
import com.rjconsultores.ventaboletos.vo.parada.ConexionRutaCtrlVO; import com.rjconsultores.ventaboletos.vo.parada.ConexionRutaCtrlVO;
import com.rjconsultores.ventaboletos.vo.parada.ParadaVOConexionRuta; import com.rjconsultores.ventaboletos.vo.parada.ParadaVOConexionRuta;
@ -172,9 +173,11 @@ public class ConexionRutaConfServiceImpl implements ConexionRutaConfService {
List<ConexionRutaCtrl> lsConexionRutaCtrl = new ArrayList<ConexionRutaCtrl>(); List<ConexionRutaCtrl> lsConexionRutaCtrl = new ArrayList<ConexionRutaCtrl>();
for (ConexionRutaCtrlVO conexionRutaCtrlVO : rutas) { for (ConexionRutaCtrlVO conexionRutaCtrlVO : rutas) {
ConexionRutaCtrl conexionRutaCtrl = new ConexionRutaCtrl(); ConexionRutaCtrl conexionRutaCtrl = new ConexionRutaCtrl();
conexionRutaCtrl.setRutaOrigenId(conexionRutaCtrlVO.getRutaIdA()); conexionRutaCtrl.setRutaOrigen(new Ruta(conexionRutaCtrlVO.getRutaIdA()));
conexionRutaCtrl.setRutaDestinoId(conexionRutaCtrlVO.getRutaIdB()); conexionRutaCtrl.setRutaDestino(new Ruta(conexionRutaCtrlVO.getRutaIdB()));
conexionRutaCtrl.setRutaDestinoCId(conexionRutaCtrlVO.getRutaIdC()); if(conexionRutaCtrlVO.getRutaIdC() != null) {
conexionRutaCtrl.setRutaDestinoC(new Ruta(conexionRutaCtrlVO.getRutaIdC()));
}
conexionRutaCtrl.setConexionRutaConf(conexionRutaConf); conexionRutaCtrl.setConexionRutaConf(conexionRutaConf);
conexionRutaCtrl = conexionRutaCtrlService.suscribir(conexionRutaCtrl); conexionRutaCtrl = conexionRutaCtrlService.suscribir(conexionRutaCtrl);
lsConexionRutaCtrl.add(conexionRutaCtrl); lsConexionRutaCtrl.add(conexionRutaCtrl);
@ -265,4 +268,14 @@ public class ConexionRutaConfServiceImpl implements ConexionRutaConfService {
return list; return list;
} }
@Override
public ConexionRutaConfVO carregarConexoesCadastradas(Integer conexionrutaconfId) {
return conexionRutaConfDAO.carregarConexoesCadastradas(conexionrutaconfId);
}
@Override
public List<List<Ruta>> buscarRutasPorConexionConf(Integer conexionRutaConfId) {
return conexionRutaConfDAO.buscarRutasPorConexionConf(conexionRutaConfId);
}
} }

View File

@ -20,12 +20,6 @@ public class ConexionRutaCtrlServiceImpl implements ConexionRutaCtrlService {
@Autowired @Autowired
private ConexionRutaCtrlDAO conexionRutaCtrlDAO; private ConexionRutaCtrlDAO conexionRutaCtrlDAO;
@Override
public void gerarConexiones() {
// TODO Auto-generated method stub
}
@Override @Override
@Transactional @Transactional
public ConexionRutaCtrl suscribir(ConexionRutaCtrl conexionRutaCtrl) { public ConexionRutaCtrl suscribir(ConexionRutaCtrl conexionRutaCtrl) {

View File

@ -1,6 +1,5 @@
package com.rjconsultores.ventaboletos.service.impl; package com.rjconsultores.ventaboletos.service.impl;
import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.List; import java.util.List;
@ -21,12 +20,6 @@ public class ConexionRutaTramoCtrlServiceImpl implements ConexionRutaTramoCtrlSe
@Autowired @Autowired
private ConexionRutaTramoCtrlDAO conexionRutaTramoCtrlDAO; private ConexionRutaTramoCtrlDAO conexionRutaTramoCtrlDAO;
@Override
public void gerarConexiones() {
// TODO Auto-generated method stub
}
@Override @Override
@Transactional @Transactional
public ConexionRutaTramoCtrl suscribir(ConexionRutaTramoCtrl conexionRutaTramoCtrl) { public ConexionRutaTramoCtrl suscribir(ConexionRutaTramoCtrl conexionRutaTramoCtrl) {
@ -57,8 +50,8 @@ public class ConexionRutaTramoCtrlServiceImpl implements ConexionRutaTramoCtrlSe
} }
@Override @Override
public List<ConexionRutaTramoCtrl> buscarPorConexionRutaCtrl(ConexionRutaCtrl conexionRutaCtrl) { public List<ConexionRutaTramoCtrl> buscarPorConexionRutaCtrl(ConexionRutaCtrl conexionRutaCtrl, Integer rutaId) {
return conexionRutaTramoCtrlDAO.buscarPorConexionRutaCtrl(conexionRutaCtrl); return conexionRutaTramoCtrlDAO.buscarPorConexionRutaCtrl(conexionRutaCtrl, rutaId);
} }
@Transactional @Transactional
@ -75,7 +68,6 @@ public class ConexionRutaTramoCtrlServiceImpl implements ConexionRutaTramoCtrlSe
for (ConexionRutaTramoCtrl conexion : lsConexionRutaTramoCtrl) { for (ConexionRutaTramoCtrl conexion : lsConexionRutaTramoCtrl) {
suscribir(conexion); suscribir(conexion);
} }
} }
@Override @Override
@ -89,49 +81,33 @@ public class ConexionRutaTramoCtrlServiceImpl implements ConexionRutaTramoCtrlSe
} }
@Override @Override
public List<Parada> buscarLocalidadesOrigem(ConexionRutaCtrl conexionRutaCtrl) { public List<Parada> buscarLocalidadesOrigem(Integer conexionRutaConfId) {
return carregarParadas(conexionRutaCtrl, 'A'); return conexionRutaTramoCtrlDAO.buscarPorConexionRutaConf(conexionRutaConfId, 'A');
} }
@Override @Override
public List<Parada> buscarLocalidadesDestino(ConexionRutaCtrl conexionRutaCtrl) { public List<Parada> buscarLocalidadesDestino(Integer conexionRutaConfId) {
return carregarParadas(conexionRutaCtrl, 'B'); return conexionRutaTramoCtrlDAO.buscarPorConexionRutaConf(conexionRutaConfId, 'B');
} }
@Override @Override
public List<Parada> buscarLocalidadesDestinoC(ConexionRutaCtrl conexionRutaCtrl) { public List<Parada> buscarLocalidadesDestinoC(Integer conexionRutaConfId) {
return carregarParadas(conexionRutaCtrl, 'C'); return conexionRutaTramoCtrlDAO.buscarPorConexionRutaConf(conexionRutaConfId, 'C');
} }
private List<Parada> carregarParadas(ConexionRutaCtrl conexionRutaCtrl, char tipo) { @Override
List<Parada> paradas = new ArrayList<Parada>(0); public List<Parada> buscarTodasLocalidadesOrigem(Integer conexionRutaConfId) {
List<ConexionRutaTramoCtrl> trechos = buscarPorConexionRutaCtrl(conexionRutaCtrl); return conexionRutaTramoCtrlDAO.buscarTodasLocalidadesOrigem(conexionRutaConfId);
for (ConexionRutaTramoCtrl conexionRutaTramoCtrl : trechos) {
if(conexionRutaTramoCtrl.getRuta() != null) {
switch (tipo) {
case 'A':
if(conexionRutaTramoCtrl.getRuta().getRutaId().equals(conexionRutaCtrl.getRutaOrigenId()) &&
!paradas.contains(conexionRutaTramoCtrl.getOrigen())) {
paradas.add(conexionRutaTramoCtrl.getOrigen());
}
break;
case 'B':
if(conexionRutaTramoCtrl.getRuta().getRutaId().equals(conexionRutaCtrl.getRutaDestinoId()) &&
!paradas.contains(conexionRutaTramoCtrl.getDestino())) {
paradas.add(conexionRutaTramoCtrl.getDestino());
}
break;
case 'C':
if(conexionRutaCtrl.getRutaDestinoCId() != null &&
conexionRutaTramoCtrl.getRuta().getRutaId().equals(conexionRutaCtrl.getRutaDestinoCId()) &&
!paradas.contains(conexionRutaTramoCtrl.getDestino())) {
paradas.add(conexionRutaTramoCtrl.getDestino());
}
break;
}
}
}
return paradas;
} }
@Override
public List<Parada> buscarTodasLocalidadesDestino(Integer conexionRutaConfId) {
return conexionRutaTramoCtrlDAO.buscarTodasLocalidadesDestino(conexionRutaConfId);
}
@Override
public List<Parada> buscarTodasLocalidadesDestinoC(Integer conexionRutaConfId) {
return conexionRutaTramoCtrlDAO.buscarTodasLocalidadesDestinoC(conexionRutaConfId);
}
} }

View File

@ -0,0 +1,34 @@
package com.rjconsultores.ventaboletos.vo.parada;
import java.util.ArrayList;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.ConexionCtrl;
public class ConexionRutaConfVO {
private List<ParadaVOConexionRuta> localidadesCombinadas;
private List<ConexionCtrl> listConexionCtrl;
public ConexionRutaConfVO() {
localidadesCombinadas = new ArrayList<ParadaVOConexionRuta>();
listConexionCtrl = new ArrayList<ConexionCtrl>();
}
public List<ParadaVOConexionRuta> getLocalidadesCombinadas() {
return localidadesCombinadas;
}
public void setLocalidadesCombinadas(List<ParadaVOConexionRuta> localidadesCombinadas) {
this.localidadesCombinadas = localidadesCombinadas;
}
public List<ConexionCtrl> getListConexionCtrl() {
return listConexionCtrl;
}
public void setListConexionCtrl(List<ConexionCtrl> listConexionCtrl) {
this.listConexionCtrl = listConexionCtrl;
}
}