From 6ca8a848628a936fe9b42e56e408d8d4818f1c75 Mon Sep 17 00:00:00 2001 From: wilian Date: Wed, 2 Jun 2021 21:33:13 +0000 Subject: [PATCH] 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 --- .../ventaboletos/dao/ConexionRutaConfDAO.java | 6 + .../dao/ConexionRutaTramoCtrlDAO.java | 11 +- .../ConexionRutaConfHibernateDAO.java | 138 ++++++++++++++++++ .../ConexionRutaTramoCtrlHibernateDAO.java | 100 ++++++++++++- .../ventaboletos/entidad/ConexionCtrl.java | 4 +- .../entidad/ConexionRutaCtrl.java | 74 +++++----- .../ventaboletos/entidad/Parada.java | 6 + .../service/ConexionRutaConfService.java | 6 + .../service/ConexionRutaCtrlService.java | 6 - .../service/ConexionRutaTramoCtrlService.java | 17 ++- .../impl/ConexionRutaConfServiceImpl.java | 19 ++- .../impl/ConexionRutaCtrlServiceImpl.java | 8 +- .../ConexionRutaTramoCtrlServiceImpl.java | 68 +++------ .../vo/parada/ConexionRutaConfVO.java | 34 +++++ 14 files changed, 391 insertions(+), 106 deletions(-) create mode 100644 src/com/rjconsultores/ventaboletos/vo/parada/ConexionRutaConfVO.java diff --git a/src/com/rjconsultores/ventaboletos/dao/ConexionRutaConfDAO.java b/src/com/rjconsultores/ventaboletos/dao/ConexionRutaConfDAO.java index 3184dfb41..83b330ec6 100644 --- a/src/com/rjconsultores/ventaboletos/dao/ConexionRutaConfDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/ConexionRutaConfDAO.java @@ -3,6 +3,8 @@ package com.rjconsultores.ventaboletos.dao; import java.util.List; import com.rjconsultores.ventaboletos.entidad.ConexionRutaConf; +import com.rjconsultores.ventaboletos.entidad.Ruta; +import com.rjconsultores.ventaboletos.vo.parada.ConexionRutaConfVO; public interface ConexionRutaConfDAO extends GenericDAO { @@ -11,5 +13,9 @@ public interface ConexionRutaConfDAO extends GenericDAO obtenerTodosActivo(); public void excluirConfiguracao(ConexionRutaConf conexion, Integer usuarioId, boolean excluirConexionRutaConf); + + public ConexionRutaConfVO carregarConexoesCadastradas(Integer conexionrutaconfId); + + public List> buscarRutasPorConexionConf(Integer conexionRutaConfId); } diff --git a/src/com/rjconsultores/ventaboletos/dao/ConexionRutaTramoCtrlDAO.java b/src/com/rjconsultores/ventaboletos/dao/ConexionRutaTramoCtrlDAO.java index 254167622..9b46d6079 100644 --- a/src/com/rjconsultores/ventaboletos/dao/ConexionRutaTramoCtrlDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/ConexionRutaTramoCtrlDAO.java @@ -4,11 +4,20 @@ import java.util.List; import com.rjconsultores.ventaboletos.entidad.ConexionRutaCtrl; import com.rjconsultores.ventaboletos.entidad.ConexionRutaTramoCtrl; +import com.rjconsultores.ventaboletos.entidad.Parada; public interface ConexionRutaTramoCtrlDAO extends GenericDAO { boolean validarConexioneRutasExistentes(Integer rutaOrigenId, Integer rutaDestinoId, Integer paradaOrigenId, Integer paradaDestinoId, Integer origemTrechoId, Integer destinoTrechoId, Integer destinoTrechoId2); - List buscarPorConexionRutaCtrl(ConexionRutaCtrl conexionRutaCtrl); + List buscarPorConexionRutaCtrl(ConexionRutaCtrl conexionRutaCtrl, Integer rutaId); + + public List buscarTodasLocalidadesOrigem(Integer conexionRutaConfId); + public List buscarTodasLocalidadesDestino(Integer conexionRutaConfId); + + public List buscarTodasLocalidadesDestinoC(Integer conexionRutaConfId); + + public List buscarPorConexionRutaConf(Integer conexionRutaConfId, char tipo); + } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ConexionRutaConfHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConexionRutaConfHibernateDAO.java index 5b169d307..5c1a2a8a5 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/ConexionRutaConfHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConexionRutaConfHibernateDAO.java @@ -14,7 +14,15 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Repository; import com.rjconsultores.ventaboletos.dao.ConexionRutaConfDAO; +import com.rjconsultores.ventaboletos.entidad.ConexionCtrl; 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") public class ConexionRutaConfHibernateDAO extends GenericHibernateDAO implements ConexionRutaConfDAO { @@ -131,4 +139,134 @@ public class ConexionRutaConfHibernateDAO extends GenericHibernateDAO localidadesCombinadas = new ArrayList(0); + List listConexionCtrl = new ArrayList(0); + List listConexionCtrlVO = new ArrayList(0); + + List 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 listConexionCtrlVO, List 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> 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 result = qr.list(); + + List lsRutaOrigem = new ArrayList(); + List lsRutaDestino = new ArrayList(); + List lsRutaDestinoC = new ArrayList(); + + 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> retorno = new ArrayList>(); + retorno.add(lsRutaOrigem); + retorno.add(lsRutaDestino); + retorno.add(lsRutaDestinoC); + + return retorno; + + } + } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ConexionRutaTramoCtrlHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConexionRutaTramoCtrlHibernateDAO.java index 678c40a0d..c63918f54 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/ConexionRutaTramoCtrlHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConexionRutaTramoCtrlHibernateDAO.java @@ -1,6 +1,9 @@ package com.rjconsultores.ventaboletos.dao.hibernate; +import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; import org.hibernate.Criteria; import org.hibernate.Query; @@ -13,6 +16,8 @@ import org.springframework.stereotype.Repository; import com.rjconsultores.ventaboletos.dao.ConexionRutaTramoCtrlDAO; import com.rjconsultores.ventaboletos.entidad.ConexionRutaCtrl; import com.rjconsultores.ventaboletos.entidad.ConexionRutaTramoCtrl; +import com.rjconsultores.ventaboletos.entidad.Parada; +import com.rjconsultores.ventaboletos.entidad.Tramo; @Repository("conexionRutaTramoCtrlDAO") public class ConexionRutaTramoCtrlHibernateDAO extends GenericHibernateDAO implements ConexionRutaTramoCtrlDAO { @@ -49,13 +54,106 @@ public class ConexionRutaTramoCtrlHibernateDAO extends GenericHibernateDAO buscarPorConexionRutaCtrl(ConexionRutaCtrl conexionRutaCtrl) { + public List buscarPorConexionRutaCtrl(ConexionRutaCtrl conexionRutaCtrl, Integer rutaId) { Criteria c = getSession().createCriteria(getPersistentClass()); c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.eq("conexionRutaCtrl", conexionRutaCtrl)); + c.add(Restrictions.eq("ruta.rutaId", rutaId)); return c.list(); } + @Override + public List buscarTodasLocalidadesOrigem(Integer conexionRutaConfId) { + return carregarParadas(conexionRutaConfId, 'A'); + } + + @Override + public List buscarTodasLocalidadesDestino(Integer conexionRutaConfId) { + return carregarParadas(conexionRutaConfId, 'B'); + } + + @Override + public List buscarTodasLocalidadesDestinoC(Integer conexionRutaConfId) { + return carregarParadas(conexionRutaConfId, 'C'); + } + + @SuppressWarnings("unchecked") + private List 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 listTramos = qr.list(); + Set paradas = new HashSet(); + for (Tramo tramo : listTramos) { + paradas.add(tramo.getOrigem()); + paradas.add(tramo.getDestino()); + } + + return new ArrayList(paradas); + } + + @Override + @SuppressWarnings("unchecked") + public List 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 paradas = qr.list(); + + return paradas; + + } + } diff --git a/src/com/rjconsultores/ventaboletos/entidad/ConexionCtrl.java b/src/com/rjconsultores/ventaboletos/entidad/ConexionCtrl.java index 72e35a40b..3ca155873 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/ConexionCtrl.java +++ b/src/com/rjconsultores/ventaboletos/entidad/ConexionCtrl.java @@ -95,7 +95,7 @@ public class ConexionCtrl implements Serializable { @Override public int hashCode() { int hash = 0; - hash += (conexionctrlId != null ? conexionctrlId.hashCode() : 0); + hash += (getConexionctrlId() != null ? getConexionctrlId().hashCode() : 0); return hash; } @@ -105,7 +105,7 @@ public class ConexionCtrl implements Serializable { return false; } 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 true; diff --git a/src/com/rjconsultores/ventaboletos/entidad/ConexionRutaCtrl.java b/src/com/rjconsultores/ventaboletos/entidad/ConexionRutaCtrl.java index d4edd106c..48b8fa56f 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/ConexionRutaCtrl.java +++ b/src/com/rjconsultores/ventaboletos/entidad/ConexionRutaCtrl.java @@ -39,12 +39,18 @@ public class ConexionRutaCtrl implements Serializable { private Date fecmodif; @Column(name = "USUARIO_ID") private Integer usuarioId; - @Column(name = "RUTA_ORIGEN_ID") - private Integer rutaOrigenId; - @Column(name = "RUTA_DESTINO_ID") - private Integer rutaDestinoId; - @Column(name = "RUTA_DESTINOC_ID") - private Integer rutaDestinoCId; + + @ManyToOne + @JoinColumn(name = "RUTA_ORIGEN_ID") + private Ruta rutaOrigen; + + @ManyToOne + @JoinColumn(name = "RUTA_DESTINO_ID") + private Ruta rutaDestino; + + @ManyToOne + @JoinColumn(name = "RUTA_DESTINOC_ID") + private Ruta rutaDestinoC; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "CONEXIONRUTACONF_ID") @@ -86,30 +92,6 @@ public class ConexionRutaCtrl implements Serializable { 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() { return conexionRutaConf; } @@ -146,18 +128,18 @@ public class ConexionRutaCtrl implements Serializable { public static ConexionRutaCtrl getConexionRutaCtrl(List list, Integer... rutas) { if(rutas != null && rutas.length > 1) { 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) { continue; } - isMatched = conexionRutaCtrl.getRutaDestinoId() != null && conexionRutaCtrl.getRutaDestinoId().equals(rutas[1]); + isMatched = conexionRutaCtrl.getRutaDestino() != null && conexionRutaCtrl.getRutaDestino().getRutaId().equals(rutas[1]); if(!isMatched) { continue; } - if(rutas.length > 2 && conexionRutaCtrl.getRutaDestinoCId() != null) { - isMatched = conexionRutaCtrl.getRutaDestinoCId().equals(rutas[2]); + if(rutas.length > 2 && conexionRutaCtrl.getRutaDestinoC() != null) { + isMatched = conexionRutaCtrl.getRutaDestinoC().getRutaId().equals(rutas[2]); } if(isMatched) { @@ -167,5 +149,29 @@ public class ConexionRutaCtrl implements Serializable { } 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; + } } diff --git a/src/com/rjconsultores/ventaboletos/entidad/Parada.java b/src/com/rjconsultores/ventaboletos/entidad/Parada.java index 6a7307bd5..6ea3b734e 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/Parada.java +++ b/src/com/rjconsultores/ventaboletos/entidad/Parada.java @@ -120,6 +120,12 @@ public class Parada implements Serializable, Auditavel { this.paradaId = paradaId; } + + public Parada(Integer paradaId, String cveparada, String descparada) { + this(paradaId); + this.cveparada = cveparada; + this.descparada = descparada; + } public List getCategoriaMercadoDestinoList() { return categoriaMercadoDestinoList; diff --git a/src/com/rjconsultores/ventaboletos/service/ConexionRutaConfService.java b/src/com/rjconsultores/ventaboletos/service/ConexionRutaConfService.java index 6444e2630..a0f6d7b3b 100644 --- a/src/com/rjconsultores/ventaboletos/service/ConexionRutaConfService.java +++ b/src/com/rjconsultores/ventaboletos/service/ConexionRutaConfService.java @@ -5,7 +5,9 @@ import java.util.List; import com.rjconsultores.ventaboletos.entidad.ConexionCtrl; import com.rjconsultores.ventaboletos.entidad.ConexionRutaConf; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.entidad.Ruta; 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.ParadaVOConexionRuta; @@ -31,5 +33,9 @@ public interface ConexionRutaConfService { List conexoesCtrl, List rutas, List localidadesCombinadas); public void excluirConfiguracao(ConexionRutaConf conexion, boolean excluirConexionRutaConf); + + public ConexionRutaConfVO carregarConexoesCadastradas(Integer conexionrutaconfId); + + public List> buscarRutasPorConexionConf(Integer conexionRutaConfId); } diff --git a/src/com/rjconsultores/ventaboletos/service/ConexionRutaCtrlService.java b/src/com/rjconsultores/ventaboletos/service/ConexionRutaCtrlService.java index bde961adc..1c6325621 100644 --- a/src/com/rjconsultores/ventaboletos/service/ConexionRutaCtrlService.java +++ b/src/com/rjconsultores/ventaboletos/service/ConexionRutaCtrlService.java @@ -8,9 +8,6 @@ import com.rjconsultores.ventaboletos.vo.conexion.ConexionRutaVO; public interface ConexionRutaCtrlService { - public void gerarConexiones(); - - public ConexionRutaCtrl suscribir(ConexionRutaCtrl conexion); public ConexionRutaCtrl actualizacion(ConexionRutaCtrl conexion); @@ -18,7 +15,6 @@ public interface ConexionRutaCtrlService { public void borrar(ConexionRutaCtrl conexion); public List buscarPorConexionCtrl(Long conexcionCtrlId); - public void borrar(List lsConexion); @@ -28,8 +24,6 @@ public interface ConexionRutaCtrlService { public List buscarConexionesValidas(Integer rutaOrigemId, Integer rutaDestinoId); - public List buscarPorConexionConf(ConexionRutaConf conexionRutaConf); - } diff --git a/src/com/rjconsultores/ventaboletos/service/ConexionRutaTramoCtrlService.java b/src/com/rjconsultores/ventaboletos/service/ConexionRutaTramoCtrlService.java index 66788c1e0..b1b0a9d3f 100644 --- a/src/com/rjconsultores/ventaboletos/service/ConexionRutaTramoCtrlService.java +++ b/src/com/rjconsultores/ventaboletos/service/ConexionRutaTramoCtrlService.java @@ -8,15 +8,13 @@ import com.rjconsultores.ventaboletos.entidad.Parada; public interface ConexionRutaTramoCtrlService { - public void gerarConexiones(); - public ConexionRutaTramoCtrl suscribir(ConexionRutaTramoCtrl conexion); public ConexionRutaTramoCtrl actualizacion(ConexionRutaTramoCtrl conexion); public void borrar(ConexionRutaTramoCtrl conexion); - public List buscarPorConexionRutaCtrl(ConexionRutaCtrl conexionRutaCtrl); + public List buscarPorConexionRutaCtrl(ConexionRutaCtrl conexionRutaCtrl, Integer rutaId); public void borrar(List 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 List buscarLocalidadesOrigem(ConexionRutaCtrl conexionRutaCtrl); + public List buscarLocalidadesOrigem(Integer conexionRutaConfId); - public List buscarLocalidadesDestino(ConexionRutaCtrl conexionRutaCtrl); + public List buscarLocalidadesDestino(Integer conexionRutaConfId); + + public List buscarLocalidadesDestinoC(Integer conexionRutaConfId); + + public List buscarTodasLocalidadesOrigem(Integer conexionRutaConfId); + + public List buscarTodasLocalidadesDestino(Integer conexionRutaConfId); + + public List buscarTodasLocalidadesDestinoC(Integer conexionRutaConfId); - public List buscarLocalidadesDestinoC(ConexionRutaCtrl conexionRutaCtrl); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ConexionRutaConfServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ConexionRutaConfServiceImpl.java index 34b9c3374..af7e8baba 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ConexionRutaConfServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ConexionRutaConfServiceImpl.java @@ -29,6 +29,7 @@ import com.rjconsultores.ventaboletos.service.ConexionRutaExcepcionTipoPtoVtaSer import com.rjconsultores.ventaboletos.service.ConexionRutaTramoCtrlService; import com.rjconsultores.ventaboletos.service.ConexionService; 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.ParadaVOConexionRuta; @@ -172,9 +173,11 @@ public class ConexionRutaConfServiceImpl implements ConexionRutaConfService { List lsConexionRutaCtrl = new ArrayList(); for (ConexionRutaCtrlVO conexionRutaCtrlVO : rutas) { ConexionRutaCtrl conexionRutaCtrl = new ConexionRutaCtrl(); - conexionRutaCtrl.setRutaOrigenId(conexionRutaCtrlVO.getRutaIdA()); - conexionRutaCtrl.setRutaDestinoId(conexionRutaCtrlVO.getRutaIdB()); - conexionRutaCtrl.setRutaDestinoCId(conexionRutaCtrlVO.getRutaIdC()); + conexionRutaCtrl.setRutaOrigen(new Ruta(conexionRutaCtrlVO.getRutaIdA())); + conexionRutaCtrl.setRutaDestino(new Ruta(conexionRutaCtrlVO.getRutaIdB())); + if(conexionRutaCtrlVO.getRutaIdC() != null) { + conexionRutaCtrl.setRutaDestinoC(new Ruta(conexionRutaCtrlVO.getRutaIdC())); + } conexionRutaCtrl.setConexionRutaConf(conexionRutaConf); conexionRutaCtrl = conexionRutaCtrlService.suscribir(conexionRutaCtrl); lsConexionRutaCtrl.add(conexionRutaCtrl); @@ -265,4 +268,14 @@ public class ConexionRutaConfServiceImpl implements ConexionRutaConfService { return list; } + @Override + public ConexionRutaConfVO carregarConexoesCadastradas(Integer conexionrutaconfId) { + return conexionRutaConfDAO.carregarConexoesCadastradas(conexionrutaconfId); + } + + @Override + public List> buscarRutasPorConexionConf(Integer conexionRutaConfId) { + return conexionRutaConfDAO.buscarRutasPorConexionConf(conexionRutaConfId); + } + } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ConexionRutaCtrlServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ConexionRutaCtrlServiceImpl.java index 149be1d2f..c58101c97 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ConexionRutaCtrlServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ConexionRutaCtrlServiceImpl.java @@ -19,13 +19,7 @@ public class ConexionRutaCtrlServiceImpl implements ConexionRutaCtrlService { @Autowired private ConexionRutaCtrlDAO conexionRutaCtrlDAO; - - @Override - public void gerarConexiones() { - // TODO Auto-generated method stub - - } - + @Override @Transactional public ConexionRutaCtrl suscribir(ConexionRutaCtrl conexionRutaCtrl) { diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ConexionRutaTramoCtrlServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ConexionRutaTramoCtrlServiceImpl.java index 7263a1d8a..1c98a37ce 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ConexionRutaTramoCtrlServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ConexionRutaTramoCtrlServiceImpl.java @@ -1,6 +1,5 @@ package com.rjconsultores.ventaboletos.service.impl; -import java.util.ArrayList; import java.util.Calendar; import java.util.List; @@ -21,12 +20,6 @@ public class ConexionRutaTramoCtrlServiceImpl implements ConexionRutaTramoCtrlSe @Autowired private ConexionRutaTramoCtrlDAO conexionRutaTramoCtrlDAO; - @Override - public void gerarConexiones() { - // TODO Auto-generated method stub - - } - @Override @Transactional public ConexionRutaTramoCtrl suscribir(ConexionRutaTramoCtrl conexionRutaTramoCtrl) { @@ -57,8 +50,8 @@ public class ConexionRutaTramoCtrlServiceImpl implements ConexionRutaTramoCtrlSe } @Override - public List buscarPorConexionRutaCtrl(ConexionRutaCtrl conexionRutaCtrl) { - return conexionRutaTramoCtrlDAO.buscarPorConexionRutaCtrl(conexionRutaCtrl); + public List buscarPorConexionRutaCtrl(ConexionRutaCtrl conexionRutaCtrl, Integer rutaId) { + return conexionRutaTramoCtrlDAO.buscarPorConexionRutaCtrl(conexionRutaCtrl, rutaId); } @Transactional @@ -75,7 +68,6 @@ public class ConexionRutaTramoCtrlServiceImpl implements ConexionRutaTramoCtrlSe for (ConexionRutaTramoCtrl conexion : lsConexionRutaTramoCtrl) { suscribir(conexion); } - } @Override @@ -89,49 +81,33 @@ public class ConexionRutaTramoCtrlServiceImpl implements ConexionRutaTramoCtrlSe } @Override - public List buscarLocalidadesOrigem(ConexionRutaCtrl conexionRutaCtrl) { - return carregarParadas(conexionRutaCtrl, 'A'); + public List buscarLocalidadesOrigem(Integer conexionRutaConfId) { + return conexionRutaTramoCtrlDAO.buscarPorConexionRutaConf(conexionRutaConfId, 'A'); } @Override - public List buscarLocalidadesDestino(ConexionRutaCtrl conexionRutaCtrl) { - return carregarParadas(conexionRutaCtrl, 'B'); + public List buscarLocalidadesDestino(Integer conexionRutaConfId) { + return conexionRutaTramoCtrlDAO.buscarPorConexionRutaConf(conexionRutaConfId, 'B'); } @Override - public List buscarLocalidadesDestinoC(ConexionRutaCtrl conexionRutaCtrl) { - return carregarParadas(conexionRutaCtrl, 'C'); + public List buscarLocalidadesDestinoC(Integer conexionRutaConfId) { + return conexionRutaTramoCtrlDAO.buscarPorConexionRutaConf(conexionRutaConfId, 'C'); } - private List carregarParadas(ConexionRutaCtrl conexionRutaCtrl, char tipo) { - List paradas = new ArrayList(0); - List trechos = buscarPorConexionRutaCtrl(conexionRutaCtrl); - 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 buscarTodasLocalidadesOrigem(Integer conexionRutaConfId) { + return conexionRutaTramoCtrlDAO.buscarTodasLocalidadesOrigem(conexionRutaConfId); } + + @Override + public List buscarTodasLocalidadesDestino(Integer conexionRutaConfId) { + return conexionRutaTramoCtrlDAO.buscarTodasLocalidadesDestino(conexionRutaConfId); + } + + @Override + public List buscarTodasLocalidadesDestinoC(Integer conexionRutaConfId) { + return conexionRutaTramoCtrlDAO.buscarTodasLocalidadesDestinoC(conexionRutaConfId); + } + } diff --git a/src/com/rjconsultores/ventaboletos/vo/parada/ConexionRutaConfVO.java b/src/com/rjconsultores/ventaboletos/vo/parada/ConexionRutaConfVO.java new file mode 100644 index 000000000..f276fe9a4 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/vo/parada/ConexionRutaConfVO.java @@ -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 localidadesCombinadas; + private List listConexionCtrl; + + public ConexionRutaConfVO() { + localidadesCombinadas = new ArrayList(); + listConexionCtrl = new ArrayList(); + } + + public List getLocalidadesCombinadas() { + return localidadesCombinadas; + } + + public void setLocalidadesCombinadas(List localidadesCombinadas) { + this.localidadesCombinadas = localidadesCombinadas; + } + + public List getListConexionCtrl() { + return listConexionCtrl; + } + + public void setListConexionCtrl(List listConexionCtrl) { + this.listConexionCtrl = listConexionCtrl; + } + +}