int start = params.start ? Integer.parseInt(params.start) : 0
int limit = params.limit ? Integer.parseInt(params.limit) : nbLigneParPage
- Map criteres = parseCriteres(params.criteres)
-
- ListeIncidentsInfo listeIncidents = absencesIncidentService.findIncidents(
- securiteSession,
- securiteSession.personne,
- getPreferencesEtablissementCourant().etablissement,
- sortInfo.field ?: 'date',
+ Map incidentsData = recupIncidents(params.criteres,
+ sortInfo.field,
(sortInfo.direction == 'ASC'),
start,
- limit,
- criteres
- )
-
- Map nomsAffichageByIdExterne =
- affichageIncidentService.getNomsAffichageByIdExterne(listeIncidents)
-
- List<IncidentConsultationInfo> incidentsData =
- affichageIncidentService.getIncidentConsultationsInfos(
- listeIncidents.incidents,
- nomsAffichageByIdExterne
- )
+ limit)
def resultats = [
- data: incidentsData,
- nbData: listeIncidents.nbIncidents
+ data: incidentsData.incidents,
+ nbData: incidentsData.nbr
]
render resultats as JSON
}
}
+ /**
+ * Récupération des incidents
+ * partie commune à l'affichage et à l'export
+ * @param jsonCriteres
+ * @param champTri
+ * @param triAscendant
+ * @param offset
+ * @param limit
+ * @return
+ */
+ private Map recupIncidents(String jsonCriteres,
+ String champTri,
+ Boolean triAscendant,
+ Integer offset,
+ Integer limit) {
+ Map criteres = parseCriteres(jsonCriteres)
+
+ ListeIncidentsInfo listeIncidents = absencesIncidentService.findIncidents(
+ securiteSession,
+ securiteSession.personne,
+ getPreferencesEtablissementCourant().etablissement,
+ champTri,
+ triAscendant,
+ offset,
+ limit,
+ criteres
+ )
+
+ Map nomsAffichageByIdExterne =
+ affichageIncidentService.getNomsAffichageByIdExterne(listeIncidents)
+
+ List<IncidentConsultationInfo> incidentInfos =
+ affichageIncidentService.getIncidentConsultationsInfos(
+ listeIncidents.incidents,
+ nomsAffichageByIdExterne
+ )
+
+ [incidents : incidentInfos, nbr : listeIncidents.nbIncidents]
+ }
+
def findIncidentsCSV = {
verifieDroitFonctionnalite(AbsencesFonctionnalite.ABS_SAISIE_INC_PUN_SAN)
+ Map incidentData =
+ recupIncidents(params.params, 'date', false, null, null)
+
DonneesPourExportCSV donneesPourExportCSV =
- absencesPreparationExportCSVService.findIncidents(
- securiteSession,
- getPreferencesEtablissementCourant().etablissement,
- securiteSession.personne
- )
+ absencesPreparationExportCSVService.prepareIncidents(incidentData.incidents)
sendCsvFile(
response,
def getPunitionsCSV = {
verifieDroitFonctionnalite(AbsencesFonctionnalite.ABS_SAISIE_INC_PUN_SAN)
- DonneesPourExportCSV donneesPourExportCSV = absencesPreparationExportCSVService.findPunitions(
- securiteSession,
- securiteSession.personne,
- etablissementCourant()
- )
+
+ Map punitionData = recupPunitions(params.params, 'date', false, null, null)
+
+ DonneesPourExportCSV donneesPourExportCSV =
+ absencesPreparationExportCSVService.preparePunitions(punitionData)
sendCsvFile(
response,
}
+ /**
+ * Récupération des punitions
+ * partie commune à l'affichage et à l'export
+ * @param jsonCriteres
+ * @param champTri
+ * @param triAscendant
+ * @param offset
+ * @param limit
+ * @return
+ */
+ private Map recupPunitions(String jsonCriteres,
+ String champTri,
+ Boolean triAscendant,
+ Integer offset,
+ Integer limit) {
+ Map criteres = parseCriteres(jsonCriteres)
+
+ absencesPunitionService.findPunitions(
+ securiteSession,
+ securiteSession.personne,
+ etablissementCourant(),
+ champTri,
+ triAscendant,
+ offset,
+ limit,
+ criteres
+ )
+ }
+
def getPunitions = {
verifieDroitFonctionnalite(AbsencesFonctionnalite.ABS_SAISIE_INC_PUN_SAN)
int start = Integer.parseInt(params.start ?: '0')
Map sortInfo = (Map) JSON.parse(params.sortInfo)
- Map criteres = parseCriteres(params.criteres)
-
- Map resultats = absencesPunitionService.findPunitions(
- securiteSession,
- securiteSession.personne,
- etablissementCourant(),
+ Map resultats = recupPunitions(params.criteres,
sortInfo.field,
(sortInfo.direction == 'ASC'),
start,
- limit,
- criteres
- )
+ limit)
def resultatsJson = [
nbData: resultats.nbPunitionsInfo,
def getSanctionsCSV = {
verifieDroitFonctionnalite(AbsencesFonctionnalite.ABS_SAISIE_INC_PUN_SAN)
- Personne enseignant = securiteSession.personne
+
+ Map sanctionData = recupSanctions(params.params, 'date', false, null, null)
DonneesPourExportCSV donneesPourExportCSV =
- absencesPreparationExportCSVService.findAllSanctionParPersonne(
- securiteSession,
- etablissementCourant(),
- enseignant
- )
+ absencesPreparationExportCSVService.prepareSanctions(sanctionData)
sendCsvFile(
response,
}
+ /**
+ * Récupération des sanctions
+ * partie commune à l'affichage et à l'export
+ * @param jsonCriteres
+ * @param champTri
+ * @param triAscendant
+ * @param offset
+ * @param limit
+ * @return
+ */
+ private Map recupSanctions(String jsonCriteres,
+ String champTri,
+ Boolean triAscendant,
+ Integer offset,
+ Integer limit) {
+ Map criteres = parseCriteres(jsonCriteres)
+
+ absencesSanctionService.findAllSanctionParPersonne(
+ securiteSession,
+ etablissementCourant(),
+ securiteSession.personne,
+ champTri,
+ triAscendant,
+ offset,
+ limit,
+ criteres
+ )
+ }
def getSanctions = {
verifieDroitFonctionnalite(AbsencesFonctionnalite.ABS_SAISIE_INC_PUN_SAN)
int start = Integer.parseInt(params.start ?: '0')
Map sortInfo = (Map) JSON.parse(params.sortInfo)
- Map criteres = parseCriteres(params.criteres)
-
- Personne enseignent = securiteSession.personne
-
- Map resultats = absencesSanctionService.findAllSanctionParPersonne(
- securiteSession,
- etablissementCourant(),
- enseignent,
+ Map resultats = recupSanctions(params.criteres,
sortInfo.field,
(sortInfo.direction == 'ASC'),
start,
- limit,
- criteres
- )
+ limit)
def resultatsJson = [
nbData: resultats.nbsanctionsInfo,
/**
* Export des sanctions pour du csv
- * @param securiteSession
- * @param etablissement
- * @param personne
+ * @param sanctionData
* @return
*/
- public DonneesPourExportCSV findAllSanctionParPersonne(SecuriteSession securiteSession,
- Etablissement etablissement,
- Personne personne
- ) {
+ public DonneesPourExportCSV prepareSanctions(Map sanctionData) {
DonneesPourExportCSV donneesPourExportCSV = new DonneesPourExportCSV()
- Map resultats = absencesSanctionService.findAllSanctionParPersonne(
- securiteSession,
- etablissement,
- personne
- )
-
donneesPourExportCSV.colonnes = [
'eliot.absences.export.absences.date',
'eliot.absences.export.absences.typeSanction',
'eliot.absences.export.absences.effectue'
]
-
- resultats.donnees.each {
+ sanctionData.sanctionsInfo.each {
Sanction sanction = (Sanction) it[0]
StructureEnseignement structureEnseignement = (StructureEnseignement) it[1]
/**
* Export des données csv des punitions
- * @param securiteSession
- * @param personne
- * @param etablissement
+ * @param punitionData
* @return
*/
- public DonneesPourExportCSV findPunitions(SecuriteSession securiteSession,
- Personne personne,
- Etablissement etablissement
- ) {
+ public DonneesPourExportCSV preparePunitions(Map punitionData) {
DonneesPourExportCSV donneesPourExportCSV = new DonneesPourExportCSV()
- Map resultats = absencesPunitionService.findPunitions(
- securiteSession,
- personne,
- etablissement
- )
-
donneesPourExportCSV.colonnes = [
'eliot.absences.export.absences.date',
'eliot.absences.export.absences.nomPrenom',
'eliot.absences.export.absences.effectue'
]
- resultats.punitionsInfo.each {
+ punitionData.punitionsInfo.each {
def donnees ->
Punition punition = (Punition) donnees[0]
/**
* Recherche les données des incidents pour générer un fichier csv
- * @param securiteSession
- * @param etablissement
- * @param personne
+ * @param incidentData
* @return
*/
- public DonneesPourExportCSV findIncidents(SecuriteSession securiteSession,
- Etablissement etablissement,
- Personne personne) {
+ public DonneesPourExportCSV prepareIncidents(List<IncidentConsultationInfo> incidentData) {
DonneesPourExportCSV donneesPourExportCSV = new DonneesPourExportCSV()
- ListeIncidentsInfo listeIncidents = findListeIncidentsInfo(
- securiteSession,
- personne,
- etablissement
- )
-
- Map nomsAffichageByIdExterne =
- affichageIncidentService.getNomsAffichageByIdExterne(listeIncidents)
-
- List<IncidentConsultationInfo> incidentsData =
- affichageIncidentService.getIncidentConsultationsInfos(
- listeIncidents.incidents,
- nomsAffichageByIdExterne
- )
-
donneesPourExportCSV.colonnes = [
'eliot.absences.export.absences.incident.date',
'eliot.absences.export.absences.incident.type',
'eliot.absences.export.absences.incident.protagonistes'
]
- incidentsData.each {
+ incidentData.each {
IncidentConsultationInfo incidentConsultationInfo ->
Etablissement etablissement,
String champOrdre,
Boolean ascendant,
- int start,
- int limit,
+ Integer start,
+ Integer limit,
Map criteres = [:]) {
ListeIncidentsInfo result = new ListeIncidentsInfo(
hql += ' order by ' + champOrdre + (ascendant ? ' asc' : ' desc')
}
+ Map paginationMap = limit ? [max: limit, offset: start] : [:]
+
result.incidents = Incident.executeQuery(
hql,
hqlParams,
- [max: limit, offset: start]
- )
+ paginationMap
+ ).unique()
- result.nbIncidents = Incident.executeQuery(hql, hqlParams).size()
+ result.nbIncidents = Incident.executeQuery(hql, hqlParams).unique().size()
return result
}
Etablissement etablissement,
String champOrdre,
Boolean ascendant,
- int start,
- int limit,
+ Integer start,
+ Integer limit,
Map criteres = [:]) {
Map result = [
String champ = getNomCompletChampOrdre(champOrdre)
hqlFromPunition += ' order by ' + champ + ordre
+ Map paginationMap = limit ? [max: limit, offset: start] : [:]
+
result['punitionsInfo'] = Punition.executeQuery(
hqlFromPunition,
hqlParams,
- [max: limit, offset: start]
+ paginationMap
)
result['nbPunitionsInfo'] =
Personne personne,
String champOrdre,
Boolean ascendant,
- int start,
- int limit,
+ Integer start,
+ Integer limit,
Map criteres = [:]
) {
String champ = getNomCompletChampOrdre(champOrdre)
hqlFromSanction += ' order by ' + champ + ordre
+ Map paginationMap = limit ? [max: limit, offset: start] : [:]
+
resultats['sanctionsInfo'] = Sanction.executeQuery(
hqlFromSanction,
hqlParams,
- [max: limit, offset: start]
+ paginationMap
)
resultats['nbsanctionsInfo'] =
load : {
fn : function() {
if (this.store.getTotalCount() > 0) {
- this.fireEvent(this.BoutonExportEventsId.donneesPretesAExporter);
+ this.fireEvent(this.BoutonExportEventsId.donneesPretesAExporter, this.filter.getCriteres());
} else {
this.fireEvent(this.BoutonExportEventsId.aucuneDonneesAExporter);
}
load : {
fn : function() {
if (this.store.getTotalCount() > 0) {
- this.fireEvent(this.BoutonExportEventsId.donneesPretesAExporter);
+ this.fireEvent(this.BoutonExportEventsId.donneesPretesAExporter, this.filter.getCriteres());
} else {
this.fireEvent(this.BoutonExportEventsId.aucuneDonneesAExporter);
}
load : {
fn : function() {
if (this.store.getTotalCount() > 0) {
- this.fireEvent(this.BoutonExportEventsId.donneesPretesAExporter);
+ this.fireEvent(this.BoutonExportEventsId.donneesPretesAExporter, this.filter.getCriteres());
} else {
this.fireEvent(this.BoutonExportEventsId.aucuneDonneesAExporter);
}