AdmMono/src/com/rjconsultores/ventaboletos/dao/hibernate/ClasseServicoHibernateDAO.java

83 lines
2.5 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.ArrayList;
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.ClasseServicoDAO;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
/**
*
* @author Administrador
*/
@Repository("claseServicioDAO")
public class ClasseServicoHibernateDAO extends GenericHibernateDAO<ClaseServicio, Integer> implements ClasseServicoDAO {
@Autowired
public ClasseServicoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
}
@Override
public List<ClaseServicio> obtenerTodos() {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.addOrder(Order.asc("descclase"));
return c.list();
}
public List<ClaseServicio> buscarPorEmpresasDoUsuario(String empresasUsuario) {
String consulta = "SELECT DISTINCT mcs.marcaClaseservicioPK.claseservicio "
+ "FROM MarcaClaseServicio mcs "
+ "WHERE mcs.marcaClaseservicioPK.marca.empresa.empresaId IN (:empresas) ";
List<Integer> ids = new ArrayList<Integer>();
for (String empresa : empresasUsuario.split(",")) {
ids.add(new Integer(empresa));
}
Query query = getSession().createQuery(consulta);
query.setParameterList("empresas", ids);
List<ClaseServicio> result = (List<ClaseServicio>) query.list();
return result;
}
public List<ClaseServicio> buscarPorNome(Integer idClaseServicio, String nomeClaseServicio) {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.eq("descclase", nomeClaseServicio));
if (idClaseServicio != null) {
c.add(Restrictions.ne("claseservicioId", idClaseServicio));
}
return c.list();
}
public List<ClaseServicio> buscarTodosExceto(Integer... idClase) {
Criteria c = this.makeCriteria();
for (Integer id : idClase) {
c.add(Restrictions.ne("claseservicioId", id));
}
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.addOrder(Order.asc("descclase"));
return c.list();
}
}