*/
class SuiviEleveController extends AbstractConsultationController {
- private SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss",
- Locale.FRANCE)
+ static final SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.FRANCE)
+ static final SimpleDateFormat sdfDateSeule = new SimpleDateFormat('dd/MM/yyyy', Locale.FRANCE)
+ static final SimpleDateFormat sdfHeure = new SimpleDateFormat('HH:mm:ss', Locale.FRANCE)
+
static final String NOM_FICHIER_EXPORT = "Absences_Suivi par eleve"
LocalStructureEnseignementService localStructureEnseignementService
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 colDateHeureSelectionnee = false
+ boolean colDateSelectionnee = false
+ boolean colHeureSelectionnee = false
boolean colNomSelectionnee = false
boolean colClasseSelectionnee = false
boolean colSupportSelectionnee = false
boolean colModeleSelectionnee = false
- if (colonnesSelectionnees.contains(SuiviEleveCourrierColonnesEnum.DATE_HEURE)){
- donneesPourExportCSV.colonnes << message(code: 'absences.publipostage.libelle.date', default: 'Date heure')
- colDateHeureSelectionnee = true
+ 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')
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 sdf = new SimpleDateFormat('dd/MM/yyyy HH:mm:ss', Locale.FRANCE)
donneesDuTableau.data.each{
List ligne = []
- if (colDateHeureSelectionnee) {ligne.add(sdf.format(new Date(it.date)))}
+ if (colDateSelectionnee) {ligne.add(sdfDateSeule.format(new Date(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)}
// vérifier les colonnes sélectionnées pour l'affichage
List<Integer> colonnesSelectionneesIds = mapParams.colonnes?.toList()
List<SuiviEleveSMSColonnesEnum> colonnesSelectionnees = getColonnesSelectionneesSMS(colonnesSelectionneesIds)
- boolean colDateHeureSelectionnee = false
+ boolean colDateSelectionnee = false
+ boolean colHeureSelectionnee = false
boolean colNomPrenomSelectionnee = false
boolean colClasseSelectionnee = false
boolean colResponsableSelectionnee = 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_HEURE)){
- donneesPourExportCSV.colonnes << message(code: 'absences.publipostage.libelle.date', default: 'Date heure')
- colDateHeureSelectionnee = true
+ 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')
// formater les données du tableau tel que pour chaque ligne, on a une liste de valeurs, dans l'ordre des colonnes du tableau
donneesDuTableau.data.each{
List ligne = []
- if (colDateHeureSelectionnee) {ligne.add(it.date)}
+ if (colDateSelectionnee) {ligne.add(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)}
private List<SuiviEleveCourrierColonnesEnum> getColonnesSelectionneesCourrier(List<Integer> colonnesSelectionneesIds) {
List<SuiviEleveCourrierColonnesEnum> colonnesSelectionnees = []
- if (colonnesSelectionneesIds?.contains(SuiviEleveCourrierColonnesEnum.DATE_HEURE.id)) {
- colonnesSelectionnees.add(SuiviEleveCourrierColonnesEnum.DATE_HEURE)
+ 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)
private List<SuiviEleveSMSColonnesEnum> getColonnesSelectionneesSMS(List<Integer> colonnesSelectionneesIds) {
List<SuiviEleveSMSColonnesEnum> colonnesSelectionnees = []
- if (colonnesSelectionneesIds?.contains(SuiviEleveSMSColonnesEnum.DATE_HEURE.id)) {
- colonnesSelectionnees.add(SuiviEleveSMSColonnesEnum.DATE_HEURE)
+ 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)
*/
private Map construitResult(List<PublipostageSuivi> suivis, Map listeEnvoi) {
Map result = (Map) [:]
- SimpleDateFormat sdf = new SimpleDateFormat('dd/MM/yyyy HH:mm:ss', Locale.FRANCE)
result.data = suivis.collect {
[
id: it.id,
- date: sdf.format(new Date(it.dateEnvoi.getTime())),
+ date: sdfDateSeule.format(new Date(it.dateEnvoi.getTime())),
+ heure: sdfHeure.format(new Date(it.dateEnvoi.getTime())),
nom: it.personne?.nomAffichage(),
classe: it.classe?.code,
type: message(code: TypeMedia.typeMediaForCode(it.media).libelle),