/**
*
*/
package net.conselldemallorca.helium.core.model.dao;
import java.util.List;
import net.conselldemallorca.helium.core.model.hibernate.Enumeracio;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Component;
/**
* Dao pels objectes de tipus Enumeracio
*
* @author Limit Tecnologies <limit@limit.es>
*/
@Component
public class EnumeracioDao extends HibernateGenericDao<Enumeracio, Long> {
public EnumeracioDao() {
super(Enumeracio.class);
}
public List<Enumeracio> findAmbEntornSenseTipusExp(Long entornId) {
return findByCriteria(
Restrictions.eq("entorn.id", entornId),
Restrictions.isNull("expedientTipus.id"));
}
public List<Enumeracio> findAmbEntornITipusExp(Long entornId, Long tipusExpedientId) {
return findByCriteria(
Restrictions.eq("entorn.id", entornId),
Restrictions.eq("expedientTipus.id", tipusExpedientId));
}
public List<Enumeracio> findAmbEntornAmbOSenseTipusExp(Long entornId, Long tipusExpedientId) {
List<Enumeracio> enumeracions = findByCriteria(
Restrictions.eq("entorn.id", entornId),
Restrictions.isNull("expedientTipus.id"));
if (tipusExpedientId != null)
enumeracions.addAll(findAmbEntornITipusExp(entornId, tipusExpedientId));
return enumeracions;
}
public Enumeracio findAmbEntornICodi(Long entornId, String codi) {
List<Enumeracio> enumeracions = findByCriteria(
Restrictions.eq("entorn.id", entornId),
Restrictions.eq("codi", codi));
if (enumeracions.size() > 0)
return enumeracions.get(0);
return null;
}
public Enumeracio findAmbEntornSenseTipusExpICodi(
Long entornId,
String codi) {
List<Enumeracio> enumeracions = findByCriteria(
Restrictions.eq("entorn.id", entornId),
Restrictions.isNull("expedientTipus.id"),
Restrictions.eq("codi", codi));
if (enumeracions.size() > 0)
return enumeracions.get(0);
return null;
}
public Enumeracio findAmbEntornAmbTipusExpICodi(
Long entornId,
Long tipusExpedientId,
String codi) {
List<Enumeracio> enumeracions = findByCriteria(
Restrictions.eq("entorn.id", entornId),
Restrictions.eq("expedientTipus.id", tipusExpedientId),
Restrictions.eq("codi", codi));
if (enumeracions.size() > 0)
return enumeracions.get(0);
return null;
}
public Enumeracio findAmbEntornAmbOSenseTipusExpICodi(
Long entornId,
Long tipusExpedientId,
String codi) {
Enumeracio e = findAmbEntornSenseTipusExpICodi(entornId, codi);
if (e != null)
return e;
else
return findAmbEntornAmbTipusExpICodi(entornId, tipusExpedientId, codi);
}
}