AdmMono/src/com/rjconsultores/ventaboletos/dao/hibernate/VigenciaTarifaHibernateDAO....

77 lines
2.1 KiB
Java

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.rjconsultores.ventaboletos.dao.hibernate;
import java.util.Date;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.VigenciaTarifaDAO;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
/**
*
* @author rodrigo
*/
@Repository("vigenciaTarifaDAO")
public class VigenciaTarifaHibernateDAO extends
GenericHibernateDAO<VigenciaTarifa, Integer> implements
VigenciaTarifaDAO {
@Autowired
public VigenciaTarifaHibernateDAO(
@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
}
@Override
public List<VigenciaTarifa> obtenerTodos() {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.addOrder(Order.asc("feciniciovigencia"));
return c.list();
}
@Override
public List<VigenciaTarifa> pesquisar(Date inicio, Date fim) {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
if (inicio != null) {
c.add(Restrictions.eq("feciniciovigencia", inicio));
}
if (fim != null) {
c.add(Restrictions.eq("fecfinvigencia", fim));
}
return c.list();
}
@Override
public List<VigenciaTarifa> buscarVigenciasIntervalo(VigenciaTarifa vt) {
Criteria c = this.getSession().createCriteria(VigenciaTarifa.class);
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.ge("fecfinvigencia", vt.getFeciniciovigencia()));
c.add(Restrictions.le("feciniciovigencia", vt.getFecfinvigencia()));
if (vt.getVigenciatarifaId() != null) {
c.add(Restrictions.ne("vigenciatarifaId", vt.getVigenciatarifaId()));
}
c.addOrder(Order.asc("feciniciovigencia"));
return c.list();
}
}