}
ImpressionRequetageSelection impressionRequetageSelection = new ImpressionRequetageSelection(
- infoDetailDeparts:true,
+ infoDetailDeparts: true,
infoDetailAbsences: true,
infoDetailRetards: true
)
eleveStats.each { StatAbsences eleveStat ->
- EleveImpressionInfo impressionInfo =
- (EleveImpressionInfo) eleveImpressionInfos.find {
+ List<EleveImpressionInfo> allImpressionInfo =
+ eleveImpressionInfos.findAll {
it.personne == eleveStat.eleve
}
- impressionInfo.eleve_NbAbsExc = eleveStat.nbAbsencesExcusees
- impressionInfo.eleve_NbAbsNonExc = eleveStat.nbAbsencesNonExcusees
- impressionInfo.eleve_NbAbsence = eleveStat.nbAbsencesTotal
- impressionInfo.eleve_NbAbsJusRec = eleveStat.nbAbsencesJustifieesRecevables
- impressionInfo.eleve_NbAbsJusNonRec = eleveStat.nbAbsencesJustifieesNonRecevables
- impressionInfo.eleve_NbAbsDemiPens = eleveStat.nbAbsencesDemiPension
- impressionInfo.eleve_NbAbsInternat = eleveStat.nbAbsencesInternat
+ allImpressionInfo.each { EleveImpressionInfo impressionInfo ->
+ impressionInfo.eleve_NbAbsExc = eleveStat.nbAbsencesExcusees
+ impressionInfo.eleve_NbAbsNonExc = eleveStat.nbAbsencesNonExcusees
+ impressionInfo.eleve_NbAbsence = eleveStat.nbAbsencesTotal
+ impressionInfo.eleve_NbAbsJusRec = eleveStat.nbAbsencesJustifieesRecevables
+ impressionInfo.eleve_NbAbsJusNonRec = eleveStat.nbAbsencesJustifieesNonRecevables
+ impressionInfo.eleve_NbAbsDemiPens = eleveStat.nbAbsencesDemiPension
+ impressionInfo.eleve_NbAbsInternat = eleveStat.nbAbsencesInternat
+ }
}
datas.eachAbsence {
Personne personne, BilanAbsenceInfo absenceInfo ->
- EleveImpressionInfo eleveInfo = (EleveImpressionInfo) eleveImpressionInfos.find {
- it.personne == personne
+ eleveImpressionInfos.each {EleveImpressionInfo eleveInfo ->
+
+ if (eleveInfo.personne.id == personne.id) {
+
+ AbsencesImpression absencesImpression = findDonneesAbsences(absenceInfo)
+
+ eleveInfo.absences << absencesImpression
+
+ }
}
+ }
- AppelLigne appelLigne = absenceInfo.appelLigne
+ return eleveImpressionInfos
+ }
- String heureDebut
- String heureFin
+ private AbsencesImpression findDonneesAbsences(BilanAbsenceInfo absenceInfo) {
- Date dteHeureDebut = null
- Date dteHeureFin = null
+ AppelLigne appelLigne = absenceInfo.appelLigne
- if (appelLigne.appel) {
- dteHeureDebut = appelLigne.appel.dateHeureDebut
- dteHeureFin = appelLigne.appel.dateHeureFin
- heureDebut = DateUtil.formateDate(dteHeureDebut)
- heureFin = DateUtil.formateDate(dteHeureFin)
- } else {
- if (appelLigne.demiPension) {
- heureDebut = ImpressionRequetageAbsencesService.CODE_MESSAGE_DEMI_PENSION
- heureFin = ImpressionRequetageAbsencesService.CODE_MESSAGE_DEMI_PENSION
- } else if (appelLigne.internat) {
- heureDebut = ImpressionRequetageAbsencesService.CODE_MESSAGE_INTERNAT
- heureFin = ImpressionRequetageAbsencesService.CODE_MESSAGE_INTERNAT
- } else {
-
- dteHeureDebut = ajouteHeure(
- appelLigne.absenceJournee.date,
- appelLigne.heureDebut
- )
+ String heureDebut
+ String heureFin
- dteHeureFin = ajouteHeure(
- appelLigne.absenceJournee.date,
- appelLigne.heureFin
- )
+ Date dteHeureDebut = null
+ Date dteHeureFin = null
- heureDebut = DateUtil.formateDate(dteHeureDebut)
- heureFin = DateUtil.formateDate(dteHeureFin)
- }
- }
+ if (appelLigne.appel) {
+ dteHeureDebut = appelLigne.appel.dateHeureDebut
+ dteHeureFin = appelLigne.appel.dateHeureFin
+ heureDebut = DateUtil.formateDate(dteHeureDebut)
+ heureFin = DateUtil.formateDate(dteHeureFin)
+ } else {
+ if (appelLigne.demiPension) {
+ heureDebut = ImpressionRequetageAbsencesService.CODE_MESSAGE_DEMI_PENSION
+ heureFin = ImpressionRequetageAbsencesService.CODE_MESSAGE_DEMI_PENSION
+ } else if (appelLigne.internat) {
+ heureDebut = ImpressionRequetageAbsencesService.CODE_MESSAGE_INTERNAT
+ heureFin = ImpressionRequetageAbsencesService.CODE_MESSAGE_INTERNAT
+ } else {
- eleveInfo.absences << new AbsencesImpression(
- internat: appelLigne.internat,
- demiPension: appelLigne.demiPension,
- donneeHeureDebut: dteHeureDebut,
- donneeHeureFin: dteHeureFin,
- date: appelLigne.appel ?
- appelLigne.appel.dateHeureDebut :
+ dteHeureDebut = ajouteHeure(
appelLigne.absenceJournee.date,
- heureDebut: heureDebut,
- heureFin: heureFin,
- motif: appelLigne.motif.libelle,
- )
+ appelLigne.heureDebut
+ )
+
+ dteHeureFin = ajouteHeure(
+ appelLigne.absenceJournee.date,
+ appelLigne.heureFin
+ )
+
+ heureDebut = DateUtil.formateDate(dteHeureDebut)
+ heureFin = DateUtil.formateDate(dteHeureFin)
+ }
}
- return eleveImpressionInfos
+ AbsencesImpression absencesImpression = new AbsencesImpression(
+ internat: appelLigne.internat,
+ demiPension: appelLigne.demiPension,
+ donneeHeureDebut: dteHeureDebut,
+ donneeHeureFin: dteHeureFin,
+ date: appelLigne.appel ?
+ appelLigne.appel.dateHeureDebut :
+ appelLigne.absenceJournee.date,
+ heureDebut: heureDebut,
+ heureFin: heureFin,
+ motif: appelLigne.motif.libelle,
+ )
+ return absencesImpression
}
public PublipostageCriteresRecherche parseCriteriaRetards(PublipostageAbsencesParams parametresSelectionPublipostage) {