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; package com.rjconsultores.ventaboletos.dao.hibernate;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
@ -15,7 +16,6 @@ import org.hibernate.Query;
import org.hibernate.SessionFactory; import org.hibernate.SessionFactory;
import org.hibernate.criterion.Projections; import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions; import org.hibernate.criterion.Restrictions;
import org.hibernate.transform.AliasToBeanResultTransformer;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository; 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.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties; 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") @Repository("corridaDAO")
public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id> implements CorridaDAO { public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id> implements CorridaDAO {
private static final Integer maxResult = new Integer(1);
@Autowired @Autowired
public CorridaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { public CorridaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(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) { 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) { StringBuffer sql = new StringBuffer();
hql.append(" AND str(id.corridaId) like :corridaId "); 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) { if (corridaId != null) {
sq.setParameter("corridaId", corridaId.toString() + '%'); sq.setParameter("corridaId", corridaId.toString() + '%');
@ -343,13 +344,29 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
sq.setParameter("dateInicio", dateInicio); sq.setParameter("dateInicio", dateInicio);
sq.setParameter("dateFin", dateFin); sq.setParameter("dateFin", dateFin);
// Corrida corrida = (Corrida) sq.uniqueResult(); List<Object> lsObject = sq.list();
List<Corrida> lsCorridasAux = sq.list();
List<Corrida> lsCorridas = new ArrayList<Corrida>(); 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; return lsCorridas;