import org.lilie.services.eliot.annuaire.FonctionEnum
import org.lilie.services.eliot.applications.absences.BilanAbsencesParPersonneInfo
-import org.lilie.services.eliot.absences.parametrage.incidentpunitionsanction.TypePunitionService
-import org.lilie.services.eliot.absences.parametrage.incidentpunitionsanction.TypeIncidentService
-import org.lilie.services.eliot.absences.parametrage.incidentpunitionsanction.TypeSanctionService
import org.lilie.services.eliot.annuaire.SecuriteSession
import org.lilie.services.eliot.absences.emploidutemps.EmploiDuTempsService
import org.lilie.services.eliot.scolarite.NiveauGeneral
class StatsMensuellesService extends BilanService {
- TypePunitionService typePunitionService
- TypeIncidentService typeIncidentService
- TypeSanctionService typeSanctionService
EmploiDuTempsService emploiDuTempsService
- final static String VALEUR_TOUS = '-1'
-
static transactional = true
/**
Calendar date = Calendar.getInstance()
date.setTime(periodeMensuelle.dateDebut)
- Mois mois = Mois.parseByNumero(date.get(Calendar.MONTH) + 1)
List resultats = executeRequeteRetardsOrDeparts(
criteres,
* @author othe
*/
//TOREFACT : extraire un ancêtre commun au requetage absences/notes et au brevet - renommage
-@SuppressWarnings('PropertyName')
+@SuppressWarnings(['PropertyName', 'MethodCount'])
class EleveImpressionInfo {
// media cible d'impression des données de l'élève
/**
* Calcule les stats sur les sanctions des élèves
- * @param securiteSession
- * @param etablissement
- * @param criteres
- * @param eleveImpressionInfos
* @return la List<EleveImpressionInfo> modifiée
*/
List<EleveImpressionInfo> findAllInfoSanctionEleve(
/**
* Calcule les stats sur les punitions des élèves
- * @param securiteSession
- * @param etablissement
- * @param criteres
- * @param eleveImpressionInfos
* @return la List<EleveImpressionInfo> modifiée
*/
List<EleveImpressionInfo> findAllInfoPunitionEleve(
/**
* Gestion des dates de début et de fin de période
- * @param eleveImpressionInfos
* @param criteres
*/
private void gestionDateDebutDateFinRequete(List<EleveImpressionInfo> eleveImpressionInfos, BasicCriteresRecherche criteres) {
/**
* lecture de la liste des élèves à partir des paramètres.
- * @param params
* @return la liste des id des élèves
*/
public List getListeEleve(PublipostageAbsencesParams parametresSelectionPublipostage) {
/**
* Fusionne les infos d'absences et de retards dans une seule liste
- * @param infosAbsences
- * @param infosRetards
* @return une List<EleveImpressionInfo>
*/
List<EleveImpressionInfo> fusionneInfosAbsencesEtRetards(
/**
* Toutes les periodes de Xmestres precedantes la periode pour la classe donnee
- * @param classe
- * @param periode
- * @return
*/
List<Periode> findAllPeriodesPrecedentes(StructureEnseignement classe, Periode periode) {
if (!classe.isClasse()) {
/**
* Code court I18n de periode
- * @param libelleTypePeriode
- * @return
*/
public String getPeriodeCodeCourt(String libelleTypePeriode){
switch (libelleTypePeriode){
- case 'T1':
- return 'periode.trimestre.premiere.libelle.court'
- break
- case 'T2':
- return 'periode.trimestre.deuxieme.libelle.court'
- break
- case 'T3':
- return 'periode.trimestre.troisieme.libelle.court'
- break
- case 'S1':
- return 'periode.semestre.premiere.libelle.court'
- break
- case 'S2':
- return 'periode.semestre.deuxieme.libelle.court'
- break
- default:
- return libelleTypePeriode
+ case 'T1': return 'periode.trimestre.premiere.libelle.court'
+ case 'T2': return 'periode.trimestre.deuxieme.libelle.court'
+ case 'T3': return 'periode.trimestre.troisieme.libelle.court'
+ case 'S1': return 'periode.semestre.premiere.libelle.court'
+ case 'S2': return 'periode.semestre.deuxieme.libelle.court'
+ default: return libelleTypePeriode
}
}
*/
public String getPeriodeNomCourt(String libelleTypePeriode){
switch (libelleTypePeriode){
- case 'T1':
- return '1er T'
- break
- case 'T2':
- return '2ème T'
- break
- case 'T3':
- return '3ème T'
- break
- case 'S1':
- return '1er S'
- break
- case 'S2':
- return '2ème S'
- break
- default:
- return libelleTypePeriode
+ case 'T1': return '1er T'
+ case 'T2': return '2ème T'
+ case 'T3': return '3ème T'
+ case 'S1': return '1er S'
+ case 'S2': return '2ème S'
+ default: return libelleTypePeriode
}
}
}
ProprietesScolariteService proprietesScolariteService
CiteScolaireService citeScolaireService
- private Boolean citeScolaireDroitsEtendus =
+ private static final Boolean CITE_SCOLAIRE_DROITS_ETTENDUS =
ConfigurationHolder.config.eliot.citeScolaire.droits.etendus
private static final HQL_FONCTION_ETAB = """
]
)
- if (citeScolaireDroitsEtendus) {
+ if (CITE_SCOLAIRE_DROITS_ETTENDUS) {
fonctionEtablissements = ajoutFonctionsCiteScolaireUtilisateurNormal(
fonctionEtablissements
)
)
}
- if (citeScolaireDroitsEtendus) {
+ if (CITE_SCOLAIRE_DROITS_ETTENDUS) {
fonctionEtablissements =
ajoutFonctionsCiteScolaireAdminlocal(fonctionEtablissements)
}
import org.lilie.services.eliot.scolarite.StructureEnseignementSts
import org.lilie.services.eliot.notes.StructureEnseignementNotes
import org.hibernate.transform.Transformers
-import org.hibernate.criterion.CriteriaSpecification
import org.lilie.services.eliot.scolarite.TypeIntervalleEnum
/**
import org.bouncycastle.crypto.RuntimeCryptoException
import org.bouncycastle.util.encoders.Hex
import cr.co.arquetipos.crypto.Blowfish
-import org.codehaus.groovy.grails.commons.ConfigurationHolder
/**
* Service de cryptage de l'url de l'accès à la vie scolaire
private byte[] hexStringToArray(String inputString) {
byte[] array = null
if (inputString != null) {
- if (inputString?.length() % 2 == 1) {
+ if (inputString?.length() % 2 != 0) {
inputString = '0' + inputString // pour les cas AFF -> 0AFF
}
array = Hex.decode(inputString.getBytes('UTF-8'))
/**
* La classe construit le rapport d'import STS
- * @author wy
* @author bahj
*/
-
@SuppressWarnings('AbcComplexity')
public class StsImportRapportHtmlBuilder implements HtmlRapport {
StsImportRapport rapport
buildHtml(builder)
}
- @SuppressWarnings('AbcComplexity')
- @SuppressWarnings('MethodSize')
- @SuppressWarnings('NestedBlockDepth')
+ @SuppressWarnings(['MethodSize', 'AbcComplexity', 'NestedBlockDepth'])
public buildHtml(MarkupBuilder builder) {
def servletContext = ServletContextHolder.servletContext
InputStream is = servletContext.getResourceAsStream('/css/main.css')
br {}
div("id": "Statistiques", "class": "portal-menu-separator") {
h4 {
- li(
- 'Nombre de professeurs principaux importés : ' + rapport.nbProfesseursPrincipauxImportes
- )
- li(
- 'Nombre d\'échec de création de professeurs principaux : ' + rapport.nbEchecCreationProfesseursPrincipaux
- )
+ li('Nombre de professeurs principaux importés : ' + rapport.nbProfesseursPrincipauxImportes)
+ li('Nombre d\'échec de création de professeurs principaux : ' + rapport.nbEchecCreationProfesseursPrincipaux)
br {}
- li(
- 'Nombre des enseignants mis à jour : ' + rapport.nbEnseignantsImportes
- )
- li(
- 'Nombre d\'échec de mise à jour des enseignants : ' + rapport.nbEchecEnseignantsImportes
- )
+ li('Nombre des enseignants mis à jour : ' + rapport.nbEnseignantsImportes)
+ li('Nombre d\'échec de mise à jour des enseignants : ' + rapport.nbEchecEnseignantsImportes)
br {}
- li(
- 'Nombre de matières créées ou modifiées : ' + rapport.nbMatieresImportees
- )
- li(
- 'Nombre d\'échec de création de matières : ' + rapport.nbEchecMatieresImportees
- )
+ li('Nombre de matières créées ou modifiées : ' + rapport.nbMatieresImportees)
+ li('Nombre d\'échec de création de matières : ' + rapport.nbEchecMatieresImportees)
br {}
- li(
- 'Nombre de modalité cours créées ou modifiées : ' + rapport.nbModalitesCoursImportees
- )
- li(
- 'Nombre d\'échec de modalité cours : ' + rapport.nbEchecModalitesCoursImportees
- )
+ li('Nombre de modalité cours créées ou modifiées : ' + rapport.nbModalitesCoursImportees)
+ li('Nombre d\'échec de modalité cours : ' + rapport.nbEchecModalitesCoursImportees)
br {}
- li(
- 'Nombre de structures d\'enseignement mises à jour : ' + rapport.nbStructuresImportees
- )
- li(
- 'Nombre d\'échec de mise à jour de structures d\'enseignement : ' + rapport.nbEchecStructuresImportees
- )
- li(
- 'Nombre de structures d\'enseignement inexistantes: ' + rapport.nbStructuresInexistants
- )
+ li('Nombre de structures d\'enseignement mises à jour : ' + rapport.nbStructuresImportees)
+ li('Nombre d\'échec de mise à jour de structures d\'enseignement : ' + rapport.nbEchecStructuresImportees)
+ li('Nombre de structures d\'enseignement inexistantes: ' + rapport.nbStructuresInexistants)
br {}
- li(
- 'Nombre de services créés ou mis à jour: ' + rapport.nbServicesImportes
- )
- li(
- 'Nombre d\'échec de création de services : ' + rapport.nbEchecServicesImportes
- )
+ li('Nombre de services créés ou mis à jour: ' + rapport.nbServicesImportes)
+ li('Nombre d\'échec de création de services : ' + rapport.nbEchecServicesImportes)
br {}
- li(
- 'Nombre d\'enseignements créés ou mis à jour: ' + rapport.nbEnseignementImportes
- )
- li(
- 'Nombre d\'échec de création d\'enseigements : ' + rapport.nbEchecEnseignementImportes
- )
+ li('Nombre d\'enseignements créés ou mis à jour: ' + rapport.nbEnseignementImportes)
+ li('Nombre d\'échec de création d\'enseigements : ' + rapport.nbEchecEnseignementImportes)
br {}
- li(
- 'Nombre de cahiers de textes créés ou mis à jour: ' + rapport.nbCahiersImportes
- )
- li(
- 'Nombre d\'échec de création de cahiers de textes : ' + rapport.nbEchecCahiersImportes
- )
+ li('Nombre de cahiers de textes créés ou mis à jour: ' + rapport.nbCahiersImportes)
+ li('Nombre d\'échec de création de cahiers de textes : ' + rapport.nbEchecCahiersImportes)
br {}
- li(
- 'Nombre d\'agendas structure créés ou modifiés : ' + rapport.nbAgendaStructureCree
- )
- li(
- 'Nombre d\'échec de création d\'agendas Structure : ' + rapport.nbEchecCreationAgendaStructure
- )
+ li('Nombre d\'agendas structure créés ou modifiés : ' + rapport.nbAgendaStructureCree)
+ li('Nombre d\'échec de création d\'agendas Structure : ' + rapport.nbEchecCreationAgendaStructure)
br {}
- li(
- 'Nombre d\'agendas enseignant créés ou modifiés : ' + rapport.nbAgendaEnseignantCree
- )
- li(
- 'Nombre d\'échec de création d\'agendas Enseignant :' + rapport.nbEchecCreationAgendaEnseignant
- )
+ li('Nombre d\'agendas enseignant créés ou modifiés : ' + rapport.nbAgendaEnseignantCree)
+ li('Nombre d\'échec de création d\'agendas Enseignant :' + rapport.nbEchecCreationAgendaEnseignant)
br {}
- li(
- 'Nombre d\'évènements créés : ' + rapport.nbEvenementsCree
- )
- li(
- 'Nombre d\'échec de création d\'évènements : ' + rapport.nbEchecCreationEvenement
- )
+ li('Nombre d\'évènements créés : ' + rapport.nbEvenementsCree)
+ li('Nombre d\'échec de création d\'évènements : ' + rapport.nbEchecCreationEvenement)
br {}
- li(
- 'Nombre d\'alternances en erreur (hors année scolaire) : ' + rapport.nbAlternancesEnErreur
- )
+ li('Nombre d\'alternances en erreur (hors année scolaire) : ' + rapport.nbAlternancesEnErreur)
}
}
br {}
}
}
}
-
}
br {}
br {}
* <http://www.cecill.info/licences.fr.html>.
*/
-
-
-
-
package org.lilie.services.eliot.test
import org.lilie.services.eliot.scolarite.Etablissement
import org.lilie.services.eliot.scolarite.IntervalleEnum
import org.lilie.services.eliot.scolarite.NaturePeriode
+import org.lilie.services.eliot.environnement.EnvironnementUtil
/**
* @author msan
*/
+@SuppressWarnings('GrailsStatelessService') // Service utilisé uniquement pour les tests
class InitPeriodeTestService {
InitStructureEnseignementTestService initStructureEnseignementTestService
* Crée le jeu de données de test
*/
void initialisePeriodesDeTest() {
+ if (!EnvironnementUtil.isEnvironmentTest()) {
+ throw new IllegalAccessException('Méthode utilisé pour les tests uniquement')
+ }
// crée les structures d'enseignements
return getGroupeInfoForGroupeScolariteDto(result)
}
-
- /**
+
+ /**
* Retourne le groupe d'un établissement et type donnés
* @param idExterneEtablissement : Id externe de l'établissement
* @param type : code du type de groupe
* @return le groupe recherché
- */ GroupeInfo getGroupeForTypeAndEtablissement(String idExterneEtablissement,
- String type) {
+ */
+ GroupeInfo getGroupeForTypeAndEtablissement(String idExterneEtablissement,
+ String type) {
GroupeScolariteDto groupe = new GroupeScolariteDto()
GroupeScolariteDto result
groupe.type = type
/**
* Constitue le CriteresRechercheDto
- * @param motClef
- * @param profilStr
- * @param etablissements
- * @param tailleLimite
- * @param tailleMax
- * @param fonctionStr
- * @param fonctions
- * @param niveauStr
- * @param profilEnums
- * @param tous
- * @param typeDeGroupe
- * @return
*/
private CriteresRechercheDto creeCriteresRechercheDto(String motClef, String profilStr, List etablissements, int tailleLimite, int tailleMax, String fonctionStr, List fonctions, String niveauStr, List profilEnums, boolean tous, String typeDeGroupe) {
CriteresRechercheDto criteresRechercheUtilisateurDto = new CriteresRechercheDto()
/**
* Retourne les informations de groupes étendus associé à un utilisateur
- * @param personneIdExterne
- * @param codePorteurENT
- * @return
*/
public List<GroupeEtenduInfo> getGroupeEtenduInfoForIdExterneEleve(String personneIdExterne,
String codePorteurENT) {