diff --git a/src/com/rjconsultores/ventaboletos/dao/ParadaDAO.java b/src/com/rjconsultores/ventaboletos/dao/ParadaDAO.java index 1221b5676..e39143807 100644 --- a/src/com/rjconsultores/ventaboletos/dao/ParadaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/ParadaDAO.java @@ -47,4 +47,6 @@ public interface ParadaDAO { public List obtenerOrigenPorRuta(Ruta ruta); public List obtenerTodos(); + + public List obterPossiveisDestinos(Parada origem); } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ParadaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ParadaHibernateDAO.java index df610ed9c..9b67758ed 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/ParadaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ParadaHibernateDAO.java @@ -120,4 +120,18 @@ public class ParadaHibernateDAO extends GenericHibernateDAO imp return c.list(); } + + @Override + public List obterPossiveisDestinos(Parada origem) { + if (origem == null) { + return null; + } + + String sql = "SELECT DISTINCT " + + "t.destino " + + "FROM Tramo t " + + "WHERE t.origem = :origem"; + + return getSession().createQuery(sql).setEntity("origem", origem).list(); + } } diff --git a/src/com/rjconsultores/ventaboletos/service/ParadaService.java b/src/com/rjconsultores/ventaboletos/service/ParadaService.java index 0f39d0367..cf5a2dd75 100644 --- a/src/com/rjconsultores/ventaboletos/service/ParadaService.java +++ b/src/com/rjconsultores/ventaboletos/service/ParadaService.java @@ -21,7 +21,7 @@ import java.util.List; public interface ParadaService { public Parada obtenerID(Integer id); - + public Parada suscribirActualizar(Parada entidad) throws BusinessException; public void borrar(Parada entidad) throws RegistroConDependenciaException; @@ -34,8 +34,10 @@ public interface ParadaService { public List buscar(String descparada); public List buscaLike(String descparada); - + public List obtenerOrigenPorRuta(Ruta ruta); public List obtenerTodos(); + + public List obterPossiveisDestinos(Parada origem); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ParadaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ParadaServiceImpl.java index d1cc83f2e..6aa222008 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ParadaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ParadaServiceImpl.java @@ -4,6 +4,7 @@ */ package com.rjconsultores.ventaboletos.service.impl; +import java.util.ArrayList; import java.util.Calendar; import java.util.List; @@ -147,8 +148,8 @@ public class ParadaServiceImpl implements ParadaService { public List buscaLike(String descparada) { return paradaDAO.buscaLike(descparada); } - - public List obtenerOrigenPorRuta(Ruta ruta){ + + public List obtenerOrigenPorRuta(Ruta ruta) { return paradaDAO.obtenerOrigenPorRuta(ruta); } @@ -156,4 +157,16 @@ public class ParadaServiceImpl implements ParadaService { public List obtenerTodos() { return paradaDAO.obtenerTodos(); } + + @Override + public List obterPossiveisDestinos(Parada origem) { + List paradas; + paradas = paradaDAO.obterPossiveisDestinos(origem); + + if (paradas != null) { + return paradas; + } + return new ArrayList(); + } + }