public interface IExamenInstanceDAO extends GenericDAO<ExamenInstance, Long> {
- Set<ExamenInstance> getUserExamenInstanceByPlanRef(String userUid, Long idRef, Long idPlan);
+ Set<ExamenInstance> getUserExamenInstanceByPlanRef(String userUid, Long idRef, Long idPlan, Boolean theorique);
}
IExamenInstanceDAO {
- String HQL ="select distinct(EI) from Referentiel as Ref inner join Ref.domains as domain inner join domain.competences as c inner join c.questions as question inner join question.questionInstances as qi inner join qi.examenInstance as EI inner join EI.evaluationSubjectInstance as ESI inner join ESI.evaluationInstance as EEI inner join EEI.evaluationDefinition as ED inner join ED.plan as plan inner join plan.planRefs as pr inner join pr.referentiel as Ref2 where EI.owner.uid=:uid and Ref.id=:idRef and Ref2.id=:idRef and plan.id=:idPlan ";
+ private static final String HQL ="select distinct(EI) from Referentiel as Ref inner join Ref.domains as domain inner join domain.competences as c inner join c.questions as question inner join question.questionInstances as qi inner join qi.examenInstance as EI inner join EI.evaluationSubjectInstance as ESI inner join ESI.evaluationInstance as EEI inner join EEI.evaluationDefinition as ED inner join ED.plan as plan inner join plan.planRefs as pr inner join pr.referentiel as Ref2 where EI.owner.uid=:uid and Ref.id=:idRef and Ref2.id=:idRef and plan.id=:idPlan ";
- public Set<ExamenInstance> getUserExamenInstanceByPlanRef(String userUid, Long idPlan, Long idRef) {
+ public Set<ExamenInstance> getUserExamenInstanceByPlanRef(String userUid, Long idPlan, Long idRef, Boolean theorique) {
Set<ExamenInstance> sei = new HashSet<ExamenInstance>();
- List<ExamenInstance> lei = getCachableHibernateTemplate().findByNamedParam(HQL,
+ String query = HQL;
+
+ if (theorique != null){
+
+ if (theorique){
+ query = query + " and ED.methodEval is null";
+ }else{
+ query = query + " and ED.methodEval is not null";
+ }
+ }
+
+ List<ExamenInstance> lei = getCachableHibernateTemplate().findByNamedParam(query,
new String[] { "uid", "idPlan", "idRef" }, new Object[] { userUid, idPlan, idRef });