From 5cc14675cb45d826097410d826f7e7175462e289 Mon Sep 17 00:00:00 2001 From: julio Date: Thu, 1 Aug 2013 14:44:26 +0000 Subject: [PATCH] RELATORIO LINHA POR HORARIO git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@29650 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ventaboletos/dao/CorridaDAO.java | 61 ++++++++++--------- .../dao/hibernate/CorridaHibernateDAO.java | 22 +++++++ .../ventaboletos/service/CorridaService.java | 5 +- .../service/impl/CorridaServiceImpl.java | 18 ++++++ 4 files changed, 74 insertions(+), 32 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/CorridaDAO.java b/src/com/rjconsultores/ventaboletos/dao/CorridaDAO.java index 0a2071954..798bbc765 100644 --- a/src/com/rjconsultores/ventaboletos/dao/CorridaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/CorridaDAO.java @@ -16,7 +16,7 @@ import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Ruta; /** - * + * * @author rodrigo */ public interface CorridaDAO extends GenericDAO { @@ -30,42 +30,43 @@ public interface CorridaDAO extends GenericDAO { * @param dataGeracao * @return */ - public Boolean existe(Id id); + public Boolean existe(Id id); - public List buscarPorAutobusCorridasFuturas(DiagramaAutobus diagramaAutobus); + public List buscarPorAutobusCorridasFuturas(DiagramaAutobus diagramaAutobus); - public List buscarPorRolOperativoCorridasFuturas(DiagramaAutobus diagramaAutobus); + public List buscarPorRolOperativoCorridasFuturas(DiagramaAutobus diagramaAutobus); - public List buscarPorFecCorrida(Date value); + public List buscarPorFecCorrida(Date value); - public Long count(Ruta ruta); + public Long count(Ruta ruta); - public List buscarPorId(Integer idCorrida); + public List buscarPorId(Integer idCorrida); - public List buscarFiltro(Parada ori, Parada des, Date hora, ClaseServicio cs); + public List buscarFiltro(Parada ori, Parada des, Date hora, ClaseServicio cs); - /** - * Hace la b�squeda de corridas con distinct para: origen, destino, claseServicio,hora - * - * @param ori - * @param des - * @param horaSalidaInicio - * @param horaSalidaFin - * @param cs - * @param corridaId - * @return - */ - public List buscarDistinct(Parada ori, Parada des, Date horaSalidaInicio, Date horaSalidaFin, ClaseServicio cs, Integer corridaId); + /** + * Hace la b�squeda de corridas con distinct para: origen, destino, claseServicio,hora + * + * @param ori + * @param des + * @param horaSalidaInicio + * @param horaSalidaFin + * @param cs + * @param corridaId + * @return + */ + public List buscarDistinct(Parada ori, Parada des, Date horaSalidaInicio, Date horaSalidaFin, ClaseServicio cs, Integer corridaId); - public boolean existe(Ruta ruta, Date dataGeracao, Date horario, ClaseServicio claseServicio, Marca marca, boolean pisoExtra); + public boolean existe(Ruta ruta, Date dataGeracao, Date horario, ClaseServicio claseServicio, Marca marca, boolean pisoExtra); - public boolean count(Parada origem, Parada destino, Date feccorrida, ClaseServicio claseServicio, boolean pisoExtra); - - - /** - * Regresa la cantidad de corridas que fue generada hoy. - * - * @return - */ - public Long cantCorridaGeneradasHoy(); + public boolean count(Parada origem, Parada destino, Date feccorrida, ClaseServicio claseServicio, boolean pisoExtra); + + /** + * Regresa la cantidad de corridas que fue generada hoy. + * + * @return + */ + public Long cantCorridaGeneradasHoy(); + + public List buscarGroupCorrridaId(Integer corridaId, Date dateInicio, Date dateFin); } \ No newline at end of file diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaHibernateDAO.java index 189a78bfd..f987f6d54 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaHibernateDAO.java @@ -14,6 +14,7 @@ import org.hibernate.Query; import org.hibernate.SessionFactory; import org.hibernate.criterion.Projections; import org.hibernate.criterion.Restrictions; +import org.hibernate.transform.AliasToBeanResultTransformer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Repository; @@ -321,4 +322,25 @@ public class CorridaHibernateDAO extends GenericHibernateDAO buscarGroupCorrridaId(Integer corridaId, Date dateInicio, Date dateFin) { + + Integer MAX_RESULT = 1; + + StringBuffer hql = new StringBuffer(); + hql.append(" FROM Corrida "); + hql.append(" WHERE id.corridaId = :corridaId "); + hql.append(" AND id.feccorrida BETWEEN :dateInicio AND :dateFin "); + + Query sq = getSession().createQuery(hql.toString()); + + sq.setMaxResults(MAX_RESULT); + sq.setParameter("corridaId", corridaId); + sq.setParameter("dateInicio", dateInicio); + sq.setParameter("dateFin", dateFin); + + List lsCorridas = sq.list(); + + return lsCorridas; + } } diff --git a/src/com/rjconsultores/ventaboletos/service/CorridaService.java b/src/com/rjconsultores/ventaboletos/service/CorridaService.java index 97ee135a2..3ddf2bf7a 100644 --- a/src/com/rjconsultores/ventaboletos/service/CorridaService.java +++ b/src/com/rjconsultores/ventaboletos/service/CorridaService.java @@ -38,8 +38,7 @@ public interface CorridaService extends GenericService { public List buscarFiltro(Parada ori, Parada des, Date hora, ClaseServicio cs); /** - * Regresa la fecha final para el período de generación automatica de - * corridas. + * Regresa la fecha final para el período de generación automatica de corridas. * * * @return @@ -57,4 +56,6 @@ public interface CorridaService extends GenericService { * @return A quantidade de corridas geradas */ public Long generarCorridasSelecionadas(List lsEsquemaCorrida, Date dataDe, Date dataAte); + + public List buscarGroupCorrridaId(Integer corridaId, Date dateInicio, Date dateFin); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java index a5f09bd0e..ab62a181a 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java @@ -984,4 +984,22 @@ public class CorridaServiceImpl implements CorridaService { return cantFim - cantInicio; } + + public List buscarGroupCorrridaId(Integer corridaId, Date dateInicio, Date dateFin) { + GregorianCalendar gCalendarDe = new GregorianCalendar(); + gCalendarDe.setTime(dateInicio); + gCalendarDe.set(Calendar.HOUR_OF_DAY, 0); + gCalendarDe.set(Calendar.MINUTE, 0); + gCalendarDe.set(Calendar.SECOND, 0); + gCalendarDe.set(Calendar.MILLISECOND, 0); + + GregorianCalendar gCalendarAte = new GregorianCalendar(); + gCalendarAte.setTime(dateFin); + gCalendarAte.set(Calendar.HOUR_OF_DAY, 0); + gCalendarAte.set(Calendar.MINUTE, 0); + gCalendarAte.set(Calendar.SECOND, 0); + gCalendarAte.set(Calendar.MILLISECOND, 0); + + return corridaDAO.buscarGroupCorrridaId(corridaId, gCalendarDe.getTime(), gCalendarAte.getTime()); + } }