/**
*
*/
package net.conselldemallorca.helium.core.model.dao;
import java.util.List;
import net.conselldemallorca.helium.core.model.hibernate.CampTasca;
import org.springframework.stereotype.Component;
/**
* Dao pels objectes de tipus camp de formulari
*
* @author Limit Tecnologies <limit@limit.es>
*/
@Component
public class CampTascaDao extends HibernateGenericDao<CampTasca, Long> {
public CampTascaDao() {
super(CampTasca.class);
}
public int getNextOrder(Long tascaId) {
Object result = getSession().createQuery(
"select " +
" max(ct.order) " +
"from " +
" CampTasca ct " +
"where " +
" ct.tasca.id=?").
setLong(0, tascaId).uniqueResult();
if (result == null)
return 0;
return ((Integer)result).intValue() + 1;
}
public CampTasca getAmbOrdre(Long tascaId, int order) {
return (CampTasca)getSession().createQuery(
"from " +
" CampTasca ct " +
"where " +
" ct.tasca.id=? " +
"and ct.order=?").
setLong(0, tascaId).
setInteger(1, order).
uniqueResult();
}
@SuppressWarnings("unchecked")
public List<CampTasca> findAmbTascaOrdenats(Long tascaId) {
List<CampTasca> resposta = (List<CampTasca>)getSession().createQuery(
"from " +
" CampTasca ct " +
"where " +
" ct.tasca.id=? " +
"order by " +
" ct.order").
setLong(0, tascaId).
list();
for (CampTasca camp: resposta)
camp.getCamp().getValidacions().size();
return resposta;
}
public CampTasca findAmbTascaCamp(Long tascaId, Long campId) {
return (CampTasca)getSession().createQuery(
"from " +
" CampTasca ct " +
"where " +
" ct.tasca.id=? " +
"and ct.camp.id=?").
setLong(0, tascaId).
setLong(1, campId).
uniqueResult();
}
public CampTasca findAmbTascaCodi(Long tascaId, String campCodi) {
return (CampTasca)getSession().createQuery(
"from " +
" CampTasca ct " +
"where " +
" ct.tasca.id=? " +
"and ct.camp.codi=?").
setLong(0, tascaId).
setString(1, campCodi).
uniqueResult();
}
}