diff --git a/src/com/rjconsultores/ventaboletos/dao/ParadaDAO.java b/src/com/rjconsultores/ventaboletos/dao/ParadaDAO.java index 31fb2b6fb..46a943e68 100644 --- a/src/com/rjconsultores/ventaboletos/dao/ParadaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/ParadaDAO.java @@ -7,7 +7,9 @@ package com.rjconsultores.ventaboletos.dao; import com.rjconsultores.ventaboletos.entidad.Ciudad; import com.rjconsultores.ventaboletos.entidad.Nodo; import com.rjconsultores.ventaboletos.entidad.Parada; +import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.TipoParada; + import java.util.List; /** @@ -41,4 +43,6 @@ public interface ParadaDAO { public List buscaLike(String descparada); public Long count(TipoParada tipoParada); + + public List obtenerOrigenPorRuta(Ruta ruta); } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ParadaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ParadaHibernateDAO.java index 05ed80e96..df610ed9c 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/ParadaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ParadaHibernateDAO.java @@ -20,6 +20,7 @@ import com.rjconsultores.ventaboletos.dao.ParadaDAO; import com.rjconsultores.ventaboletos.entidad.Ciudad; import com.rjconsultores.ventaboletos.entidad.Nodo; import com.rjconsultores.ventaboletos.entidad.Parada; +import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.TipoParada; /** @@ -92,7 +93,7 @@ public class ParadaHibernateDAO extends GenericHibernateDAO imp c.add(Restrictions.eq("activo", Boolean.TRUE)); c.setProjection(Projections.rowCount()); - + return HibernateFix.count(c.list()); } @@ -102,7 +103,21 @@ public class ParadaHibernateDAO extends GenericHibernateDAO imp Criteria c = getSession().createCriteria(getPersistentClass()); c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.eq("codantt", codAntt)); - + + return c.list(); + } + + @Override + public List obtenerOrigenPorRuta(Ruta ruta) { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.createAlias("tramoOrigemList", "tramo"); + c.createAlias("tramo.rutaCombinacionList", "rutaCombinacion"); + c.createAlias("rutaCombinacion.ruta", "ruta"); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + c.add(Restrictions.eq("ruta.rutaId", ruta.getRutaId())); + + c.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); + return c.list(); } } diff --git a/src/com/rjconsultores/ventaboletos/service/ParadaService.java b/src/com/rjconsultores/ventaboletos/service/ParadaService.java index 666ec879d..415cd2b03 100644 --- a/src/com/rjconsultores/ventaboletos/service/ParadaService.java +++ b/src/com/rjconsultores/ventaboletos/service/ParadaService.java @@ -7,6 +7,7 @@ package com.rjconsultores.ventaboletos.service; import com.rjconsultores.ventaboletos.entidad.Ciudad; import com.rjconsultores.ventaboletos.entidad.Nodo; import com.rjconsultores.ventaboletos.entidad.Parada; +import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.TipoParada; import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.utilerias.RegistroConDependenciaException; @@ -33,4 +34,6 @@ public interface ParadaService { public List buscar(String descparada); public List buscaLike(String descparada); + + public List obtenerOrigenPorRuta(Ruta ruta); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ParadaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ParadaServiceImpl.java index 87e066bbc..495d26038 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ParadaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ParadaServiceImpl.java @@ -11,14 +11,13 @@ import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.zkoss.util.resource.Labels; -import org.zkoss.zul.Messagebox; import com.rjconsultores.ventaboletos.dao.ParadaDAO; import com.rjconsultores.ventaboletos.dao.TramoDAO; import com.rjconsultores.ventaboletos.entidad.Ciudad; import com.rjconsultores.ventaboletos.entidad.Nodo; import com.rjconsultores.ventaboletos.entidad.Parada; +import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.TipoParada; import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.service.ParadaService; @@ -148,4 +147,8 @@ public class ParadaServiceImpl implements ParadaService { public List buscaLike(String descparada) { return paradaDAO.buscaLike(descparada); } + + public List obtenerOrigenPorRuta(Ruta ruta){ + return paradaDAO.obtenerOrigenPorRuta(ruta); + } }