From 16f84f39fa127f4ea26bf3982117eb310958b13b Mon Sep 17 00:00:00 2001 From: julio Date: Wed, 21 Aug 2013 21:51:09 +0000 Subject: [PATCH] =?UTF-8?q?Corre=C3=A7=C3=B5es=20RelatorioLinhasHorario?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@29985 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../dao/hibernate/CorridaHibernateDAO.java | 45 +++++++++++++------ 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaHibernateDAO.java index 6c7c98c98..111d8966e 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaHibernateDAO.java @@ -4,6 +4,7 @@ */ package com.rjconsultores.ventaboletos.dao.hibernate; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -15,7 +16,6 @@ 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; @@ -29,7 +29,6 @@ import com.rjconsultores.ventaboletos.entidad.Marca; import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties; -import com.sun.org.apache.bcel.internal.generic.DADD; /** * @@ -38,6 +37,8 @@ import com.sun.org.apache.bcel.internal.generic.DADD; @Repository("corridaDAO") public class CorridaHibernateDAO extends GenericHibernateDAO implements CorridaDAO { + private static final Integer maxResult = new Integer(1); + @Autowired public CorridaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { setSessionFactory(factory); @@ -326,15 +327,15 @@ public class CorridaHibernateDAO extends GenericHibernateDAO buscarGroupCorrridaId(Integer corridaId, Date dateInicio, Date dateFin) { - StringBuffer hql = new StringBuffer(); - hql.append(" FROM Corrida "); - hql.append(" WHERE id.feccorrida BETWEEN :dateInicio AND :dateFin "); - if (corridaId != null) { - hql.append(" AND str(id.corridaId) like :corridaId "); - } + StringBuffer sql = new StringBuffer(); + sql.append(" SELECT c.corrida_id "); + sql.append(" FROM corrida c "); + sql.append(" WHERE c.feccorrida BETWEEN :dateInicio AND :dateFin "); + sql.append(" AND c.corrida_id LIKE :corridaId "); + sql.append(" GROUP BY c.corrida_id "); - Query sq = getSession().createQuery(hql.toString()); + Query sq = getSession().createSQLQuery(sql.toString()); if (corridaId != null) { sq.setParameter("corridaId", corridaId.toString() + '%'); @@ -343,13 +344,29 @@ public class CorridaHibernateDAO extends GenericHibernateDAO lsCorridasAux = sq.list(); + List lsObject = sq.list(); List lsCorridas = new ArrayList(); - if (lsCorridasAux != null && !lsCorridasAux.isEmpty()) { - lsCorridas.add(lsCorridasAux.iterator().next()); + + if (lsObject != null && !lsObject.isEmpty()) { + + for (Object object : lsObject) { + + BigDecimal id = (BigDecimal) object; + + StringBuffer hql = new StringBuffer(); + hql.append(" FROM Corrida "); + hql.append(" WHERE id.corridaId = " + id); + + Query squery = getSession().createQuery(hql.toString()); + squery.setMaxResults(maxResult); + + List lsCorridasAux = squery.list(); + + if (lsCorridasAux != null && !lsCorridasAux.isEmpty()) { + lsCorridas.add(lsCorridasAux.iterator().next()); + } + } } return lsCorridas;