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

45 lines
1.6 KiB
Java

package com.rjconsultores.ventaboletos.dao.hibernate;
import java.util.Date;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.DescontoComissaoDAO;
import com.rjconsultores.ventaboletos.entidad.DescontoComissao;
@Repository("descontoComissaoDAO")
public class DescontoComissaoHibernateDAO extends GenericHibernateDAO<DescontoComissao, Long> implements DescontoComissaoDAO {
@Autowired
public DescontoComissaoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
}
@SuppressWarnings("unchecked")
@Override
public List<DescontoComissao> buscaDescontoComissao(Integer puntoVentaId, Integer empresaId, Date inicioPeriodo, Date fimPeriodo) {
StringBuilder sql = new StringBuilder();
sql.append("from DescontoComissao dc ");
sql.append("where activo = 1 ");
sql.append(" and dc.puntoVenta.puntoventaId = :puntoventaId ");
sql.append(" and dc.empresa.empresaId = :empresaId ");
sql.append(" and dc.datainicial >= :datainicial ");
sql.append(" and (dc.datafinal <= :datafinal or dc.datafinal is null)");
Query query = getSession().createQuery(sql.toString());
query.setInteger("puntoventaId", puntoVentaId);
query.setInteger("empresaId", empresaId);
query.setTimestamp("datainicial", inicioPeriodo);
query.setTimestamp("datafinal", fimPeriodo);
return query.list();
}
}