RELATORIO LINHA POR HORARIO

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@29650 d1611594-4594-4d17-8e1d-87c2c4800839
master
julio 2013-08-01 14:44:26 +00:00
parent 088ea0e8a5
commit 5cc14675cb
4 changed files with 74 additions and 32 deletions

View File

@ -30,42 +30,43 @@ public interface CorridaDAO extends GenericDAO<Corrida, Corrida.Id> {
* @param dataGeracao
* @return
*/
public Boolean existe(Id id);
public Boolean existe(Id id);
public List<Corrida> buscarPorAutobusCorridasFuturas(DiagramaAutobus diagramaAutobus);
public List<Corrida> buscarPorAutobusCorridasFuturas(DiagramaAutobus diagramaAutobus);
public List<Corrida> buscarPorRolOperativoCorridasFuturas(DiagramaAutobus diagramaAutobus);
public List<Corrida> buscarPorRolOperativoCorridasFuturas(DiagramaAutobus diagramaAutobus);
public List<Corrida> buscarPorFecCorrida(Date value);
public List<Corrida> buscarPorFecCorrida(Date value);
public Long count(Ruta ruta);
public Long count(Ruta ruta);
public List<Corrida> buscarPorId(Integer idCorrida);
public List<Corrida> buscarPorId(Integer idCorrida);
public List<Corrida> buscarFiltro(Parada ori, Parada des, Date hora, ClaseServicio cs);
public List<Corrida> buscarFiltro(Parada ori, Parada des, Date hora, ClaseServicio cs);
/**
* Hace la b<EFBFBD>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<Corrida> buscarDistinct(Parada ori, Parada des, Date horaSalidaInicio, Date horaSalidaFin, ClaseServicio cs, Integer corridaId);
/**
* Hace la b<EFBFBD>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<Corrida> 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);
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();
/**
* Regresa la cantidad de corridas que fue generada hoy.
*
* @return
*/
public Long cantCorridaGeneradasHoy();
public List<Corrida> buscarGroupCorrridaId(Integer corridaId, Date dateInicio, Date dateFin);
}

View File

@ -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<Corrida, Corrida.Id
return count;
}
public List<Corrida> 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<Corrida> lsCorridas = sq.list();
return lsCorridas;
}
}

View File

@ -38,8 +38,7 @@ public interface CorridaService extends GenericService<Corrida, Corrida.Id> {
public List<Corrida> 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<Corrida, Corrida.Id> {
* @return A quantidade de corridas geradas
*/
public Long generarCorridasSelecionadas(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte);
public List<Corrida> buscarGroupCorrridaId(Integer corridaId, Date dateInicio, Date dateFin);
}

View File

@ -984,4 +984,22 @@ public class CorridaServiceImpl implements CorridaService {
return cantFim - cantInicio;
}
public List<Corrida> 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());
}
}