/** * Mise en forme des commentaires * @param string $paramAction * @param string $paramUser * @param string $paramCommentaire * @return string */ public static function getComment($paramAction, $paramUser, $paramCommentaire, $paramDate = NULL) { if (!$paramDate) { $paramDate = date('d-m-Y H:i:s'); } else { $paramDate = FtaController::changementDuFormatDeDateFR($paramDate); } $newComment = "\n" . "==============================\n\n" . "Action : " . $paramAction . " \n" . "Date: " . $paramDate . "\n" . "Utilisateur: " . $paramUser . "\n"; if ($paramCommentaire) { $newComment .= "Commentaire: " . $paramCommentaire; } return $newComment; }
/** * Affiche une message de confirmation que les données ont bien été envoyé * @param Fta2ArcadiaTransactionModel $paramFta2ArcadiaTransactionModel * @return string */ function getMessageSendDataToArcadia(Fta2ArcadiaTransactionModel $paramFta2ArcadiaTransactionModel) { /** * Utilisateur ayant envoyer la donnée */ $idUser = $paramFta2ArcadiaTransactionModel->getDataField(Fta2ArcadiaTransactionModel::FIELDNAME_ID_USER)->getFieldValue(); $userModel = new UserModel($idUser); $prenomNom = $userModel->getPrenomNom(); /** * Date d'envoie du fichier */ $dateEnvoitmp = $paramFta2ArcadiaTransactionModel->getDataField(Fta2ArcadiaTransactionModel::FIELDNAME_DATE_ENVOI)->getFieldValue(); $dateEnvoi = FtaController::changementDuFormatDeDateFR($dateEnvoitmp); $message = '<td class="contenu"><center>' . UserInterfaceMessage::FR_ARCADIA_SEND_DATA_MESSAGE . ' par ' . $prenomNom . ' le ' . $dateEnvoi . ' </center></td>' . $this->getMessageSendDataToArcadiaAgainAndCancel(); return $message; }
public static function getHtmlTable($paramIdFta, $paramChoix, $paramResultLimitByPage = self::DEFAULT_RESULT_LIMIT_BY_PAGE, $paramOrderCommon = NULL) { /* * Déclaration des variables locales */ $largeur_html_C1 = self::HTML_CELL_WIDTH_C1; // largeur cellule type $largeur_html_C3 = self::HTML_CELL_WIDTH_C3; // largeur cellule type $compteur_ligne = 1; $selection_width = self::HTML_CELL_WIDTH_SELECTION; $lien = ""; $tableau_fiches = "<table class=titre width=100% border=0>" . "<tr class=titre_principal><td></td><td>"; $synthese_action = "all"; /* * Initilisation */ $globalConfig = new GlobalConfig(); UserModel::checkUserSessionExpired($globalConfig); $idUser = $globalConfig->getAuthenticatedUser()->getKeyValue(); $idFtaRole = FtaRoleModel::getKeyNameOfFirstRoleByIdUser($idUser); $ftaModel = new FtaModel($paramIdFta); //Chargement manuel des données pour optimiser les performances $abreviation_fta_etat = $ftaModel->getModelFtaEtat()->getDataField(FtaEtatModel::FIELDNAME_ABREVIATION)->getFieldValue(); $LIBELLE = $ftaModel->getDataField(FtaModel::FIELDNAME_LIBELLE)->getFieldValue(); $NB_UNIT_ELEM = $ftaModel->getDataField(FtaModel::FIELDNAME_NOMBRE_UVC_PAR_CARTON)->getFieldValue(); $Poids_ELEM = $ftaModel->getDataField(FtaModel::FIELDNAME_POIDS_ELEMENTAIRE)->getFieldValue(); $suffixe_agrologic_fta = $ftaModel->getModelClassificationRacourcis()->getNameRaccourcisClassif(); $designation_commerciale_fta = $ftaModel->getDataField(FtaModel::FIELDNAME_DESIGNATION_COMMERCIALE)->getFieldValue(); $id_dossier_fta = $ftaModel->getDataField(FtaModel::FIELDNAME_DOSSIER_FTA)->getFieldValue(); $id_version_dossier_fta = $ftaModel->getDataField(FtaModel::FIELDNAME_VERSION_DOSSIER_FTA)->getFieldValue(); $code_article_ldc = $ftaModel->getDataField(FtaModel::FIELDNAME_CODE_ARTICLE_LDC)->getFieldValue(); $dateEcheanceFtatmp = $ftaModel->getDataField(FtaModel::FIELDNAME_DATE_ECHEANCE_FTA)->getFieldValue(); $createur_nom = $ftaModel->getModelCreateur()->getDataField(UserModel::FIELDNAME_NOM)->getFieldValue(); $createur_prenom = $ftaModel->getModelCreateur()->getDataField(UserModel::FIELDNAME_PRENOM)->getFieldValue(); $workflowName = $ftaModel->getModelFtaWorkflow()->getDataField(FtaWorkflowModel::FIELDNAME_DESCRIPTION_FTA_WORKFLOW)->getFieldValue(); $idWorkflowFtaEncours = $ftaModel->getModelFtaWorkflow()->getKeyValue(); $nomSiteProduction = $ftaModel->getModelSiteProduction()->getDataField(GeoModel::FIELDNAME_GEO)->getFieldValue(); $idclassification = $ftaModel->getDataField(FtaModel::FIELDNAME_ID_FTA_CLASSIFICATION2)->getFieldValue(); $listeIdFtaRole = $ftaModel->getDataField(FtaModel::FIELDNAME_LISTE_ID_FTA_ROLE)->getFieldValue(); $idSiteDeProduction = $ftaModel->getDataField(FtaModel::FIELDNAME_SITE_PRODUCTION)->getFieldValue(); $idFtaEtat = $ftaModel->getDataField(FtaModel::FIELDNAME_ID_FTA_ETAT)->getFieldValue(); /** * Changment du format de date en Fr */ $dateEcheanceFta = FtaController::changementDuFormatDeDateFR($dateEcheanceFtatmp); /** * On obtient IdintranetAction du site de production */ $idIntranetActionsSiteDeProduction = FtaActionSiteModel::getArrayIdIntranetActionByWorkflowAndSiteDeProduction($idWorkflowFtaEncours, $idSiteDeProduction); /** * On verifie si selon le workflow et site de production en cours l'utilisateur connecté à les droits d'accès. * Puisqu'un utilisateur ne doit pas avoir accès aux boutons : * historique, transition, retirer, duplication et pourcentage d'avancement * si il n'a pas les accès aux site de production. */ $checkAccesButtonBySiteProd = IntranetActionsModel::isAccessFtaActionByIdUserFtaWorkflowAndSiteDeProduction($idUser, $idWorkflowFtaEncours, $idIntranetActionsSiteDeProduction); /** * Donne accès aux bouton de transition * pour les utilisateur se trouvant en fin de parcours de l'espace de travail */ $accesTransitionButton = FtaTransitionModel::isAccesTransitionButton($idFtaRole, $idWorkflowFtaEncours); /* * Attribution des couleurs de fonds suivant l'état de la FTA */ $bgcolor = self::getHtmlCellBgColor($abreviation_fta_etat); $bgcolorArcadia = self::getHtmlCellBgColorArcadia($paramIdFta, $bgcolor); $tauxRound = FtaSuiviProjetModel::getPourcentageFtaTauxValidation($ftaModel); /** * Lien vers l'historique de la Fta */ $lienHistorique = self::getHtmlLinkHistorique($abreviation_fta_etat, $paramIdFta, FtaRoleModel::ID_FTA_ROLE_COMMUN, $synthese_action, $tauxRound, $checkAccesButtonBySiteProd, $idFtaEtat); /** * Gestion des icones en fonction des délais */ $bgcolor_header = self::getHtmlBgColorIconHeader($abreviation_fta_etat, $paramIdFta); $icon_header = self::getHtmlIconEcheanceByEtatAndFta($abreviation_fta_etat, $paramIdFta); /** * Bouton d'accès au détail de la FTA */ $lien .= self::getHtmlLinkModify($abreviation_fta_etat, $paramIdFta, $synthese_action, $idFtaEtat, $checkAccesButtonBySiteProd); /** * Historique de modification */ $lien .= self::getHtmlLinkHistoriqueModfify($abreviation_fta_etat, $paramIdFta, $synthese_action, $idFtaEtat); /** * Bouton d'accès au rendu PDF de la FTA */ $lien .= self::getHtmlLinkPDF($abreviation_fta_etat, $paramIdFta, $idWorkflowFtaEncours); /** * Bouton d'accès à la transition */ $lien .= self::getHmlLinkTransiter($paramIdFta, $idFtaRole, $abreviation_fta_etat, $checkAccesButtonBySiteProd, $accesTransitionButton, $synthese_action, $tauxRound); /** * Bouton d'accès pour retirer une FTA */ if (FtaRoleModel::isGestionnaire($idFtaRole) and $checkAccesButtonBySiteProd and $abreviation_fta_etat != FtaEtatModel::ETAT_ABREVIATION_VALUE_RETIRE) { $lien .= self::getHtmlLinkRemoveFta($paramIdFta); $javascript .= self::getJavascriptLinkRemoveFta($paramIdFta, $idFtaRole, $synthese_action); } /** * Bouton d'accès pour dupliquer une FTA */ if (FtaRoleModel::isGestionnaire($idFtaRole) and $checkAccesButtonBySiteProd) { $lien .= self::getHtmlLinkDuplicateFta($paramIdFta, $idFtaRole); } //Désignation commerciale $din = self::getStringDINCompacted($designation_commerciale_fta, $LIBELLE, $NB_UNIT_ELEM, $Poids_ELEM); /* * Noms des services dans lequel la Fta se trouve */ $service = FtaRoleModel::getNameServiceEncours($listeIdFtaRole); // switch (TRUE) { // /** // * Si la FTA est en modification et que l'utilisateur n'est pas autorisé à accéder aux boutons. // */ // case ( // $abreviation_fta_etat == FtaEtatModel::ETAT_ABREVIATION_VALUE_MODIFICATION AND $checkAccesButton != FALSE // ): // $service = ""; // break; // // /** // * Si la FTA est en modification et que l'utilisateur est autorisé à accéder aux boutons. // */ // case ( // $abreviation_fta_etat == FtaEtatModel::ETAT_ABREVIATION_VALUE_MODIFICATION AND $checkAccesButton != TRUE // ): // $service = FtaRoleModel::getNameServiceEncours($listeIdFtaRole); // break; // /** // * Sinon: // */ // default: // $service = FtaRoleModel::getNameServiceEncours($listeIdFtaRole); // } /** * Calssification */ if ($idclassification) { $classification = ClassificationArborescenceArticleCategorieContenuModel::getElementClassificationFta($idclassification, ClassificationFta2Model::FIELDNAME_ID_PROPRIETAIRE_GROUPE); } //Nom de l'assistante de projet responsable: $createur_link = "\"Géré par {$createur_prenom} {$createur_nom}\""; $tableau_fiches .= "<tr class=contenu>\r\n <td {$bgcolor_header} " . $selection_width . " > {$icon_header} {$selection}</td>\r\n "; $tableau_fiches .= '<td ' . $bgcolor . ' width=8%>' . $nomSiteProduction . '<br>(' . $workflowName . ')</td>' . '<td ' . $bgcolor . ' width=3%>' . $classification . '</td>' . '<td ' . $bgcolor . ' width=3%>' . $suffixe_agrologic_fta . '</td>'; // Raccourcie Class. $tableau_fiches .= "<td {$bgcolor} {$largeur_html_C1}><a title={$createur_link} />" . $din . "</a></td>" . "<td {$bgcolor} width=3%>" . $id_dossier_fta . "v" . $id_version_dossier_fta . "</td>"; $tableau_fiches .= "<td {$bgcolorArcadia} width=\"1%\"> <b><font size=\"2\" color=\"#0000FF\">" . $code_article_ldc . "</font></b></td>"; if ($abreviation_fta_etat == FtaEtatModel::ETAT_ABREVIATION_VALUE_MODIFICATION) { $tableau_fiches .= '<td ' . $bgcolor . $largeur_html_C3 . ' align=center>' . $dateEcheanceFta . '</td>'; //échance de validation } else { $tableau_fiches .= '<td ' . $bgcolor . $largeur_html_C3 . ' align=center>' . $dateEcheanceFta . '</td>'; //échance de validation } $tableau_fiches .= '<td ' . $bgcolor . ' width=5% align=center >' . $lienHistorique . '</td>' . '<td ' . $bgcolor . $largeur_html_C3 . ' align=center >' . $service . '</td>' . '<td ' . $bgcolor . ' width=8%' . ' align=center >' . $lien . '</td>'; // Actions $tableau_fiches .= "</tr>"; $compteur_ligne++; // }//fin tant que tableau_origine $tableau_fiches = $javascript . $tableau_fiches . "</table>"; //Ajoute de la fonction de traitement de masse if ($traitementDeMasse) { $liste_action_groupe = FtaTransitionModel::getListeFtaGrouper($abreviation_fta_etat); $tableau_fiches .= ' <img src = ../lib/images/fleche_gauche_et_haut.png width = 38 height = 22 border = 0 /> <i>Transitions groupées</i>: ' . $liste_action_groupe . ' <input type = \'text\' name=\'subject\' size=\'20\' /> <input type=image src=images/transiter.png width=20 height=20 /> <input type=hidden name=action value=transition_groupe> '; } return $tableau_fiches; }
$annee_date_echeance_fta = substr($date_echeance_fta, 0, 4); $mois_date_echeance_fta = substr($date_echeance_fta, 5, 2); $jour_date_echeance_fta = substr($date_echeance_fta, 8, 2); } //$jour_restant = mktime(0,0,0,$mois_date_echeance_processus - date('m'), $jour_date_echeance_processus - date('d'), $annee_date_echeance_processus - date ('Y')); $echeance_timestamp = mktime(0, 0, 0, $mois_date_echeance_fta, $jour_date_echeance_fta, $annee_date_echeance_fta); $today_timestamp = mktime(0, 0, 0, date('m'), date('d'), date('Y')); $seconde_restante = $echeance_timestamp - $today_timestamp; $jour_restant = round($seconde_restante / (3600 * 24), 2); if ($jour_restant < 0) { $txt_echeance = 'échéance dépassée de'; $jour_restant = abs($jour_restant); } else { $txt_echeance = 'reste'; } $dateEcheanceFtaFr = FtaController::changementDuFormatDeDateFR($date_echeance_fta); $HTML_echeance_fta = 'A valider avant le: ' . $dateEcheanceFtaFr . ' <i>(' . $txt_echeance . ' ' . $jour_restant . 'jours)</i>'; /* Sélection du mode d'affichage */ switch ($output) { /* * *********** Début Code PDF * *********** */ case 'pdf': //Constructeur $pdf = new XFPDF(); //Déclaration des variables de formatages $police_standard = 'Arial'; $t1_police = $police_standard; $t1_style = 'B';
/** * Affiche la date d'échéance * @param boolean $paramUpdateFta * @return string */ function getHtmlDateEcheance($paramUpdateFta) { $htmlInputCalendar = new HtmlInputCalendar(); $dataFieldDateEcheance = $this->getDataField(self::FIELDNAME_DATE_ECHEANCE_FTA); /** * Contrôle de la date d'échéance */ $dateEcheValue = $this->checkDateEcheance($paramUpdateFta); /** * Changement du format de date */ if (!$this->getIsEditable()) { $dateEcheValue = FtaController::changementDuFormatDeDateFR($dateEcheValue); } /** * Mise en forme */ $HtmlTableName = self::TABLENAME . '_' . self::FIELDNAME_DATE_ECHEANCE_FTA . '_' . $this->getKeyValue(); $htmlInputCalendar->setIsEditable($this->getIsEditable()); $htmlInputCalendar->initAbstractHtmlInput($HtmlTableName, $dataFieldDateEcheance->getFieldLabel(), $dateEcheValue, $dataFieldDateEcheance->isFieldDiff()); $htmlInputCalendar->getEventsForm()->setOnChangeWithAjaxAutoSave($dataFieldDateEcheance->getTableName(), $dataFieldDateEcheance->getKeyName(), $dataFieldDateEcheance->getKeyValue(), $dataFieldDateEcheance->getFieldName()); $htmlInputCalendar->setHtmlResultOnClick(); return $htmlInputCalendar->getHtmlResult(); }
/** * Affiche l'historique de la Fta * @param int $paramIdFtaDossier * @param int $paramIdFtaWorkflow * @return string */ public static function getHtmlHistoriqueFta($paramIdFtaDossier, $paramIdFtaWorkflow) { /** * Historisation des changement d'état initialisé en modification */ $arrayHistoValidationFta = DatabaseOperation::convertSqlStatementWithoutKeyToArray("SELECT DISTINCT " . FtaEtatHistoriqueModel::FIELDNAME_ID_DOSSIER_FTA . "," . FtaEtatHistoriqueModel::FIELDNAME_ID_DOSSIER_VERSION_FTA . "," . FtaEtatHistoriqueModel::FIELDNAME_ID_FTA_ETAT_DEST . "," . UserModel::FIELDNAME_NOM . "," . UserModel::FIELDNAME_PRENOM . "," . FtaEtatHistoriqueModel::FIELDNAME_STATE_CHANGE_DATE . " FROM " . FtaEtatHistoriqueModel::TABLENAME . "," . UserModel::TABLENAME . " WHERE " . FtaEtatHistoriqueModel::TABLENAME . "." . FtaEtatHistoriqueModel::FIELDNAME_ID_USER . "=" . UserModel::TABLENAME . "." . UserModel::KEYNAME . " AND " . FtaEtatHistoriqueModel::FIELDNAME_ID_DOSSIER_FTA . "=" . $paramIdFtaDossier . " ORDER BY " . FtaEtatHistoriqueModel::FIELDNAME_STATE_CHANGE_DATE . " DESC "); if ($arrayHistoValidationFta) { foreach ($arrayHistoValidationFta as $rowsHistoValidationFta) { $ftaEtatModel = new FtaEtatModel($rowsHistoValidationFta[FtaEtatHistoriqueModel::FIELDNAME_ID_FTA_ETAT_DEST]); $nomFtaEtat = $ftaEtatModel->getDataField(FtaEtatModel::FIELDNAME_NOM_FTA_ETAT)->getFieldValue(); $versionEncours = "V" . $rowsHistoValidationFta[FtaEtatHistoriqueModel::FIELDNAME_ID_DOSSIER_VERSION_FTA]; $nomSignataire = $rowsHistoValidationFta[UserModel::FIELDNAME_PRENOM] . " " . $rowsHistoValidationFta[UserModel::FIELDNAME_NOM]; $dateValidation = $rowsHistoValidationFta[FtaEtatHistoriqueModel::FIELDNAME_STATE_CHANGE_DATE]; /** * Changment de format de date */ $date = FtaController::changementDuFormatDeDateFR($dateValidation); $arrayHistoModif[] = array("date" => $date, "nom" => $nomSignataire, "version" => $versionEncours, "etat" => $nomFtaEtat, "oldValue" => $oldValue, "newValue" => $newValue); } } /** * Listes des tables Fta à vérifier */ $arrayTableCheck = array(FtaModel::TABLENAME, FtaComposantModel::TABLENAME, FtaConditionnementModel::TABLENAME); /** * Historiques des changement de données par les utilisateurs */ foreach ($arrayTableCheck as $rowsTableCheck) { /** * Tableau des Fta selon le dossier encours */ $arrayIdFta = FtaModel::getArrayIdFtaByIdDossierFta($paramIdFtaDossier); foreach ($arrayIdFta as $rowsIdFta) { $idFtaEncours = $rowsIdFta[FtaModel::KEYNAME]; $ftaModelEncours = new FtaModel($idFtaEncours); $versionFta = "V" . $ftaModelEncours->getDataField(FtaModel::FIELDNAME_VERSION_DOSSIER_FTA)->getFieldValue(); /** * Listes des noms des champs avec le label de la table encours */ if ($rowsTableCheck == FtaModel::TABLENAME) { $model = new FtaModel($idFtaEncours); $model->setDataFtaTableToCompare(); $arrayChamps = DatabaseOperation::convertSqlStatementWithoutKeyToArray("SELECT DISTINCT " . IntranetColumnInfoModel::FIELDNAME_COLUMN_NAME_INTRANET_COLUMN_INFO . "," . IntranetColumnInfoModel::FIELDNAME_LABEL_INTRANET_COLUMN_INFO . "," . IntranetColumnInfoModel::FIELDNAME_ID_LISTE_CHAPITRE_HISTORIQUE . " FROM " . IntranetColumnInfoModel::TABLENAME . " WHERE " . IntranetColumnInfoModel::FIELDNAME_TABLE_NAME_INTRANET_COLUMN_INFO . "='" . $rowsTableCheck . "'" . " AND " . IntranetColumnInfoModel::FIELDNAME_IS_ENABLED_INTRANET_HISTORIQUE . "=" . IntranetColumnInfoModel::IS_ENABLED_INTRANET_HISTORIQUE_TRUE); foreach ($arrayChamps as $rowsChamps) { $check = $model->getDataField($rowsChamps[IntranetColumnInfoModel::FIELDNAME_COLUMN_NAME_INTRANET_COLUMN_INFO])->isFieldDiff(); if ($check) { $htmlObjetOld = Html::getHtmlObjectFromDataField($model->getDataToCompare()->getDataFieldByFieldName($rowsChamps[IntranetColumnInfoModel::FIELDNAME_COLUMN_NAME_INTRANET_COLUMN_INFO])); $oldValue = $htmlObjetOld->getRawContent(); $htmlObjetNew = Html::getHtmlObjectFromDataField($model->getDataField($rowsChamps[IntranetColumnInfoModel::FIELDNAME_COLUMN_NAME_INTRANET_COLUMN_INFO])); $newValue = $htmlObjetNew->getRawContent(); $label = $rowsChamps[IntranetColumnInfoModel::FIELDNAME_LABEL_INTRANET_COLUMN_INFO]; $idFtaChapitreTmp = $rowsChamps[IntranetColumnInfoModel::FIELDNAME_ID_LISTE_CHAPITRE_HISTORIQUE]; $idFtaChapitreArray = explode(',', $idFtaChapitreTmp); $idFtaChapitre = FtaWorkflowStructureModel::getIdFtaChapitreBetweenArrayByWorkflowAndArrayByColumn($paramIdFtaWorkflow, $idFtaChapitreArray); if ($idFtaChapitre) { $nomSignataire = FtaSuiviProjetModel::getUserNameByIdFtaChapitreAndIdFta($idFtaEncours, $idFtaChapitre); $dateValidation = FtaSuiviProjetModel::getValidationDateByIdFtaChapitreAndIdFta($idFtaEncours, $idFtaChapitre); $arrayHistoModif[] = array("date" => $dateValidation, "nom" => $nomSignataire, "version" => $versionFta, "etat" => $label, "oldValue" => $oldValue, "newValue" => $newValue); } } } } elseif ($rowsTableCheck == FtaComposantModel::TABLENAME) { /** * On récupère la liste des composants */ $arraIdFtaComposant = FtaComposantModel::getArrayIdFtaComposantTable($idFtaEncours); if ($arraIdFtaComposant) { foreach ($arraIdFtaComposant as $rowsIdFtaComposant) { $idFtaComposant = $rowsIdFtaComposant[FtaComposantModel::KEYNAME]; $model = new FtaComposantModel($idFtaComposant); $model->setDataFtaComposantTableToCompare(); $arrayChamps = DatabaseOperation::convertSqlStatementWithoutKeyToArray("SELECT DISTINCT " . IntranetColumnInfoModel::FIELDNAME_COLUMN_NAME_INTRANET_COLUMN_INFO . "," . IntranetColumnInfoModel::FIELDNAME_LABEL_INTRANET_COLUMN_INFO . "," . IntranetColumnInfoModel::FIELDNAME_ID_LISTE_CHAPITRE_HISTORIQUE . " FROM " . IntranetColumnInfoModel::TABLENAME . " WHERE " . IntranetColumnInfoModel::FIELDNAME_TABLE_NAME_INTRANET_COLUMN_INFO . "='" . $rowsTableCheck . "'" . " AND " . IntranetColumnInfoModel::FIELDNAME_IS_ENABLED_INTRANET_HISTORIQUE . "=" . IntranetColumnInfoModel::IS_ENABLED_INTRANET_HISTORIQUE_TRUE); foreach ($arrayChamps as $rowsChamps) { $check = $model->getDataField($rowsChamps[IntranetColumnInfoModel::FIELDNAME_COLUMN_NAME_INTRANET_COLUMN_INFO])->isFieldDiff(); if ($check) { $htmlObjetOld = Html::getHtmlObjectFromDataField($model->getDataToCompare()->getDataFieldByFieldName($rowsChamps[IntranetColumnInfoModel::FIELDNAME_COLUMN_NAME_INTRANET_COLUMN_INFO])); $oldValue = $htmlObjetOld->getRawContent(); $htmlObjetNew = Html::getHtmlObjectFromDataField($model->getDataField($rowsChamps[IntranetColumnInfoModel::FIELDNAME_COLUMN_NAME_INTRANET_COLUMN_INFO])); $newValue = $htmlObjetNew->getRawContent(); $label = $rowsChamps[IntranetColumnInfoModel::FIELDNAME_LABEL_INTRANET_COLUMN_INFO]; $idFtaChapitreTmp = $rowsChamps[IntranetColumnInfoModel::FIELDNAME_ID_LISTE_CHAPITRE_HISTORIQUE]; $idFtaChapitreArray = explode(',', $idFtaChapitreTmp); $idFtaChapitre = FtaWorkflowStructureModel::getIdFtaChapitreBetweenArrayByWorkflowAndArrayByColumn($paramIdFtaWorkflow, $idFtaChapitreArray); if ($idFtaChapitre) { $nomSignataire = FtaSuiviProjetModel::getUserNameByIdFtaChapitreAndIdFta($idFtaEncours, $idFtaChapitre); $dateValidation = FtaSuiviProjetModel::getValidationDateByIdFtaChapitreAndIdFta($idFtaEncours, $idFtaChapitre); $arrayHistoModif[] = array("date" => $dateValidation, "nom" => $nomSignataire, "version" => $versionFta, "etat" => $label, "oldValue" => $oldValue, "newValue" => $newValue); } } } } } } elseif ($rowsTableCheck == FtaConditionnementModel::TABLENAME) { $arraIdFtaConditionnment = FtaConditionnementModel::getArrayIdFtaConditionnement($idFtaEncours); /** * On récupère la liste des embalalges */ if ($arraIdFtaConditionnment) { foreach ($arraIdFtaConditionnment as $rowsIdFtaConditionnment) { $idFtaConditionnement = $rowsIdFtaConditionnment[FtaConditionnementModel::KEYNAME]; $model = new FtaConditionnementModel($idFtaConditionnement); /** * On vérifie si l'un des champs de l'emballage encours est différents de la version précedentes */ $model->setDataFtaConditionnementTableToCompare(); /** * restraiendre la liste des champs */ $arrayChamps = DatabaseOperation::convertSqlStatementWithoutKeyToArray("SELECT DISTINCT " . IntranetColumnInfoModel::FIELDNAME_COLUMN_NAME_INTRANET_COLUMN_INFO . "," . IntranetColumnInfoModel::FIELDNAME_LABEL_INTRANET_COLUMN_INFO . " FROM " . IntranetColumnInfoModel::TABLENAME . " WHERE " . IntranetColumnInfoModel::FIELDNAME_TABLE_NAME_INTRANET_COLUMN_INFO . "='" . $rowsTableCheck . "'" . " AND " . IntranetColumnInfoModel::FIELDNAME_IS_ENABLED_INTRANET_HISTORIQUE . "=" . IntranetColumnInfoModel::IS_ENABLED_INTRANET_HISTORIQUE_TRUE); foreach ($arrayChamps as $rowsChamps) { $check = $model->getDataField($rowsChamps[IntranetColumnInfoModel::FIELDNAME_COLUMN_NAME_INTRANET_COLUMN_INFO])->isFieldDiff(); if ($check) { $htmlObjetOld = Html::getHtmlObjectFromDataField($model->getDataToCompare()->getDataFieldByFieldName($rowsChamps[IntranetColumnInfoModel::FIELDNAME_COLUMN_NAME_INTRANET_COLUMN_INFO])); $oldValue = $htmlObjetOld->getRawContent(); $htmlObjetNew = Html::getHtmlObjectFromDataField($model->getDataField($rowsChamps[IntranetColumnInfoModel::FIELDNAME_COLUMN_NAME_INTRANET_COLUMN_INFO])); $newValue = $htmlObjetNew->getRawContent(); $label = $rowsChamps[IntranetColumnInfoModel::FIELDNAME_LABEL_INTRANET_COLUMN_INFO]; $idFtaChapitreTmp = $rowsChamps[IntranetColumnInfoModel::FIELDNAME_ID_LISTE_CHAPITRE_HISTORIQUE]; $idFtaChapitreArray = explode(',', $idFtaChapitreTmp); $idFtaChapitre = FtaWorkflowStructureModel::getIdFtaChapitreBetweenArrayByWorkflowAndArrayByColumn($paramIdFtaWorkflow, $idFtaChapitreArray); if ($idFtaChapitre) { $nomSignataire = FtaSuiviProjetModel::getUserNameByIdFtaChapitreAndIdFta($idFtaEncours, $idFtaChapitre); $dateValidation = FtaSuiviProjetModel::getValidationDateByIdFtaChapitreAndIdFta($idFtaEncours, $idFtaChapitre); $arrayHistoModif[] = array("date" => $dateValidation, "nom" => $nomSignataire, "version" => $versionFta, "etat" => $label, "oldValue" => $oldValue, "newValue" => $newValue); } } } } } } } } /** * Affichage du tableau */ if (is_array($arrayHistoModif)) { FtaController::arraySortByColumn($arrayHistoModif, "date"); $tableauFiche .= '<th>' . 'Date' . '</th><th>' . 'Ultilisateur' . '</th><th>' . 'Version du dossier FTA' . '</th><th>' . 'Colonne' . '</th><th>' . 'Ancienne valeur' . '</th><th>' . 'Nouvelle valeur' . '</th>'; foreach ($arrayHistoModif as $rowsHistoModif) { $tableauFiche .= '<tr class=contenu >' . '<td width=8%> ' . $rowsHistoModif["date"] . '</td>' . '<td >' . $rowsHistoModif["nom"] . '</td>' . '<td >' . $rowsHistoModif["version"] . '</td>' . '<td >' . $rowsHistoModif["etat"] . '</td>' . '<td >' . $rowsHistoModif["oldValue"] . '</td>' . '<td >' . $rowsHistoModif["newValue"] . '</td>' . '</tr >'; } } return $tableauFiche; }
/** * Affiche la date de validition d'un chapitre * @return string */ function getHtmlDateValidationSuiviFta() { $idFtaSuivieProjet = $this->getKeyValue(); $dateValidationValueTmp = $this->getDataField(self::FIELDNAME_DATE_VALIDATION_SUIVI_PROJET)->getFieldValue(); $dateValidationValue = FtaController::changementDuFormatDeDateFR($dateValidationValueTmp); $signatureValidationObjet = new HtmlInputText(); $HtmlTableName = self::TABLENAME . '_' . self::FIELDNAME_DATE_VALIDATION_SUIVI_PROJET . '_' . $idFtaSuivieProjet; $signatureValidationObjet->setLabel(DatabaseDescription::getFieldDocLabel(self::TABLENAME, self::FIELDNAME_DATE_VALIDATION_SUIVI_PROJET)); $signatureValidationObjet->getAttributes()->getValue()->setValue($dateValidationValue); $signatureValidationObjet->setIsEditable($this->getIsEditable()); $signatureValidationObjet->initAbstractHtmlInput($HtmlTableName, $signatureValidationObjet->getLabel(), $dateValidationValue, NULL); $signatureValidationObjet->getEventsForm()->setOnChangeWithAjaxAutoSave(self::TABLENAME, self::KEYNAME, $idFtaSuivieProjet, self::FIELDNAME_DATE_VALIDATION_SUIVI_PROJET); return $signatureValidationObjet->getHtmlResult(); }