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

70 lines
2.2 KiB
Java

package com.rjconsultores.ventaboletos.dao.hibernate;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Query;
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.PtovtaComissaoDAO;
import com.rjconsultores.ventaboletos.entidad.PtovtaComissao;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
@Repository("ptovtaComissaoDAO")
public class PtovtaComissaoHibernateDAO extends GenericHibernateDAO<PtovtaComissao, Integer>
implements PtovtaComissaoDAO {
@Autowired
public PtovtaComissaoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
}
@Override
public List<PtovtaComissao> obtenerTodos() {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.addOrder(Order.asc("id"));
return c.list();
}
public List<PtovtaComissao> buscar(int id) {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.eq("id", id));
return c.list();
}
public List<PtovtaComissao> buscarByPuntaVenta(PuntoVenta puntaVenta) {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.eq("puntoventaId", puntaVenta));
c.addOrder(Order.asc("empresaId"));
return c.list();
}
@Override
public PtovtaComissao buscarPuntaVentaEmpresa(Integer puntaVentaId, Integer empresaId) {
StringBuilder sql = new StringBuilder();
sql.append("from PtovtaComissao pc ");
sql.append("where pc.activo = 1 and pc.puntoventaId.puntoventaId = :puntoventaId ");
sql.append(" and pc.empresaId.empresaId = :empresaId ");
Query query = getSession().createQuery(sql.toString());
query.setInteger("puntoventaId", puntaVentaId);
query.setInteger("empresaId", empresaId);
return (PtovtaComissao) query.uniqueResult();
}
}