Correções RelatorioLinhasHorario

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@29985 d1611594-4594-4d17-8e1d-87c2c4800839
master
julio 2013-08-21 21:51:09 +00:00
parent c0a35a1b5b
commit 16f84f39fa
1 changed files with 31 additions and 14 deletions

View File

@ -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<Corrida, Corrida.Id> 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<Corrida, Corrida.Id
}
public List<Corrida> 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<Corrida, Corrida.Id
sq.setParameter("dateInicio", dateInicio);
sq.setParameter("dateFin", dateFin);
// Corrida corrida = (Corrida) sq.uniqueResult();
List<Corrida> lsCorridasAux = sq.list();
List<Object> lsObject = sq.list();
List<Corrida> lsCorridas = new ArrayList<Corrida>();
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<Corrida> lsCorridasAux = squery.list();
if (lsCorridasAux != null && !lsCorridasAux.isEmpty()) {
lsCorridas.add(lsCorridasAux.iterator().next());
}
}
}
return lsCorridas;