import org.lilie.services.eliot.scolarite.Enseignement
import org.lilie.services.eliot.notes.resultat.UptodateService
-import org.lilie.services.eliot.notes.resultat.eleve.ResultatEleveServicePeriodeService
+import org.lilie.services.eliot.applications.notes.resultat.eleve.ResultatEleveServicePeriodeService
import org.lilie.services.eliot.notes.notes.NotesEvaluationService
-import org.lilie.services.eliot.notes.resultat.classe.ResultatClasseServicePeriodeService
+import org.lilie.services.eliot.applications.notes.resultat.classe.ResultatClasseServicePeriodeService
import org.lilie.services.eliot.notes.Note
import org.lilie.services.eliot.scolarite.personne.LocalPersonneService
import org.lilie.services.eliot.notes.resultat.ResultatNettoyageService
/**
* Les paramètres ordre, evaluable et option sont définis sur le FO de façon
* agrégée pour toutes les périodes de notation (ce n'est pas le cas pour le param coeff).
- * Leurs valeurs doivent donc être les mêmes pour toutes les période de notation.
+ * Leurs valeurs doivent donc être les mêmes pour toutes les période de notation d'une même classe.
* Si ce n'est pas le cas la base n'est pas dans état cohérent. La méthode permet de
* corriger cette incohérence en copiant les valeurs des ces paramètres du 1er période
* sur toutes les autres périodes de notation.
List<RelPeriodeService> rels =
service.relPeriodeServices.findAll {it.periode.isPeriodeNotation()}.toList()
- rels.sort{it.periode}
- RelPeriodeService relPremierPeriode = rels.first()
-
Boolean evaluabiliteChange = false
Boolean optionChange = false
- rels.each {
- if (it.ordre != relPremierPeriode.ordre) {
- it.ordre = relPremierPeriode.ordre
- it.save(failOnError: true)
- }
+ rels.groupBy {it.periode.classeId}.each {classeId, List<RelPeriodeService> relsParClasse ->
- if (it.evaluable != relPremierPeriode.evaluable) {
- evaluabiliteChange = true
- it.evaluable = relPremierPeriode.evaluable
- it.save(failOnError: true)
- }
+ relsParClasse.sort{it.periode}
+ RelPeriodeService relPremierPeriode = relsParClasse.first()
+
+ relsParClasse.each {
+ if (it.ordre != relPremierPeriode.ordre) {
+ it.ordre = relPremierPeriode.ordre
+ it.save(failOnError: true)
+ }
+
+ if (it.evaluable != relPremierPeriode.evaluable) {
+ evaluabiliteChange = true
+ it.evaluable = relPremierPeriode.evaluable
+ it.save(failOnError: true)
+ }
- if (it.option != relPremierPeriode.option) {
- optionChange = true
- it.option = relPremierPeriode.option
- it.save(failOnError: true)
+ if (it.option != relPremierPeriode.option) {
+ optionChange = true
+ it.option = relPremierPeriode.option
+ it.save(failOnError: true)
+ }
}
}