CalendrierService calendrierService
ImpressionTemplateDocumentService impressionTemplateDocumentService
ImpressionSuiviEleveService impressionSuiviEleveService
+ SuiviElevePreparartionExportCSVService suiviElevePreparartionExportCSVService
/**
* Page d'accueil
verifieDroitFonctionnalite(AbsencesFonctionnalite.ABS_PUBLIPOSTAGE)
- // créer un objet DonneesPourExportCSV
- DonneesPourExportCSV donneesPourExportCSV = new DonneesPourExportCSV()
- // parser les paramètres
- Map mapParams = (Map) JSON.parse(params.params)
- // recalculer le tableau
+ Map mapParams = (Map) JSON.parse(params.params)
+
Map donneesDuTableau = rechercher(params)
- // vérifier les colonnes sélectionnées pour l'affichage
- List<Integer> colonnesSelectionneesIds = mapParams.colonnes?.toList()
- List<SuiviEleveCourrierColonnesEnum> colonnesSelectionnees = getColonnesSelectionneesCourrier(colonnesSelectionneesIds)
- // définir les colonnes en créant une liste de String contenant le nom de chaque colonne
- boolean colDateSelectionnee = false
- boolean colHeureSelectionnee = false
- boolean colNomSelectionnee = false
- boolean colClasseSelectionnee = false
- boolean colSupportSelectionnee = false
- boolean colModeleSelectionnee = false
- if (colonnesSelectionnees.contains(SuiviEleveCourrierColonnesEnum.DATE)){
- donneesPourExportCSV.colonnes << message(code: 'absences.publipostage.libelle.dateSeule', default: 'Date')
- colDateSelectionnee = true
- }
- if (colonnesSelectionnees.contains(SuiviEleveCourrierColonnesEnum.HEURE)){
- donneesPourExportCSV.colonnes << message(code: 'absences.publipostage.libelle.heure', default: 'Heure')
- colHeureSelectionnee = true
- }
- if (colonnesSelectionnees.contains(SuiviEleveCourrierColonnesEnum.NOM)){
- donneesPourExportCSV.colonnes << message(code: 'absences.publipostage.libelle.nom', default: 'Nom Prénom')
- colNomSelectionnee = true
- }
- if (colonnesSelectionnees.contains(SuiviEleveCourrierColonnesEnum.CLASSE)){
- donneesPourExportCSV.colonnes << message(code: 'absences.publipostage.libelle.classe', default: 'Classe')
- colClasseSelectionnee = true
- }
- if (colonnesSelectionnees.contains(SuiviEleveCourrierColonnesEnum.SUPPORT)){
- donneesPourExportCSV.colonnes << message(code: 'absences.publipostage.libelle.support', default: 'Support')
- colSupportSelectionnee = true
- }
- if (colonnesSelectionnees.contains(SuiviEleveCourrierColonnesEnum.MODELE)){
- donneesPourExportCSV.colonnes << message(code: 'absences.libelle.modele', default: 'Modèle')
- colModeleSelectionnee = true
- }
- // formater les données du tableau tel que pour chaque ligne, on a une liste de valeurs, dans l'ordre des colonnes du tableau
- SimpleDateFormat sdfDateSeule = new SimpleDateFormat('dd/MM/yyyy', Locale.FRANCE)
- donneesDuTableau.data.each{
- List ligne = []
- if (colDateSelectionnee) {ligne.add(sdfDateSeule.format(it.date))}
- if (colHeureSelectionnee) {ligne.add(it.heure)}
- if (colNomSelectionnee) {ligne.add(it.nom)}
- if (colClasseSelectionnee) {ligne.add(it.classe)}
- if (colSupportSelectionnee) {ligne.add(it.type)}
- if (colModeleSelectionnee) {ligne.add(it.modele)}
- donneesPourExportCSV.lignes << ligne
- }
+
+ DonneesPourExportCSV donneesPourExportCSV =
+ suiviElevePreparartionExportCSVService.prepareExportSuiviEleve(
+ donneesDuTableau.data,
+ mapParams.colonnes?.toList(),
+ SuiviElevePreparartionExportCSVService.COURIER
+ )
+
+
// réaliser l'export
sendCsvFile(response, donneesPourExportCSV, NOM_FICHIER_EXPORT)
verifieDroitFonctionnalite(AbsencesFonctionnalite.ABS_PUBLIPOSTAGE)
- // créer un objet DonneesPourExportCSV
- DonneesPourExportCSV donneesPourExportCSV = new DonneesPourExportCSV()
- // parser les paramètres
- Map mapParams = (Map) JSON.parse(params.params)
- // recalculer le tableau
+ Map mapParams = (Map) JSON.parse(params.params)
+
Map donneesDuTableau = rechercher(params)
- // vérifier les colonnes sélectionnées pour l'affichage
- List<Integer> colonnesSelectionneesIds = mapParams.colonnes?.toList()
- List<SuiviEleveSMSColonnesEnum> colonnesSelectionnees = getColonnesSelectionneesSMS(colonnesSelectionneesIds)
- boolean colDateSelectionnee = false
- boolean colHeureSelectionnee = false
- boolean colNomPrenomSelectionnee = false
- boolean colClasseSelectionnee = false
- boolean colResponsableSelectionnee = false
- boolean colTelPortSelectionnee = false
- boolean colNomSMSSelectionnee = false
- boolean colStatutSelectionnee = false
- // définir les colonnes en créant une liste de String contenant le nom de chaque colonne
- if (colonnesSelectionnees.contains(SuiviEleveSMSColonnesEnum.DATE)){
- donneesPourExportCSV.colonnes << message(code: 'absences.publipostage.libelle.dateSeule', default: 'Date')
- colDateSelectionnee = true
- }
- if (colonnesSelectionnees.contains(SuiviEleveSMSColonnesEnum.HEURE)){
- donneesPourExportCSV.colonnes << message(code: 'absences.publipostage.libelle.heure', default: 'Heure')
- colHeureSelectionnee = true
- }
- if (colonnesSelectionnees.contains(SuiviEleveSMSColonnesEnum.NOM_PRENOM)){
- donneesPourExportCSV.colonnes << message(code: 'absences.publipostage.libelle.nom', default: 'Nom Prénom')
- colNomPrenomSelectionnee = true
- }
- if (colonnesSelectionnees.contains(SuiviEleveSMSColonnesEnum.CLASSE)){
- donneesPourExportCSV.colonnes << message(code: 'absences.publipostage.libelle.classe', default: 'Classe')
- colClasseSelectionnee = true
- }
- if (colonnesSelectionnees.contains(SuiviEleveSMSColonnesEnum.RESPONSABLE)){
- donneesPourExportCSV.colonnes << message(code: 'absences.libelle.responsable', default: 'Responsable')
- colResponsableSelectionnee = true
- }
- if (colonnesSelectionnees.contains(SuiviEleveSMSColonnesEnum.TEL_PORT)){
- donneesPourExportCSV.colonnes << message(code: 'absences.libelle.portable', default: 'Tél. Port.')
- colTelPortSelectionnee = true
- }
- if (colonnesSelectionnees.contains(SuiviEleveSMSColonnesEnum.NOM_SMS)){
- donneesPourExportCSV.colonnes << message(code: 'absences.libelle.nomSms', default: 'Nom du SMS')
- colNomSMSSelectionnee = true
- }
- if (colonnesSelectionnees.contains(SuiviEleveSMSColonnesEnum.STATUT)){
- donneesPourExportCSV.colonnes << message(code: 'absences.libelle.statut', default: 'Statut')
- colStatutSelectionnee = true
- }
- // formater les données du tableau tel que pour chaque ligne, on a une liste de valeurs, dans l'ordre des colonnes du tableau
- SimpleDateFormat sdfDateSeule = new SimpleDateFormat('dd/MM/yyyy', Locale.FRANCE)
- donneesDuTableau.data.each{
- List ligne = []
- if (colDateSelectionnee) {ligne.add(sdfDateSeule.format(it.date))}
- if (colHeureSelectionnee) {ligne.add(it.heure)}
- if (colNomPrenomSelectionnee) {ligne.add(it.nom)}
- if (colClasseSelectionnee) {ligne.add(it.classe)}
- if (colResponsableSelectionnee) {ligne.add(it.responsable)}
- if (colTelPortSelectionnee) {ligne.add(it.portable)}
- if (colNomSMSSelectionnee) {ligne.add(it.modele)}
- if (colStatutSelectionnee) {ligne.add(it.statut)}
- donneesPourExportCSV.lignes << ligne
- }
- // réaliser l'export
- sendCsvFile(response, donneesPourExportCSV, NOM_FICHIER_EXPORT)
- }
- private List<SuiviEleveCourrierColonnesEnum> getColonnesSelectionneesCourrier(List<Integer> colonnesSelectionneesIds) {
- List<SuiviEleveCourrierColonnesEnum> colonnesSelectionnees = []
- if (colonnesSelectionneesIds?.contains(SuiviEleveCourrierColonnesEnum.DATE.id)) {
- colonnesSelectionnees.add(SuiviEleveCourrierColonnesEnum.DATE)
- }
- if (colonnesSelectionneesIds?.contains(SuiviEleveCourrierColonnesEnum.HEURE.id)) {
- colonnesSelectionnees.add(SuiviEleveCourrierColonnesEnum.HEURE)
- }
- if (colonnesSelectionneesIds?.contains(SuiviEleveCourrierColonnesEnum.NOM.id)) {
- colonnesSelectionnees.add(SuiviEleveCourrierColonnesEnum.NOM)
- }
- if (colonnesSelectionneesIds?.contains(SuiviEleveCourrierColonnesEnum.CLASSE.id)) {
- colonnesSelectionnees.add(SuiviEleveCourrierColonnesEnum.CLASSE)
- }
- if (colonnesSelectionneesIds?.contains(SuiviEleveCourrierColonnesEnum.SUPPORT.id)) {
- colonnesSelectionnees.add(SuiviEleveCourrierColonnesEnum.SUPPORT)
- }
- if (colonnesSelectionneesIds?.contains(SuiviEleveCourrierColonnesEnum.MODELE.id)) {
- colonnesSelectionnees.add(SuiviEleveCourrierColonnesEnum.MODELE)
- }
- return colonnesSelectionnees
- }
+ DonneesPourExportCSV donneesPourExportCSV =
+ suiviElevePreparartionExportCSVService.prepareExportSuiviEleve(
+ donneesDuTableau.data,
+ mapParams.colonnes?.toList(),
+ SuiviElevePreparartionExportCSVService.SMS
+ )
- private List<SuiviEleveSMSColonnesEnum> getColonnesSelectionneesSMS(List<Integer> colonnesSelectionneesIds) {
- List<SuiviEleveSMSColonnesEnum> colonnesSelectionnees = []
- if (colonnesSelectionneesIds?.contains(SuiviEleveSMSColonnesEnum.DATE.id)) {
- colonnesSelectionnees.add(SuiviEleveSMSColonnesEnum.DATE)
- }
- if (colonnesSelectionneesIds?.contains(SuiviEleveSMSColonnesEnum.HEURE.id)) {
- colonnesSelectionnees.add(SuiviEleveSMSColonnesEnum.HEURE)
- }
- if (colonnesSelectionneesIds?.contains(SuiviEleveSMSColonnesEnum.NOM_PRENOM.id)) {
- colonnesSelectionnees.add(SuiviEleveSMSColonnesEnum.NOM_PRENOM)
- }
- if (colonnesSelectionneesIds?.contains(SuiviEleveSMSColonnesEnum.CLASSE.id)) {
- colonnesSelectionnees.add(SuiviEleveSMSColonnesEnum.CLASSE)
- }
- if (colonnesSelectionneesIds?.contains(SuiviEleveSMSColonnesEnum.RESPONSABLE.id)) {
- colonnesSelectionnees.add(SuiviEleveSMSColonnesEnum.RESPONSABLE)
- }
- if (colonnesSelectionneesIds?.contains(SuiviEleveSMSColonnesEnum.TEL_PORT.id)) {
- colonnesSelectionnees.add(SuiviEleveSMSColonnesEnum.TEL_PORT)
- }
- if (colonnesSelectionneesIds?.contains(SuiviEleveSMSColonnesEnum.NOM_SMS.id)) {
- colonnesSelectionnees.add(SuiviEleveSMSColonnesEnum.NOM_SMS)
- }
- if (colonnesSelectionneesIds?.contains(SuiviEleveSMSColonnesEnum.STATUT.id)) {
- colonnesSelectionnees.add(SuiviEleveSMSColonnesEnum.STATUT)
- }
- return colonnesSelectionnees
+ // réaliser l'export
+ sendCsvFile(response, donneesPourExportCSV, NOM_FICHIER_EXPORT)
}
- private Map rechercher(GrailsParameterMap params){
+ private Map rechercher(GrailsParameterMap params) {
int start
Map sortInfo
*/
private Map construitResult(List<PublipostageSuivi> suivis, Map listeEnvoi) {
Map result = (Map) [:]
- SimpleDateFormat sdfHeure = new SimpleDateFormat('HH:mm:ss', Locale.FRANCE)
+ SimpleDateFormat sdfDate = new SimpleDateFormat('dd/MM/yyyy', Locale.FRANCE)
+ SimpleDateFormat sdfHeure = new SimpleDateFormat('HH:mm', Locale.FRANCE)
result.data = suivis.collect {
[
id: it.id,
- date: new Date(it.dateEnvoi.getTime()),
+ date: sdfDate.format(new Date(it.dateEnvoi.getTime())),
heure: sdfHeure.format(new Date(it.dateEnvoi.getTime())),
nom: it.personne?.nomAffichage(),
classe: it.classe?.code,
if (it) {
// TOREFACT !
// Vilain patch car selon la source le type de la données est différent
- if(it instanceof String) {
+ if (it instanceof String) {
modeles << TemplateDocument.get(Long.parseLong(it))
}
else {