예제 #1
0
 /**
  * Correction d'une FTA
  * Pour une FTA données, correction d'un chapitre et dévalidation des processus suivants
  * @param type $paramIdFta
  * @param type $paramIdChapitre
  * @param type $option
  * @return int
  */
 public static function buildCorrectionChapitre($paramIdFta, $paramIdChapitre, $option)
 {
     $option['no_message_ecran'];
     //0=affichage à l'ecran, 1=rien
     $option['correction_fta_suivi_projet'];
     //Commentaire justifiant la correction du chapitre
     $option['mail_gestionnaire'];
     //Informe le gestionnaire de la Fta de la mise en correction de sa Fta
     $HtmlResult = new HtmlResult2();
     $globalConfig = new GlobalConfig();
     UserModel::checkUserSessionExpired($globalConfig);
     //Récupération des informations préalables
     //Nom de l'assistante de projet responsable:
     $idUser = $globalConfig->getAuthenticatedUser()->getKeyValue();
     $mailExpediteur = $globalConfig->getAuthenticatedUser()->getDataField(UserModel::FIELDNAME_MAIL)->getFieldValue();
     $nomPrenom = $globalConfig->getAuthenticatedUser()->getPrenomNom();
     $idFtaWorkflowStructure = FtaWorkflowStructureModel::getIdFtaWorkflowStructureByIdFtaAndIdChapitre($paramIdFta, $paramIdChapitre);
     $ftaWorkflowStructureModel = new FtaWorkflowStructureModel($idFtaWorkflowStructure, $paramIdChapitre);
     $idFtaProcessus = $ftaWorkflowStructureModel->getDataField(FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS)->getFieldValue();
     $idFtaWorkflow = $ftaWorkflowStructureModel->getDataField(FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW)->getFieldValue();
     $arrayFtaSuiviCorrection = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET . ',' . FtaSuiviProjetModel::FIELDNAME_NOTIFICATION_FTA_SUIVI_PROJET . ' FROM ' . FtaSuiviProjetModel::TABLENAME . ' WHERE ' . FtaModel::KEYNAME . '=' . $paramIdFta . ' AND ' . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . '=' . $paramIdChapitre . ' ');
     if ($arrayFtaSuiviCorrection) {
         foreach ($arrayFtaSuiviCorrection as $rowsFtaSuiviCorrection) {
             $current_correction_fta_suivi_projet = $rowsFtaSuiviCorrection[FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET];
             $notificationFtaSuiviProjet = $rowsFtaSuiviCorrection[FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET];
         }
     }
     //Intégration du commentaire de la correction
     if ($current_correction_fta_suivi_projet and $option[FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET]) {
         $fullComment = $option[FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET] . '\\n\\n' . $current_correction_fta_suivi_projet;
         $newCorrectionFtaSuiviProjet = FtaController::getComment("Correction d'une Fta", $nomPrenom, $fullComment);
     }
     //        $newCorrectionFtaSuiviProjet = mysql_real_escape_string($newCorrectionFtaSuiviProjet);
     $newCorrectionFtaSuiviProjet = str_replace("<br/>", "\n", $newCorrectionFtaSuiviProjet);
     //Dévalidation du chapitre en cours
     $reqDevelidationChapitre = " UPDATE " . FtaSuiviProjetModel::TABLENAME . " SET " . FtaSuiviProjetModel::FIELDNAME_SIGNATURE_VALIDATION_SUIVI_PROJET . "=0, " . FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET . "=\"" . $newCorrectionFtaSuiviProjet . "\" " . " WHERE " . FtaModel::KEYNAME . "=" . $paramIdFta . " AND " . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . "=" . $paramIdChapitre;
     DatabaseOperation::execute($reqDevelidationChapitre);
     /*
      * Mise à jour de la validation de l'échéance du processus
      * fonction non utilisé
      */
     // FtaProcessusDelaiModel::BuildFtaProcessusValidationDelai($paramIdFta, $idFtaProcessus, $idFtaWorkflow);
     //Dévalidation des processus suivants
     $return = FtaChapitreModel::buildDevalidationChapitre($paramIdFta, $idFtaProcessus, $HtmlResult);
     /**
      * Actualisation du pourcentage de validation de la Fta
      */
     $idFtaSuiviProjet = FtaSuiviProjetModel::getIdFtaSuiviProjetByIdFtaAndIdChapitre($paramIdFta, $paramIdChapitre);
     $modelFtaSuiviProjet = new FtaSuiviProjetModel($idFtaSuiviProjet);
     $modelFtaSuiviProjet->unsetSigned();
     $modelFtaSuiviProjet->saveToDatabase();
     //print_r($return['mail']);      //Tableau contenant les adresses emails des personnes concernées par la dévalidation
     if (count($return) > 1) {
         $return['processus'] = array_unique($return['processus']);
         //Tableau contenant les identifiants des processus dévalidés unique
     }
     if (is_string($return['processus'])) {
         $return['processus'] = array('processus' => $return['processus']);
     }
     //Informations
     if ($return['processus']) {
         foreach ($return['processus'] as $id_Fta_Processus) {
             $idFtaProcessus = $id_Fta_Processus;
             $arrayFtaProcessus = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaProcessusModel::FIELDNAME_NOM . ' FROM ' . FtaProcessusModel::TABLENAME . ', ' . FtaWorkflowStructureModel::TABLENAME . ' WHERE ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . '=' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::KEYNAME . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . '=' . $idFtaProcessus . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . '=' . $idFtaWorkflow);
             if ($arrayFtaProcessus) {
                 foreach ($arrayFtaProcessus as $rowsFtaProcessus) {
                     $message .= $rowsFtaProcessus[FtaProcessusModel::FIELDNAME_NOM] . '<br>';
                 }
             }
         }
         if (!$message) {
             $message = 'Aucun processus n\'a été dévalidé.';
         }
         $titre = 'Liste des Processus dévalidés';
         if (!$option['no_message_ecran']) {
             Lib::showMessage($titre, $message, $redirection);
         }
         //Envoi des mails
         $show_din = FtaModel::showDin($paramIdFta);
         $sujetElements = $show_din;
         if ($return['mail']) {
             $return['mail'] = array_unique($return['mail']);
             foreach ($return['mail'] as $mail) {
                 $sujetmail = 'FTA/Correction: ' . $sujetElements;
                 $destinataire = $mail;
                 $expediteur = $nomPrenom . ' <' . $mailExpediteur . '>';
                 $text = 'Vos chapitres viennent d\'être dévalidés suite à une correction apportée par ' . $nomPrenom . '.\\n\\n' . 'OBJET DE LA CORRECTION:\\n' . '\\t' . stripslashes($option[FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET]);
                 $typeMail = 'Correction';
                 if ($notificationFtaSuiviProjet) {
                     envoismail($sujetmail, $text, $destinataire, $expediteur, $typeMail);
                 }
             }
         }
         /**
          * Génération d'un mail informant le gestionnaire de la Fta
          */
         if ($option['mail_gestionnaire']) {
             $ftaModel = new FtaModel($paramIdFta);
             $idGestionnaire = $ftaModel->getModelCreateur()->getKeyValue();
             //Tableau des id intranet actions Fta
             $arrayAction = IntranetDroitsAccesModel::getArrayIdIntranetActionWithAccesRightsToFtaByUser($idGestionnaire);
             $checkDiffusion = FtaController::isValueInArray(IntranetNiveauAccesModel::NIVEAU_FTA_DIFFUSION, $arrayAction);
             if ($idGestionnaire != $idUser and $checkDiffusion) {
                 $mailGestionnaire = $ftaModel->getModelCreateur()->getDataField(UserModel::FIELDNAME_MAIL)->getFieldValue();
                 $sujetmail = 'FTA/Mise en Correction: ' . $sujetElements . ' par ' . $nomPrenom;
                 $destinataire = $mailGestionnaire;
                 $expediteur = $nomPrenom . ' <' . $mailExpediteur . '>';
                 $text = 'Une nouvelle version vient d\'être crée, la correction apportée par ' . $nomPrenom . ' est au sujet de :\\n' . '\\t' . stripslashes($option[FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET]);
                 $typeMail = 'CorrectionValidation2Modification';
                 envoismail($sujetmail, $text, $destinataire, $expediteur, $typeMail);
             }
         }
     }
     //Fin du traitement des processus suivants
     return 1;
 }
 /**
  * On obtient les corrections de chaque chapitres
  * @param int $paramIdFta
  * @param int $paramIdFtaWorkflow
  * @return int
  */
 public static function getAllCorrectionsFromChapitres($paramIdFta, $paramIdFtaWorkflow)
 {
     $arrayCommentaireAllChapitre = DatabaseOperation::convertSqlStatementWithoutKeyToArray("SELECT " . FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET . "," . UserModel::FIELDNAME_PRENOM . "," . UserModel::FIELDNAME_NOM . "," . FtaSuiviProjetModel::TABLENAME . "." . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . "," . FtaSuiviProjetModel::TABLENAME . "." . FtaSuiviProjetModel::FIELDNAME_DATE_VALIDATION_SUIVI_PROJET . " FROM " . FtaSuiviProjetModel::TABLENAME . ", " . UserModel::TABLENAME . ", " . FtaWorkflowStructureModel::TABLENAME . " WHERE ( " . FtaSuiviProjetModel::TABLENAME . "." . FtaSuiviProjetModel::FIELDNAME_SIGNATURE_VALIDATION_SUIVI_PROJET . " = " . UserModel::TABLENAME . "." . UserModel::KEYNAME . " ) " . " AND " . FtaSuiviProjetModel::TABLENAME . "." . FtaSuiviProjetModel::FIELDNAME_ID_FTA . " = " . $paramIdFta . " AND " . FtaWorkflowStructureModel::TABLENAME . "." . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . " = " . $paramIdFtaWorkflow . " AND " . FtaWorkflowStructureModel::TABLENAME . "." . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_CHAPITRE . " = " . FtaSuiviProjetModel::TABLENAME . "." . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . " ORDER BY " . FtaSuiviProjetModel::FIELDNAME_DATE_VALIDATION_SUIVI_PROJET . " DESC ");
     if ($arrayCommentaireAllChapitre) {
         foreach ($arrayCommentaireAllChapitre as $rowsCommentaireAllChapitre) {
             if ($rowsCommentaireAllChapitre[FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET]) {
                 $idFtaChapitre = $rowsCommentaireAllChapitre[FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE];
                 $dateDeValidation = $rowsCommentaireAllChapitre[FtaSuiviProjetModel::FIELDNAME_DATE_VALIDATION_SUIVI_PROJET];
                 $ftaChapitreModel = new FtaChapitreModel($idFtaChapitre);
                 $nomChapitre = $ftaChapitreModel->getDataField(FtaChapitreModel::FIELDNAME_NOM_USUEL_CHAPITRE)->getFieldValue();
                 $action = "Chapitre " . $nomChapitre;
                 $nomPrenom = $rowsCommentaireAllChapitre[UserModel::FIELDNAME_PRENOM] . " " . $rowsCommentaireAllChapitre[UserModel::FIELDNAME_NOM];
                 $comment = $rowsCommentaireAllChapitre[FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET];
                 $return .= FtaController::getComment($action, $nomPrenom, $comment, $dateDeValidation) . "\n";
             }
         }
         $return = "<tr class=contenu><td> Récapitulatif des corrections</td><td>" . $return . "</td></tr>";
     } else {
         $return = "<tr class=contenu><td> Récapitulatif des corrections</td><td></td></tr>";
     }
     return str_replace("  ", "&nbsp;&nbsp;", nl2br($return));
 }
 /**
  * Fonction transitant une fiche vers un etat donné
  * @param type $paramIdFta
  * @param type $paramAbreviationFtaTransition
  * @param type $paramCommentaireMajFta
  * @param type $paramIdWorkflow
  * @param type $paramListeChapitres
  * @return array
  */
 public static function buildTransitionFta($paramIdFta, $paramAbreviationFtaTransition, $paramCommentaireMajFta, $paramIdWorkflow, $paramListeChapitres, $dateEcheanceFta)
 {
     /*
      * Codes de retour de la fonction:
      */
     /*
      0: FTA correctement transitée
      1: FTA non transité car risque de doublon
      3: Erreur autre
     */
     $return["0"] = "0";
     /*
      * Chargement de l'enregistrement
      */
     $ftaModel = new FtaModel($paramIdFta);
     $idFtaEtatByIdFta = $ftaModel->getDataField(FtaModel::FIELDNAME_ID_FTA_ETAT)->getFieldValue();
     $idDossierFta = $ftaModel->getDossierFta();
     $codeArticleLdc = $ftaModel->getDataField(FtaModel::FIELDNAME_CODE_ARTICLE_LDC)->getFieldValue();
     $siteDeProduction = $ftaModel->getDataField(FtaModel::FIELDNAME_SITE_PRODUCTION)->getFieldValue();
     $versionDossierFta = $ftaModel->getDataField(FtaModel::FIELDNAME_VERSION_DOSSIER_FTA)->getFieldValue();
     $old_nouveau_maj_fta = $ftaModel->getDataField(FtaModel::FIELDNAME_COMMENTAIRE_MAJ_FTA)->getFieldValue();
     $ftaEtatModel = new FtaEtatModel($idFtaEtatByIdFta);
     $initial_abreviation_fta_etat = $ftaEtatModel->getDataField(FtaEtatModel::FIELDNAME_ABREVIATION)->getFieldValue();
     $globalConfig = new GlobalConfig();
     UserModel::checkUserSessionExpired($globalConfig);
     $nomPrenom = $globalConfig->getAuthenticatedUser()->getPrenomNom();
     $idUser = $globalConfig->getAuthenticatedUser()->getKeyValue();
     /*         * *****************************************************************************
               Pré-traitement spécifique
              * ***************************************************************************** */
     switch (TRUE) {
         case $paramAbreviationFtaTransition == FtaEtatModel::ETAT_ABREVIATION_VALUE_VALIDE:
             //Passer en Validée
             //Retirer les versions obsolètes
             $req = "UPDATE " . FtaModel::TABLENAME . " SET " . FtaModel::FIELDNAME_ID_FTA_ETAT . "='6'" . " WHERE " . FtaModel::FIELDNAME_DOSSIER_FTA . "='" . $idDossierFta . "' ";
             $result = DatabaseOperation::execute($req);
             //Mise à jour de la date de validation
             //                $ftaModel->getDataField(FtaModel::FIELDNAME_DATE_DERNIERE_MAJ_FTA)->setFieldValue(date('d-m-Y'));
             //                $ftaModel->saveToDatabase();
             /*
              * Préparation des données
              */
             $nouveau_maj_fta = FtaController::getComment("Validation d'une Fta", $nomPrenom, NULL);
             /**
              * Gestion des Code Article Arcadia Primaire/Secondaires
              */
             $ftaModel->manageFtaPrimaireSecondaire(FtaEtatModel::ID_VALUE_VALIDE, FtaVerrouillageChampsModel::CHANGE_STATE_TRUE_VALIDATION_CHAPITRE);
             break;
             //            case $paramAbreviationFtaTransition == FtaEtatModel::ETAT_ABREVIATION_VALUE_WORKFLOW:
             //                //Dans le cas d'une mise à jour, récupération des Chapitres à corriger.
             //
             //                $liste_chapitre_maj_fta = ";";
             //                //Mise à  jour de la table Fta_suivie_projet
             //                FtaSuiviProjetModel::initFtaSuiviProjet($paramIdFta);
             //                foreach ($paramListeChapitres as $rowsChapitre) {
             //                    //Parcours des chapitres
             //                    //Si le chapitre a été sélectionné, on l'enregistre dans le tableau de résultat
             //                    $liste_chapitre_maj_fta.=$rowsChapitre . ";";
             //                    //Correction des chapitres
             //                    $paramOption["no_message_ecran"] = "1";
             //                    $paramOption["correction_fta_suivi_projet"] = $nouveau_maj_fta;
             //                    FtaChapitreModel::BuildCorrectionChapitre($paramIdFta, $rowsChapitre, $paramOption);
             //                }
             //                $paramAbreviationFtaTransition = FtaEtatModel::ETAT_ABREVIATION_VALUE_MODIFICATION;
             //                break;
         //            case $paramAbreviationFtaTransition == FtaEtatModel::ETAT_ABREVIATION_VALUE_WORKFLOW:
         //                //Dans le cas d'une mise à jour, récupération des Chapitres à corriger.
         //
         //                $liste_chapitre_maj_fta = ";";
         //                //Mise à  jour de la table Fta_suivie_projet
         //                FtaSuiviProjetModel::initFtaSuiviProjet($paramIdFta);
         //                foreach ($paramListeChapitres as $rowsChapitre) {
         //                    //Parcours des chapitres
         //                    //Si le chapitre a été sélectionné, on l'enregistre dans le tableau de résultat
         //                    $liste_chapitre_maj_fta.=$rowsChapitre . ";";
         //                    //Correction des chapitres
         //                    $paramOption["no_message_ecran"] = "1";
         //                    $paramOption["correction_fta_suivi_projet"] = $nouveau_maj_fta;
         //                    FtaChapitreModel::BuildCorrectionChapitre($paramIdFta, $rowsChapitre, $paramOption);
         //                }
         //                $paramAbreviationFtaTransition = FtaEtatModel::ETAT_ABREVIATION_VALUE_MODIFICATION;
         //                break;
         case $paramAbreviationFtaTransition == FtaEtatModel::ETAT_ABREVIATION_VALUE_MODIFICATION:
             //Passer en Initialisation
             //Vérification que le dossier n'a pas une fiche déjà en Mise à jour
             $array = DatabaseOperation::convertSqlStatementWithoutKeyToArray("SELECT " . FtaModel::KEYNAME . " FROM " . FtaModel::TABLENAME . "," . FtaEtatModel::TABLENAME . " WHERE " . FtaModel::FIELDNAME_DOSSIER_FTA . "=" . $idDossierFta . " " . " AND " . FtaModel::TABLENAME . "." . FtaModel::FIELDNAME_ID_FTA_ETAT . "=" . FtaEtatModel::TABLENAME . "." . FtaEtatModel::KEYNAME . " AND (" . FtaEtatModel::FIELDNAME_ABREVIATION . "<>'" . FtaEtatModel::ETAT_ABREVIATION_VALUE_VALIDE . "' AND " . FtaEtatModel::FIELDNAME_ABREVIATION . "<>'" . FtaEtatModel::ETAT_ABREVIATION_VALUE_RETIRE . "' AND " . FtaEtatModel::FIELDNAME_ABREVIATION . "<>'" . FtaEtatModel::ETAT_ABREVIATION_VALUE_ARCHIVE . "') ");
             $verrou = count($array);
             if ($verrou and !$_SESSION["mode_debug"]) {
                 $titre = "Action vérrouillée";
                 $message = "Cette fiche est déjà en cours de modification.";
                 $redirection = "";
                 Lib::showMessage($titre, $message, $redirection);
                 $return["0"] = "1";
                 return $return;
                 exit;
             }
             /**
              * Transition d'une Fta Archivévers Modifier doit être la dernier version du dossier
              * afin d'éviter les doublons
              */
             if ($initial_abreviation_fta_etat == FtaEtatModel::ETAT_ABREVIATION_VALUE_ARCHIVE or $initial_abreviation_fta_etat == FtaEtatModel::ETAT_ABREVIATION_VALUE_VALIDE) {
                 /**
                  * On récupère la dernière version du dossier
                  */
                 $arrayIdDossierVersion = DatabaseOperation::convertSqlStatementWithoutKeyToArray("SELECT MAX(" . FtaModel::FIELDNAME_VERSION_DOSSIER_FTA . ")  FROM " . FtaModel::TABLENAME . " WHERE " . FtaModel::FIELDNAME_DOSSIER_FTA . "=" . $idDossierFta);
                 foreach ($arrayIdDossierVersion as $rowsIdDossierVersion) {
                     $IdDossierVersion = $rowsIdDossierVersion['MAX(' . FtaModel::FIELDNAME_VERSION_DOSSIER_FTA . ')'];
                 }
             } else {
                 $IdDossierVersion = "";
             }
             //Dans le cas d'une mise à jour, récupération des Chapitres à corriger.
             $liste_chapitre_maj_fta = ";";
             foreach ($paramListeChapitres as $rowsChapitre) {
                 //Parcours des chapitres
                 //Si le chapitre a été sélectionné, on l'enregistre dans le tableau de résultat
                 $liste_chapitre_maj_fta .= $rowsChapitre . ";";
             }
             /**
              * Commentaire de transition
              */
             $nouveau_maj_fta = FtaController::getComment("Correction d'une Fta", $nomPrenom, $paramCommentaireMajFta);
             // Retirer la FTA de présentation avant de créer la nouvelle version en modification.
             if ($initial_abreviation_fta_etat == FtaEtatModel::ETAT_ABREVIATION_VALUE_PRESENTATION) {
                 //Retirer la version de présentation
                 $req = "UPDATE " . FtaModel::TABLENAME . " SET " . FtaModel::FIELDNAME_ID_FTA_ETAT . "='6'" . "WHERE id_fta='" . $paramIdFta . "' ";
                 $result = DatabaseOperation::execute($req);
             }
             //Duplication de la fiche
             $id_fta_original = $paramIdFta;
             $action_duplication = "version";
             $option_duplication["abreviation_etat_destination"] = $paramAbreviationFtaTransition;
             $option_duplication["selection_chapitre"] = $paramListeChapitres;
             $option_duplication["site_de_production"] = $siteDeProduction;
             $option_duplication["id_version_dossier_fta"] = $IdDossierVersion;
             $option_duplication["date_echeance_fta"] = $dateEcheanceFta;
             $option_duplication["nouveau_maj_fta"] = $nouveau_maj_fta;
             $idFtaNew = FtaModel::buildDuplicationFta($id_fta_original, $action_duplication, $option_duplication, $paramIdWorkflow);
             $ftaModel = new FtaModel($idFtaNew);
             $codeArticleLdc = $ftaModel->getDataField(FtaModel::FIELDNAME_CODE_ARTICLE_LDC)->getFieldValue();
             $paramIdFta = $idFtaNew;
             break;
         case $paramAbreviationFtaTransition == FtaEtatModel::ETAT_ABREVIATION_VALUE_RETIRE:
             //Passer en Retirer
             /*
              * Préparation des données
              */
             $nouveau_maj_fta = FtaController::getComment("Retirer une Fta", $nomPrenom, NULL);
             break;
         case $paramAbreviationFtaTransition == FtaEtatModel::ETAT_ABREVIATION_VALUE_ARCHIVE:
             //Passer en Archivé
             /*
              * Préparation des données
              */
             $nouveau_maj_fta = FtaController::getComment("Archivage d'une Fta", $nomPrenom, NULL);
             break;
         default:
             break;
     }
     //Fin Pré-traitement spécifique
     /*         * ************************************************************* 1****************
               Traitement Commun
              * ***************************************************************************** */
     /**
      * Mise à jour de la date derniere modification de l'état de la Fta
      */
     $ftaModel->getDataField(FtaModel::FIELDNAME_DATE_DERNIERE_MAJ_FTA)->setFieldValue(date('Y-m-d'));
     $ftaModel->saveToDatabase();
     //Récupération du nouvel état de la fiche
     $arrayIdFtaEtat = DatabaseOperation::convertSqlStatementWithoutKeyToArray("SELECT " . FtaEtatModel::KEYNAME . " FROM " . FtaEtatModel::TABLENAME . " WHERE " . FtaEtatModel::FIELDNAME_ABREVIATION . "=\"" . $paramAbreviationFtaTransition . "\"");
     foreach ($arrayIdFtaEtat as $value) {
         $idFtaEtat = $value[FtaEtatModel::KEYNAME];
     }
     if ($old_nouveau_maj_fta) {
         $nouveau_maj_fta = str_replace('"', '', $nouveau_maj_fta . $old_nouveau_maj_fta);
     }
     $req = "UPDATE " . FtaModel::TABLENAME . " SET " . FtaModel::FIELDNAME_ID_FTA_ETAT . "=" . $idFtaEtat . ", " . FtaModel::FIELDNAME_COMMENTAIRE_MAJ_FTA . "=\"" . $nouveau_maj_fta . "\" WHERE " . FtaModel::KEYNAME . "=\"" . $paramIdFta . "\" ";
     DatabaseOperation::execute($req);
     /**
      * Historisation du changement d'état de la Fta
      */
     FtaEtatHistoriqueModel::setFtaEtatHistorique($paramIdFta, $idDossierFta, $versionDossierFta, $idFtaEtatByIdFta, $idFtaEtat, $idUser, $initial_abreviation_fta_etat);
     //Fin Traitement Commun
     /*         * *****************************************************************************
               Post-traitement
              * ***************************************************************************** */
     switch ($paramAbreviationFtaTransition) {
         case 'I':
             //Enregistrement des chapitres concernés par la mise à jour
             $req = "UPDATE " . FtaModel::TABLENAME . " SET " . FtaModel::FIELDNAME_LISTE_CHAPITRE_MAJ_FTA . "='" . $liste_chapitre_maj_fta . "' " . " WHERE " . FtaModel::KEYNAME . "='" . $paramIdFta . "' ";
             DatabaseOperation::execute($req);
         case 'V':
             //Désactivation de l'ancien Code Article Agrologic
             $req = "UPDATE " . FtaModel::TABLENAME . " SET " . FtaModel::FIELDNAME_CODE_ARTICLE . "=NULL " . "," . FtaModel::FIELDNAME_ACTIF . "='0'" . "," . FtaModel::FIELDNAME_DATE_DE_VALIDATION_FTA . "='" . date("Y-m-d") . "' WHERE " . FtaModel::FIELDNAME_CODE_ARTICLE_LDC . "='" . $codeArticleLdc . "' " . " AND " . FtaModel::KEYNAME . "='" . $paramIdFta . "' ";
             DatabaseOperation::execute($req);
             //Activation du nouvel Article
             $req = "UPDATE " . FtaModel::TABLENAME . " SET " . FtaModel::FIELDNAME_CODE_ARTICLE . "='" . "1" . "', actif='-1' " . " WHERE " . FtaModel::KEYNAME . "='" . $paramIdFta . "' ";
             DatabaseOperation::execute($req);
             break;
         case 'A':
         case 'R':
             $req = "UPDATE " . FtaModel::TABLENAME . " SET " . FtaModel::FIELDNAME_ACTIF . "=0" . "," . FtaModel::FIELDNAME_CODE_ARTICLE . "=NULL" . " WHERE " . FtaModel::KEYNAME . "='" . $paramIdFta . "' ";
             DatabaseOperation::execute($req);
             break;
     }
     $return["id_fta_new"] = $paramIdFta;
     $return[FtaEtatModel::KEYNAME] = $idFtaEtat;
     $return[FtaEtatModel::FIELDNAME_ABREVIATION] = $paramAbreviationFtaTransition;
     return $return;
 }