* - l'absence journée
* - l'id de l'autorité (élève)
*/
- public List<AbsenceInfo> findAbsenceDatasForElevesAndPeriode(List<Long> eleveIds,
- TableauDeBordParams criteres,
- TypeAbsencesACompterEnum typeAbsence) {
+ public List<AbsenceInfo> findAbsenceDatasForElevesAndPeriode(
+ List<Long> eleveIds,
+ TableauDeBordParams criteres,
+ TypeAbsencesACompterEnum typeAbsence,
+ Long etablissementId = null) {
if(criteres.filtreMotifsStats && !criteres.motifs){
return []
}
eleveIds: eleveIds,
critereFin: criteres.dateFin,
critereDebut: criteres.dateDebut,
- etablissementId: criteres.classes[0].etablissementId
+ etablissementId: criteres.classes ?
+ criteres.classes[0].etablissementId : etablissementId
]
if(criteres.filtreMotifsStats){
if (tableauDeBordParams.limit > 0) {
sqlQuery.setLong("limit",tableauDeBordParams.limit)
}
- sqlQuery.list().each {
+ List resultat = sqlQuery.list()
+ resultat.each {
mapARetourner.eleveInfos << new EleveInfo(it[1],it[2],it[3],it[4],it[0])
- mapARetourner.nbrEleves = it[5]
}
+ mapARetourner.nbrEleves = resultat.collect{it[5]}.unique().sum()
}
return mapARetourner
}