package org.lilie.services.eliot.impression.requetage
import org.lilie.services.eliot.annuaire.SecuriteSession
-
import org.lilie.services.eliot.applications.absences.BasicCriteresRecherche
import org.lilie.services.eliot.absences.AppelLigne
import org.lilie.services.eliot.applications.absences.BilanService
import org.lilie.services.eliot.applications.absences.BilanAbsenceInfo
import org.lilie.services.eliot.applications.absences.PriseEnCompteMotif
import org.lilie.services.eliot.parametrages.motifs.MotifService
-import org.lilie.services.eliot.applications.absences.PunitionService
-import org.lilie.services.eliot.applications.absences.DisciplineCriteresRecherche
-import org.lilie.services.eliot.applications.absences.StatPunitions
-import org.lilie.services.eliot.applications.absences.StatSanctions
-import org.lilie.services.eliot.applications.absences.SanctionService
import org.lilie.services.eliot.impression.ImpressionInfoGenerale
/**
PeriodeService periodeService
ImpressionRegroupementAbsencesService impressionRegroupementAbsencesService
MotifService motifService
- PunitionService punitionService
- SanctionService sanctionService
+ ImpressionRequetageSanctionPunitionService impressionRequetageSanctionPunitionService
private final static String CODE_MESSAGE_DEMI_PENSION = "Demi-pension"//message(code: 'absences.menu.publipostage.selection.heure.demi-pension')
private final static String CODE_MESSAGE_INTERNAT = "Internat" //message(code: 'absences.menu.publipostage.selection.heure.internat')
log.info "findAllInfoForAbsences terminé"
}
- eleveImpressionInfos = findAllInfoPunitionEleve(
- securiteSession,
- etablissement,
- criteres,
- eleveImpressionInfos
- )
-
- if (log.infoEnabled) {
- log.info "findAllInfoPunitionEleve terminé"
- }
-
- eleveImpressionInfos = findAllInfoSanctionEleve(
+ eleveImpressionInfos = impressionRequetageSanctionPunitionService.findAllInfoPunitionSanctionEleve(
securiteSession,
etablissement,
criteres,
eleveImpressionInfos
)
- if (log.infoEnabled) {
- log.info "findAllInfoSanctionEleve terminé"
- }
-
remplisDatesAbsences(eleveImpressionInfos)
if (log.infoEnabled) {
return eleveImpressionInfos
}
- /**
- * Calcule les stats sur les sanctions des élèves
- * @return la List<EleveImpressionInfo> modifiée
- */
- List<EleveImpressionInfo> findAllInfoSanctionEleve(
- SecuriteSession securiteSession,
- Etablissement etablissement,
- BasicCriteresRecherche criteres,
- List<EleveImpressionInfo> eleveImpressionInfos) {
-
- DisciplineCriteresRecherche criteresSanctions =
- getDisciplieCriteresRechercheForCriteres(criteres)
- List<StatSanctions> statSanctions = sanctionService.
- countSanctionsParEleveForCriteres(criteresSanctions)
- statSanctions.each {
- StatSanctions stat ->
- EleveImpressionInfo info = eleveImpressionInfos.find {
- EleveImpressionInfo eleveImpressionInfo ->
- eleveImpressionInfo.personneId == stat.eleve.id
- }
- if (info) {
- info.eleve_NbSanctions = stat.nbSanctions
- }
- }
- return eleveImpressionInfos
- }
-
- /**
- * Calcule les stats sur les punitions des élèves
- * @return la List<EleveImpressionInfo> modifiée
- */
- List<EleveImpressionInfo> findAllInfoPunitionEleve(
- SecuriteSession securiteSession,
- Etablissement etablissement,
- BasicCriteresRecherche criteres,
- List<EleveImpressionInfo> eleveImpressionInfos) {
-
- DisciplineCriteresRecherche criteresPunitions =
- getDisciplieCriteresRechercheForCriteres(criteres)
- List<StatPunitions> statPunitions = punitionService.
- countPunitionsParEleveForCriteres(criteresPunitions)
-
- statPunitions.each {
- StatPunitions stat ->
- EleveImpressionInfo info = eleveImpressionInfos.find {
- EleveImpressionInfo eleveImpressionInfo ->
- eleveImpressionInfo.personne.id == stat.eleve.id
- }
- if (info) {
- info.eleve_NbPunitions = stat.nbPunitions
- }
- }
- return eleveImpressionInfos
- }
-
- private DisciplineCriteresRecherche getDisciplieCriteresRechercheForCriteres(
- BasicCriteresRecherche criteres) {
-
- List<Personne> personneEleves = localPersonneService.
- findAllPersonneForAllAutoriteIds(criteres.eleveIds)
-
- DisciplineCriteresRecherche criteresPunitions = new DisciplineCriteresRecherche(
- elevePersonneIds: personneEleves*.id,
- dateDebut: criteres.dateDebut.getTime(),
- dateFin: criteres.dateFin.getTime()
- )
- return criteresPunitions
- }
-
/**
* Rempli datesAbsence dans eleveImpressionInfos en utilisant l'info sur les
* absences deja presant dans eleveImpressionInfos
)
}
- eleveImpressionInfos = findAllInfoPunitionEleve(
+ eleveImpressionInfos = impressionRequetageSanctionPunitionService.findAllInfoPunitionSanctionEleve(
securiteSession,
etablissement,
criteres,
eleveImpressionInfos
)
- eleveImpressionInfos = findAllInfoSanctionEleve(
- securiteSession,
- etablissement,
- criteres,
- eleveImpressionInfos
- )
}
}
requetageSelection.infoDetailAbsences
)
}
+
if (requetageSelection.infoRetards || requetageSelection.infoDetailRetards) {
criteres = parseCriteriaRetards(