# Batchs Coltrane PERSOCHAINE ## Fichiers de perso ### Balise Traitement ```xml <Traitement> <Type></Type> <Courrier></Courrier> <Mail></Mail> <Questionnaire></Questionnaire> </Traitement> ``` ### Valeurs possibles: Type ```java INITIALISATION("Initialisation"), EDITION("Edition"), MISEAJOUR("Mise à jour"),; ``` Courrier ```java COURRIER_ENTREE("Entrée","entreeCOL","OUVDEB") COURRIER_OUVERTURE("Ouverture","ouvertureCOL","OUV") -> COURRIER_ACCOMPAGNEMENT("Accompagnement","accompagnementCOL","ACC"), COURRIER_RELANCE("Relance","relanceCOL","REL"), COURRIER_MED("MED","medCOL","MED"), COURRIER_MEDAR("MEDAR","medCOL","MEDAR"), COURRIER_CNR("CNR","cnrCOL","CNR"), COURRIER_CNRAR("CNRAR","cnrCOL","CNRAR"), COURRIER_REMERCIEMENT("Remerciement","remerciementCOL","REM"), PAS_DE_COURRIER("Sans") ``` Mail ```java MAIL_OUVERTURE("Ouverture"), MAIL_RELANCE("Relance"), MAIL_DIVERS("Divers"), PAS_DE_MAIL("Sans"), UNITAIRE("Unitaire") ``` Questionnaire ```java OUI("Oui"), NON("Non") ``` ### Combinaisons possibles #### Si Traitement = 'Initialisation' * <Courrier> peut valoir * COURRIER_ENTREE("Entrée","entreeCOL","OUVDEB"), * COURRIER_OUVERTURE("Ouverture","ouvertureCOL","OUV") * PAS_DE_COURRIER("Sans") * <Mail> peut valoir * Ouverture * Sans * Questionnaire peut valoir * Oui possible si Courrier différent de Sans (COURRIER_OUVERTURE ou COURRIER_ENTREE donc) * Non #### Si Traitement = 'Mise à jour' * <Courrier> Sans</Courrier> * <Mail>Sans</Mail> * <Questionnaire>Non</Questionnaire> #### Si Traitement = 'Edition' Courrier et Mail doivent être de même nature 'Ouverture' ou Relance (ou un des 2 vides) Pas de mail pour MED MEDAR CNR CNRAR et Remerciement ### Balise Contact Possibilité d'ajouter ```xml <Traitement> <Type>Modification</Type> </Traitement> ``` dans la balise Contact pour faire une modification des infos en base du contac ## PERSOCHAINE ### Ordonnacement des batchs Si Traitement = 'Initialisation' PESOVERIF PERSOLDAP PERSOINITPILOTAGE PERSOINITSTROMAE COURRIERCHAINE si <Courrier> différent de 'Sans' COURRIELCHAINE si <Mail> différent de 'Sans' Si Traitement = 'Mise à jour' PESOVERIF PERSOLDAP PERSOINITPILOTAGE Courrier et mail doivent valoir 'Sans' Si Traitement = 'Edition' COURRIERCHAINE si <Courrier> différent de 'Sans' COURRIELCHAINE si <Mail> différent de 'Sans' ### Détail des batchs #### PESOVERIF: verif campagne et modele existe sur orbeon verif campagne/vague existe sur pilotage recherche des contacts précédents si pas de contact renseigné dans fichier de perso (balise Contacts inexistante ou vide) #### PESOLDAP: Pour chaque contact rensigné Si idec de contact renseigné recuperation du contact dans le LDAP ajout de l'habilitation relative à la campagne Sinon creation contact dans le ldap creation mot de passe dans le ldap ajout de l'habilitation relative à la campagne + consultation_coltrane + stromae_coltrane creation d'un fichier de mots de passe #### PERSOINITPILOTAGE (:Si c'est une mise à jour, il faut obligatoirement que l'interrogation existe déjà. :) Traitement des UE Type = Initialisation -> insert or update Type = Mise à jour -> update ou error si l'ue n'existe pas Traitement des contacts Pour chacun des contacts Contact/Type = Modification -> update contact Ajout habilitation relative à la campagne * ue MAJ de la balise du contact <DerniereModification auteur="batch-{$campagne}" date=""> Traitement des interrogations Type = 'Initialisation' si interro existe deja si l contact principal existe pour cette interro, on le recupere, sinon, on prend en contact principal le premier contact du fichier update interro avec infos du fichier pour les gestionnaires sinon creation interro avec infos du fichier de perso Type = 'Mise à jour' (verif existence interro plus haut) si Contact/Type = Creation ou pas de contact dans le fichier de perso (le batch cree dans ce cas un contact) update contact principal de l' interro avec le nouveau contact créé dans les étapes précédentes sinon RIEN au niveau du contact principal Dans tous les cas, update interro avec infos du fichier pour les gestionnaires ```xml! <Interrogation idUniteEnquetee="999999100" idVague="01" idContactPrincipal="BETTYBE"> <Gestionnaires> <Gestionnaire> <Nom>Aude Wierre</Nom> <Telephone>0144382258</Telephone> <FacSimile>0144382466</FacSimile> </Gestionnaire> <Gestionnaire> <Nom>M-Lorraine Chausse</Nom> <Telephone>0144382493</Telephone> <FacSimile>0144382466</FacSimile> </Gestionnaire> </Gestionnaires> </Interrogation> ``` #### PERSOINITSTROMAE ws...