/** * * @return type */ public function getHtmlCorrectionChapitre() { $return = NULL; $idFtaSuiviProjet = FtaSuiviProjetModel::getIdFtaSuiviProjetByIdFtaAndIdChapitre($this->ftaModel->getDataField(FtaModel::KEYNAME)->getFieldValue(), 1); $recordsetIdFtaSuiviProjet = new FtaSuiviProjetModel($idFtaSuiviProjet); $HtmlSuiviProjet = new DataFieldToHtmlTextArea($recordsetIdFtaSuiviProjet->getDataField(FtaSuiviProjetModel::FIELDNAME_CORRECTION_FTA_SUIVI_PROJET)); $HtmlSuiviProjet->setIsEditable($this->getIsEditable()); $return .= $HtmlSuiviProjet->getHtmlResult(); return $return; }
/** * On récupère les informations des Fta * @param type $paramArrayIdFta * @param type $paramOrderBy * @return type */ public static function getIdFtaByUserAndWorkflow($paramArrayIdFta, $paramOrderBy, $paramDebut, $paramFtaModificatin) { if ($paramFtaModificatin) { $nbMaxParPage = ModuleConfig::VALUE_MAX_PAR_PAGE; } else { $nbMaxParPage = ModuleConfig::VALUE_MAX_PAR_PAGE_CONSUL; $paramOrderBy = FtaModel::FIELDNAME_DATE_DERNIERE_MAJ_FTA . ' DESC '; } /** * Attention dans la condition where de la requette ne pas mettre des conditions non présente lors de la création de la fta * Exemple ClassificationRaccourcisModel::TABLENAME */ if ($paramArrayIdFta) { $array['1'] = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::TABLENAME . '.' . FtaModel::KEYNAME . ', ' . FtaEtatModel::FIELDNAME_ABREVIATION . ', ' . FtaModel::FIELDNAME_LIBELLE . ', ' . FtaWorkflowModel::FIELDNAME_DESCRIPTION_FTA_WORKFLOW . ', ' . FtaWorkflowModel::FIELDNAME_NOM_FTA_WORKFLOW . ', ' . FtaModel::FIELDNAME_NOMBRE_UVC_PAR_CARTON . ', ' . FtaModel::FIELDNAME_POIDS_ELEMENTAIRE . ', ' . FtaModel::FIELDNAME_ID_CLASSIFICATION_RACCOURCIS . ', ' . FtaModel::FIELDNAME_DESIGNATION_COMMERCIALE . ', ' . FtaModel::FIELDNAME_DOSSIER_FTA . ', ' . FtaModel::FIELDNAME_VERSION_DOSSIER_FTA . ', ' . FtaModel::FIELDNAME_CODE_ARTICLE_LDC . ', ' . FtaModel::FIELDNAME_DATE_ECHEANCE_FTA . ', ' . FtaModel::FIELDNAME_CREATEUR . ', ' . FtaModel::FIELDNAME_ID_FTA_CLASSIFICATION2 . ', ' . FtaModel::FIELDNAME_POURCENTAGE_AVANCEMENT . ', ' . FtaModel::FIELDNAME_LISTE_ID_FTA_ROLE . ', ' . GeoModel::FIELDNAME_GEO . ', ' . FtaModel::TABLENAME . '. ' . FtaModel::FIELDNAME_WORKFLOW . ' FROM ' . FtaModel::TABLENAME . ',' . UserModel::TABLENAME . ', ' . FtaEtatModel::TABLENAME . ', ' . FtaWorkflowModel::TABLENAME . ', ' . GeoModel::TABLENAME . ' WHERE ( 0 ' . FtaModel::addIdFtaLabel($paramArrayIdFta) . ')' . ' AND ' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_CREATEUR . '=' . UserModel::TABLENAME . '.' . UserModel::KEYNAME . ' AND ' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_ID_FTA_ETAT . '=' . FtaEtatModel::TABLENAME . '.' . FtaEtatModel::KEYNAME . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::KEYNAME . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . ' AND ' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_SITE_PRODUCTION . '=' . GeoModel::TABLENAME . '.' . GeoModel::KEYNAME . ' ORDER BY ' . $paramOrderBy . ',' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . ',' . UserModel::FIELDNAME_PRENOM . ' ASC' . ',' . UserModel::FIELDNAME_NOM . ' ASC' . ',' . FtaModel::FIELDNAME_DATE_ECHEANCE_FTA . ' LIMIT ' . $nbMaxParPage . ' OFFSET ' . $paramDebut); $array['2'] = DatabaseOperation::getRowsNumberOverLimitInSqlStatement('SELECT SQL_CALC_FOUND_ROWS ' . FtaModel::TABLENAME . '.' . FtaModel::KEYNAME . ', ' . FtaEtatModel::FIELDNAME_ABREVIATION . ', ' . FtaModel::FIELDNAME_LIBELLE . ', ' . FtaWorkflowModel::FIELDNAME_DESCRIPTION_FTA_WORKFLOW . ', ' . FtaWorkflowModel::FIELDNAME_NOM_FTA_WORKFLOW . ', ' . FtaModel::FIELDNAME_NOMBRE_UVC_PAR_CARTON . ', ' . FtaModel::FIELDNAME_POIDS_ELEMENTAIRE . ', ' . FtaModel::FIELDNAME_ID_CLASSIFICATION_RACCOURCIS . ', ' . FtaModel::FIELDNAME_DESIGNATION_COMMERCIALE . ', ' . FtaModel::FIELDNAME_DOSSIER_FTA . ', ' . FtaModel::FIELDNAME_VERSION_DOSSIER_FTA . ', ' . FtaModel::FIELDNAME_CODE_ARTICLE_LDC . ', ' . FtaModel::FIELDNAME_ID_FTA_CLASSIFICATION2 . ', ' . FtaModel::FIELDNAME_DATE_ECHEANCE_FTA . ', ' . FtaModel::FIELDNAME_CREATEUR . ', ' . FtaModel::FIELDNAME_POURCENTAGE_AVANCEMENT . ', ' . FtaModel::FIELDNAME_LISTE_ID_FTA_ROLE . ', ' . GeoModel::FIELDNAME_GEO . ', ' . FtaModel::TABLENAME . '. ' . FtaModel::FIELDNAME_WORKFLOW . ' FROM ' . FtaModel::TABLENAME . ',' . UserModel::TABLENAME . ', ' . FtaEtatModel::TABLENAME . ', ' . FtaWorkflowModel::TABLENAME . ', ' . GeoModel::TABLENAME . ' WHERE ( 0 ' . FtaModel::addIdFtaLabel($paramArrayIdFta) . ')' . ' AND ' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_CREATEUR . '=' . UserModel::TABLENAME . '.' . UserModel::KEYNAME . ' AND ' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_ID_FTA_ETAT . '=' . FtaEtatModel::TABLENAME . '.' . FtaEtatModel::KEYNAME . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::KEYNAME . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . ' AND ' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_SITE_PRODUCTION . '=' . GeoModel::TABLENAME . '.' . GeoModel::KEYNAME . ' ORDER BY ' . $paramOrderBy . ',' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . ',' . UserModel::FIELDNAME_PRENOM . ' ASC' . ',' . FtaModel::FIELDNAME_DATE_ECHEANCE_FTA . ' LIMIT ' . $nbMaxParPage . ' OFFSET ' . $paramDebut); $array['3'] = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaWorkflowModel::TABLENAME . '.*' . ' FROM ' . FtaModel::TABLENAME . ',' . FtaWorkflowModel::TABLENAME . ' WHERE ( ' . '0' . ' ' . FtaModel::addIdFtaLabel($array['1']) . ')' . ' AND ' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . '=' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::KEYNAME); return $array; } }
$page_default = substr(strrchr($_SERVER['PHP_SELF'], '/'), '1', '-4'); $page_action = $page_default . '_post.php'; $page_pdf = $page_default . '_pdf.php'; $action = 'valider'; //Action proposée à la page _post.php $method = 'POST'; //Pour une url > 2000 caractères, ne pas utiliser utiliser GET $html_table = 'table ' . 'border=1 ' . 'width=100% ' . 'class=contenu '; /* Récupération des données MySQL */ $new_designation_commerciale_fta = Lib::getParameterFromRequest('new_designation_commerciale_fta'); $abreviationEtatDestination = Lib::getParameterFromRequest('abreviation_etat_destination'); $idFta = Lib::getParameterFromRequest('id_fta'); $siteDeProduction = Lib::getParameterFromRequest('site_de_production'); $ftaModel = new FtaModel($idFta); $globalConfig = new GlobalConfig(); $idUser = $globalConfig->getAuthenticatedUser()->getKeyValue(); $idFtaWorkflow = Lib::getParameterFromRequest(FtaModel::FIELDNAME_WORKFLOW); $arrayIdFtaRoleAcces = FtaRoleModel::getArrayIdFtaRoleByIdUserAndWorkflow($idUser, $idFtaWorkflow); $idFtaRole = $arrayIdFtaRoleAcces["0"]; /* Sélection du mode d'affichage */ switch ($output) { /* * *********** Début Code PDF * *********** */ case 'pdf': //Constructeur $pdf = new XFPDF();
/** * On affiche la liste des raccourcis de classification associé à une classification * @param objet $paramFtaModel * @param int $paramIdClassificationFta2 * @param boolean $paramIsEditable * @return string */ public static function getHtmlClassificationRaccourcisAssociation(FtaModel $paramFtaModel, $paramIdClassificationFta2, $paramIsEditable) { $htmlList = new HtmlListSelect(); $paramFtaModel->setDataFtaTableToCompare(); $dataFieldIdClassificationRaccourcisTMP = $paramFtaModel->getDataField(FtaModel::FIELDNAME_ID_CLASSIFICATION_RACCOURCIS); $arrayClassificationRaccourcis = DatabaseOperation::convertSqlStatementWithKeyAndOneFieldToArray('SELECT DISTINCT ' . ClassificationRaccourcisModel::TABLENAME . '.' . ClassificationRaccourcisModel::KEYNAME . ',' . ClassificationRaccourcisModel::TABLENAME . '.' . ClassificationRaccourcisModel::FIELDNAME_NOM_CLASSIFICATION_RACCOURCIS . ' FROM ' . ClassificationRaccourcisModel::TABLENAME . ',' . self::TABLENAME . ' WHERE ' . ClassificationRaccourcisModel::TABLENAME . '.' . ClassificationRaccourcisModel::KEYNAME . ' = ' . self::TABLENAME . '.' . self::FIELDNAME_ID_CLASSIFICATION_RACCOURCIS . ' AND ' . self::FIELDNAME_ID_FTA_CLASSIFICATION2 . '=' . $paramIdClassificationFta2 . ' ORDER BY ' . ClassificationRaccourcisModel::FIELDNAME_NOM_CLASSIFICATION_RACCOURCIS); /** * Si le chapitre est editable alors on vérifie si * pour une classification nous avons plusieurs raccourcis de classification associé * Si nous avons plusieur résultat alors on affiche la liste déroulante * sinon on enregistre l'unique résutat */ // if ($paramIsEditable == Chapitre::EDITABLE) { // if (count($arrayClassificationRaccourcis) > "1") { // $paramIsEditable = Chapitre::EDITABLE; // } else { // /** // * Enregistrement de la donnée raccourcis de classification // */ // if ($arrayClassificationRaccourcis) { // foreach ($arrayClassificationRaccourcis as $key => $value) { // $ftaModel->getDataField(FtaModel::FIELDNAME_ID_CLASSIFICATION_RACCOURCIS)->setFieldValue($key); // $ftaModel->saveToDatabase(); // } // } // $paramIsEditable = Chapitre::NOT_EDITABLE; // } // } $htmlList->setArrayListContent($arrayClassificationRaccourcis); /** * On vérifie si la donnée en BDD se trouve dans le tableau * Sinon alors on vide la donnée de la BDD */ $dataFieldIdClassificationRaccourcis = FtaController::checkDataInArrayKeyList($dataFieldIdClassificationRaccourcisTMP, $arrayClassificationRaccourcis); $HtmlTableName = FtaModel::TABLENAME . '_' . FtaModel::FIELDNAME_ID_CLASSIFICATION_RACCOURCIS . '_' . $paramFtaModel->getKeyValue(); /** * Vérification des règle de validation */ $dataFieldIdClassificationRaccourcis->checkValidationRules(); if ($dataFieldIdClassificationRaccourcis->getDataValidationSuccessful() == TRUE) { $htmlList->setIsWarningMessage($dataFieldIdClassificationRaccourcis->getDataValidationSuccessful()); $paramFtaModel->setDataValidationSuccessfulToTrue(); } else { $htmlList->setIsWarningMessage($dataFieldIdClassificationRaccourcis->getDataValidationSuccessful()); $htmlList->setWarningMessage($dataFieldIdClassificationRaccourcis->getDataWarningMessage()); $paramFtaModel->setDataValidationSuccessfulToFalse(); } $htmlList->setSelectedValue($dataFieldIdClassificationRaccourcis->getFieldValue()); $htmlList->getAttributes()->getName()->setValue(FtaModel::FIELDNAME_ID_CLASSIFICATION_RACCOURCIS); $htmlList->setLabel(DatabaseDescription::getFieldDocLabel(ClassificationRaccourcisAssociationModel::TABLENAME, ClassificationRaccourcisAssociationModel::FIELDNAME_ID_CLASSIFICATION_RACCOURCIS)); $htmlList->setIsEditable($paramIsEditable); $htmlList->initAbstractHtmlSelect($HtmlTableName, $htmlList->getLabel(), $dataFieldIdClassificationRaccourcis->getFieldValue(), $dataFieldIdClassificationRaccourcis->isFieldDiff(), $htmlList->getArrayListContent(), $htmlList->getIsWarningMessage(), $htmlList->getWarningMessage()); $htmlList->getEventsForm()->setOnChangeWithAjaxAutoSave(FtaModel::TABLENAME, FtaModel::KEYNAME, $paramFtaModel->getKeyValue(), FtaModel::FIELDNAME_ID_CLASSIFICATION_RACCOURCIS); /** * Description d'un champ */ $htmlList->setHelp(IntranetColumnInfoModel::getFieldDesc($dataFieldIdClassificationRaccourcis->getTableName(), $dataFieldIdClassificationRaccourcis->getFieldName(), $dataFieldIdClassificationRaccourcis->getFieldLabel(), $htmlList)); $listeClassificationRaccourcis = $htmlList->getHtmlResult(); return $listeClassificationRaccourcis; }
----------------- ----------------------------------- Détermination de l'action en cours ----------------------------------- Cette page est appelée pour effectuer un traitement particulier en fonction de la variable "$action". Ensuite elle redirige le résultat vers une autre page. Le plus souvent, le traitement est délocalisé sous forme de fonction située dans le fichier "functions.php" */ /* Récupération des données MySQL */ $paramIdFta = Lib::getParameterFromRequest(FtaModel::KEYNAME); $paramIdFtaChapitreEncours = Lib::getParameterFromRequest('id_fta_chapitre_encours'); $paramSyntheseAction = Lib::getParameterFromRequest('synthese_action'); $idFtaRole = Lib::getParameterFromRequest(FtaRoleModel::KEYNAME); $idFtaEtat = Lib::getParameterFromRequest(FtaEtatModel::KEYNAME); $abreviationFtaEtat = Lib::getParameterFromRequest(FtaEtatModel::FIELDNAME_ABREVIATION); $comeback = Lib::getParameterFromRequest(FtaEtatModel::KEYNAME); /** * Initialisation */ $ftaModel = new FtaModel($paramIdFta); //Fonction de désactivation de la fonctionnalité Code Article Arcadia Primaire/Secondaire $ftaModel->disabledCodePrimaire(); //Redirection header('Location: modification_fiche.php?id_fta=' . $paramIdFta . '&id_fta_chapitre_encours=' . $paramIdFtaChapitreEncours . '&synthese_action=' . $paramSyntheseAction . '&id_fta_etat=' . $idFtaEtat . '&abreviation_fta_etat=' . $abreviationFtaEtat . '&id_fta_role=' . FtaRoleModel::ID_FTA_ROLE_COMMUN); ?>
/** * Actualise l'état d'un champ verrouillé si le champ à était mise à jour. * @param string $paramTableName * @param string $paramKeyValue * @param string $paramFieldName */ public static function doUpdateLockField($paramTableName, $paramKeyValue, $paramFieldName) { $mondelName = ModelTableAssociation::getModelName($paramTableName); $model = new $mondelName($paramKeyValue); $idFta = $model->getDataField(FtaModel::KEYNAME)->getFieldValue(); if ($idFta) { $modelFta = new FtaModel($idFta); $idFtaDossier = $modelFta->getDossierFta(); } $arrayFieldToLockChap = DatabaseOperation::convertSqlStatementWithoutKeyToArray("SELECT " . self::KEYNAME . " FROM " . self::TABLENAME . " WHERE " . self::FIELDNAME_TABLE_NAME . "=\"" . $paramTableName . "\" AND " . self::FIELDNAME_FIELD_NAME . "=\"" . $paramFieldName . "\" AND " . self::FIELDNAME_DOSSIER_FTA_PRIMAIRE . "=\"" . $idFtaDossier . "\" AND " . self::FIELDNAME_FIELD_LOCK . "=" . self::FIELD_LOCK_TRUE); if ($arrayFieldToLockChap) { DatabaseOperation::execute("UPDATE " . self::TABLENAME . " SET " . self::FIELDNAME_FIELD_CHANGE_STATE . "=" . self::CHANGE_STATE_FALSE . " WHERE " . self::FIELDNAME_TABLE_NAME . "=\"" . $paramTableName . "\" AND " . self::FIELDNAME_FIELD_NAME . "=\"" . $paramFieldName . "\" AND " . self::FIELDNAME_DOSSIER_FTA_PRIMAIRE . "=\"" . $idFtaDossier . "\""); } }
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; }
// { // include ('./menu_principal.inc'); //Sinon, menu par défaut // } } //Fin de la sélection du mode d'affichage de la page $id_fta = Lib::getParameterFromRequest(FtaModel::KEYNAME); $synthese_action = Lib::getParameterFromRequest('synthese_action'); $id_fta_chapitre_encours = Lib::getParameterFromRequest('id_fta_chapitre_encours', '1'); $comeback = Lib::getParameterFromRequest('comeback'); $idFtaEtat = Lib::getParameterFromRequest(FtaEtatModel::KEYNAME); $abreviationFtaEtat = Lib::getParameterFromRequest(FtaEtatModel::FIELDNAME_ABREVIATION); $idFtaRole = Lib::getParameterFromRequest(FtaRoleModel::KEYNAME); /** * Initialisation */ $ftaModel = new FtaModel($id_fta); $date_echeance_fta = $ftaModel->getDataField(FtaModel::FIELDNAME_DATE_ECHEANCE_FTA)->getFieldValue(); $idFtaWorkflow = $ftaModel->getDataField(FtaModel::FIELDNAME_WORKFLOW)->getFieldValue(); $globalConfig = new GlobalConfig(); if ($globalConfig->getAuthenticatedUser()) { $idUser = $globalConfig->getAuthenticatedUser()->getKeyValue(); } else { $titre = UserInterfaceMessage::FR_WARNING_DECONNECTION_TITLE; $message = UserInterfaceMessage::FR_WARNING_DECONNECTION; Lib::showMessage($titre, $message, $redirection); } $idUser = $globalConfig->getAuthenticatedUser()->getKeyValue(); /** * Contrôle du rôle attribué */ if ($idFtaRole == FtaRoleModel::ID_FTA_ROLE_COMMUN) {
/** * On affiche la liste des gammes famille budget associé à une classification * @param object $paramFtaModel FtaModel * @param int $paramIdClassificationFta2 * @param boolean $paramIsEditable * @return string */ public static function getHtmlClassificationGammeFamilleBudget(FtaModel $paramFtaModel, $paramIdClassificationFta2, $paramIsEditable) { $htmlList = new HtmlListSelect(); $paramFtaModel->setDataFtaTableToCompare(); $idMarque = ClassificationFta2Model::getIdClassificationTypeByTypeNameAndIdClassificationFta2($paramIdClassificationFta2, ClassificationFta2Model::FIELDNAME_ID_MARQUE); $dataFieldIdArcadiaGammeFamilleBudgetTMP = $paramFtaModel->getDataField(FtaModel::FIELDNAME_ID_ARCADIA_GAMME_FAMILLE_BUDGET); $arrayGammeFamilleBudget = DatabaseOperation::convertSqlStatementWithKeyAndOneFieldToArray('SELECT DISTINCT ' . ArcadiaGammeFamilleBudgetModel::TABLENAME . '.' . ArcadiaGammeFamilleBudgetModel::KEYNAME . ', CONCAT_WS( \' - \',' . ArcadiaGammeFamilleBudgetModel::TABLENAME . '.' . ArcadiaGammeFamilleBudgetModel::KEYNAME . ',' . ArcadiaGammeFamilleBudgetModel::FIELDNAME_NOM_ARCADIA_GAMME_FAMILLE_BUDGET . ') FROM ' . ArcadiaGammeFamilleBudgetModel::TABLENAME . ',' . self::TABLENAME . ' WHERE ' . ArcadiaGammeFamilleBudgetModel::TABLENAME . '.' . ArcadiaGammeFamilleBudgetModel::KEYNAME . ' = ' . self::TABLENAME . '.' . self::FIELDNAME_ID_ARCADIA_GAMME_FAMILLE_BUDGET . ' AND ' . self::FIELDNAME_ID_MARQUE . '=' . $idMarque . ' ORDER BY ' . ArcadiaGammeFamilleBudgetModel::KEYNAME); /** * Si le chapitre est editable alors on vérifie si * pour une classification nous avons plusieurs gamme famille budget associé * Si nous avons plusieur résultat alors on affiche la liste déroulante * sinon on enregistre l'unique résutat */ // if ($paramIsEditable == Chapitre::EDITABLE) { // if (count($arrayGammeFamilleBudget) > "1") { // $paramIsEditable = Chapitre::EDITABLE; // } else { // /** // * Enregistrement de la donnée gamme famille budget // */ // if ($arrayGammeFamilleBudget) { // foreach ($arrayGammeFamilleBudget as $key => $value) { // $ftaModel->getDataField(FtaModel::FIELDNAME_ID_ARCADIA_GAMME_FAMILLE_BUDGET)->setFieldValue($key); // $ftaModel->saveToDatabase(); // } // } // $paramIsEditable = Chapitre::NOT_EDITABLE; // } // } $htmlList->setArrayListContent($arrayGammeFamilleBudget); /** * On vérifie si la donnée en BDD se trouve dans le tableau * Sinon alors on vide la donnée de la BDD */ $dataFieldIdArcadiaGammeFamilleBudget = FtaController::checkDataInArrayKeyList($dataFieldIdArcadiaGammeFamilleBudgetTMP, $arrayGammeFamilleBudget); $HtmlTableName = FtaModel::TABLENAME . '_' . FtaModel::FIELDNAME_ID_ARCADIA_GAMME_FAMILLE_BUDGET . '_' . $paramFtaModel->getKeyValue(); /** * Vérification des règle de validation */ $dataFieldIdArcadiaGammeFamilleBudget->checkValidationRules(); if ($dataFieldIdArcadiaGammeFamilleBudget->getDataValidationSuccessful() == TRUE) { $htmlList->setIsWarningMessage($dataFieldIdArcadiaGammeFamilleBudget->getDataValidationSuccessful()); $paramFtaModel->setDataValidationSuccessfulToTrue(); } else { $htmlList->setIsWarningMessage($dataFieldIdArcadiaGammeFamilleBudget->getDataValidationSuccessful()); $htmlList->setWarningMessage($dataFieldIdArcadiaGammeFamilleBudget->getDataWarningMessage()); $paramFtaModel->setDataValidationSuccessfulToFalse(); } $htmlList->getAttributes()->getName()->setValue(FtaModel::FIELDNAME_ID_ARCADIA_GAMME_FAMILLE_BUDGET); $htmlList->setLabel(DatabaseDescription::getFieldDocLabel(FtaModel::TABLENAME, FtaModel::FIELDNAME_ID_ARCADIA_GAMME_FAMILLE_BUDGET)); $htmlList->setIsEditable($paramIsEditable); $htmlList->initAbstractHtmlSelect($HtmlTableName, $htmlList->getLabel(), $dataFieldIdArcadiaGammeFamilleBudget->getFieldValue(), $dataFieldIdArcadiaGammeFamilleBudget->isFieldDiff(), $htmlList->getArrayListContent(), $htmlList->getIsWarningMessage(), $htmlList->getWarningMessage()); $htmlList->getEventsForm()->setOnChangeWithAjaxAutoSave(FtaModel::TABLENAME, FtaModel::KEYNAME, $paramFtaModel->getKeyValue(), FtaModel::FIELDNAME_ID_ARCADIA_GAMME_FAMILLE_BUDGET); /** * Description d'un champ */ $htmlList->setHelp(IntranetColumnInfoModel::getFieldDesc($dataFieldIdArcadiaGammeFamilleBudget->getTableName(), $dataFieldIdArcadiaGammeFamilleBudget->getFieldName(), $dataFieldIdArcadiaGammeFamilleBudget->getFieldLabel(), $htmlList)); $listeGammeFamilleBudget = $htmlList->getHtmlResult(); return $listeGammeFamilleBudget; }
function calcul_palettisation_fta($id_fta) { /* Valeurs de retours de la fonction: */ //Emballages $return["uvc_emballage"] = 0; //Poids de l'emballage contenu dans une UVC $return["colis_emballage"] = 0; //Poids de l'emballage contenu dans un Colis $return["palette_emballage"] = 0; //Poids de l'emballage contenu dans une Palette //Poids net $return["uvc_net"]; $return["colis_net"]; $return["palette_net"]; //Poids brut $return["uvc_brut"]; $return["colis_brut"]; $return["palette_brut"]; //Palettisation $return["pcb"]; $return["hauteur_colis"]; $return["hauteur_palette"]; $return["couche_palette"]; //Combien de couche par palette $return["colis_couche"]; //Combien de colis par couche $return["total_colis"]; $return["dimension_uvc"]; //H x L x l $return["dimension_colis"]; $return["dimension_palette"]; $return["dimension_uvc_hauteur"] = 0; //Hauteur en mm $return["dimension_uvc_longueur"] = 0; //Longueur en mm $return["dimension_uvc_largeur"] = 0; //Hauteur en mm /* Dictionnaire des variables: */ $id_fta; //Identifiant de la fiche technique Article //$palettisation_2_3_3 = calcul_palettisation_fta_2_3_3($id_fta); //Ancienne Données /* Corps de la fonction */ //PCB $return["pcb"] = $temp_nb_uvc_dans_colis; if (!$return["pcb"]) { $req = "SELECT NB_UNIT_ELEM FROM fta WHERE id_fta='" . $id_fta . "' "; $result = DatabaseOperation::convertSqlStatementWithoutKeyToArray($req); foreach ($result as $value) { $NB_UNIT_ELEM = $value["NB_UNIT_ELEM"]; } $return["pcb"] = $NB_UNIT_ELEM; } //Calcul du poids et dimension de Emballages par UVC (Type 1) $id_annexe_emballage_groupe_type = 1; $description_annexe_emballage_groupe_type = "uvc_emballage"; $req = "SELECT * " . " FROM fta_conditionnement, annexe_emballage_groupe, annexe_emballage_groupe_type " . " WHERE id_fta=" . $id_fta . " AND annexe_emballage_groupe_type.id_annexe_emballage_groupe_type=" . $id_annexe_emballage_groupe_type . " AND fta_conditionnement.id_annexe_emballage_groupe=annexe_emballage_groupe.id_annexe_emballage_groupe " . " AND ( " . "( fta_conditionnement.id_annexe_emballage_groupe_type IS NOT NULL AND fta_conditionnement.id_annexe_emballage_groupe_type=annexe_emballage_groupe_type.id_annexe_emballage_groupe_type )" . " OR " . "( fta_conditionnement.id_annexe_emballage_groupe_type IS NULL AND annexe_emballage_groupe.id_annexe_emballage_groupe_configuration=annexe_emballage_groupe_type.id_annexe_emballage_groupe_type )" . " ) " . " ORDER BY nom_annexe_emballage_groupe_type "; $arrayType1 = DatabaseOperation::convertSqlStatementWithoutKeyToArray($req); if ($arrayType1) { foreach ($arrayType1 as $rows) { //Calcul du poids $return["{$description_annexe_emballage_groupe_type}"] += $rows["poids_fta_conditionnement"] * $rows["quantite_par_couche_fta_conditionnement"] * $rows["nombre_couche_fta_conditionnement"]; //Calcul des dimension (on recherche la taille la plus grande if ($return["dimension_uvc_hauteur"] < $rows["hauteur_fta_conditionnement"]) { $return["dimension_uvc_hauteur"] = $rows["hauteur_fta_conditionnement"]; } if ($return["dimension_uvc_longueur"] < $rows["longueur_fta_conditionnement"]) { $return["dimension_uvc_longueur"] = $rows["longueur_fta_conditionnement"]; } if ($return["dimension_uvc_largeur"] < $rows["largeur_fta_conditionnement"]) { $return["dimension_uvc_largeur"] = $rows["largeur_fta_conditionnement"]; } } //$return["dimension_uvc"]=$return["dimension_uvc_hauteur"]."x".$return["dimension_uvc_longueur"]."x".$return["dimension_uvc_largeur"]; $return["dimension_uvc"] = $return["dimension_uvc_longueur"] . "x" . $return["dimension_uvc_largeur"]; //Si la hauteur n'est pas nulle, on l'intègre. if ($return["dimension_uvc_hauteur"]) { $return["dimension_uvc"] = $return["dimension_uvc"] . "x" . $return["dimension_uvc_hauteur"]; } } else { //Tentative de récupération des données au format version 2.3.3 //$return["dimension_uvc"]=$palettisation_2_3_3["dimension_uvc"]; //$return["$description_annexe_emballage_groupe_type"]=$palettisation_2_3_3["uvc_emballage"]; } //echo "Emballage dans l'UVC: ".$return["$description_annexe_emballage_groupe_type"]."<br>"; //Calcul du poids de Emballages par Colis (Type 2) $id_annexe_emballage_groupe_type = 2; $description_annexe_emballage_groupe_type = "colis_emballage"; /* $req = "SELECT * " . "FROM fta_conditionnement, annexe_emballage_groupe, annexe_emballage_groupe_type " . "WHERE id_fta=$id_fta " . "AND annexe_emballage_groupe_type.id_annexe_emballage_groupe_type=$id_annexe_emballage_groupe_type " . "AND fta_conditionnement.id_annexe_emballage_groupe=annexe_emballage_groupe.id_annexe_emballage_groupe " . "AND fta_conditionnement.id_annexe_emballage_groupe_type=annexe_emballage_groupe_type.id_annexe_emballage_groupe_type " . "ORDER BY nom_annexe_emballage_groupe_type " ; */ $req = "SELECT * " . " FROM fta_conditionnement, annexe_emballage_groupe, annexe_emballage_groupe_type " . " WHERE id_fta=" . $id_fta . " AND annexe_emballage_groupe_type.id_annexe_emballage_groupe_type=" . $id_annexe_emballage_groupe_type . " AND fta_conditionnement.id_annexe_emballage_groupe=annexe_emballage_groupe.id_annexe_emballage_groupe " . " AND ( " . "( fta_conditionnement.id_annexe_emballage_groupe_type IS NOT NULL AND fta_conditionnement.id_annexe_emballage_groupe_type=annexe_emballage_groupe_type.id_annexe_emballage_groupe_type )" . " OR " . "( fta_conditionnement.id_annexe_emballage_groupe_type IS NULL AND annexe_emballage_groupe.id_annexe_emballage_groupe_configuration=annexe_emballage_groupe_type.id_annexe_emballage_groupe_type )" . " ) " . " ORDER BY nom_annexe_emballage_groupe_type "; $arrayType2 = DatabaseOperation::convertSqlStatementWithoutKeyToArray($req); if ($arrayType2) { foreach ($arrayType2 as $rows) { $return["{$description_annexe_emballage_groupe_type}"] += $rows["poids_fta_conditionnement"] * $rows["quantite_par_couche_fta_conditionnement"] * $rows["nombre_couche_fta_conditionnement"]; } } else { //Tentative de récupération des données au format version 2.3.3 //$return["$description_annexe_emballage_groupe_type"]=$palettisation_2_3_3["$description_annexe_emballage_groupe_type"]; } //echo "Emballage dans le colis (sans l'UVC): ".$return["$description_annexe_emballage_groupe_type"]."<br>"; //$return["$description_annexe_emballage_groupe_type"]+=$return["uvc_emballage"]; $return["{$description_annexe_emballage_groupe_type}"] += $return["uvc_emballage"] * $return["pcb"]; //Ajout de l'emballage du Colis (Type 3) $id_annexe_emballage_groupe_type = 3; $description_annexe_emballage_groupe_type = "colis_emballage"; /* $req = "SELECT * " . "FROM fta_conditionnement, annexe_emballage_groupe, annexe_emballage_groupe_type " . "WHERE id_fta=$id_fta " . "AND annexe_emballage_groupe_type.id_annexe_emballage_groupe_type=$id_annexe_emballage_groupe_type " . "AND fta_conditionnement.id_annexe_emballage_groupe=annexe_emballage_groupe.id_annexe_emballage_groupe " . "AND fta_conditionnement.id_annexe_emballage_groupe_type=annexe_emballage_groupe_type.id_annexe_emballage_groupe_type " . "ORDER BY nom_annexe_emballage_groupe_type " ; */ $req = "SELECT * " . " FROM fta_conditionnement, annexe_emballage_groupe, annexe_emballage_groupe_type " . " WHERE id_fta=" . $id_fta . " AND annexe_emballage_groupe_type.id_annexe_emballage_groupe_type=" . $id_annexe_emballage_groupe_type . " AND fta_conditionnement.id_annexe_emballage_groupe=annexe_emballage_groupe.id_annexe_emballage_groupe " . " AND ( " . "( fta_conditionnement.id_annexe_emballage_groupe_type IS NOT NULL AND fta_conditionnement.id_annexe_emballage_groupe_type=annexe_emballage_groupe_type.id_annexe_emballage_groupe_type )" . " OR " . "( fta_conditionnement.id_annexe_emballage_groupe_type IS NULL AND annexe_emballage_groupe.id_annexe_emballage_groupe_configuration=annexe_emballage_groupe_type.id_annexe_emballage_groupe_type )" . " ) " . " ORDER BY nom_annexe_emballage_groupe_type "; $arrayType3 = DatabaseOperation::convertSqlStatementWithoutKeyToArray($req); if (count($arrayType3) > 1) { $titre = "Cas non géré"; $message = "Il ne doit y avoir qu'un seul emballage Colis"; afficher_message($titre, $message, $redirection); } else { //Il ne doit exister qu'un seul emballage Colis if ($arrayType3) { foreach ($arrayType3 as $rows) { //echo "Emballage du colis: ".$rows["poids_fta_conditionnement"]."<br>"; //echo "Emballage du colis: ".$return["colis_emballage"]."<br>"; //echo $return["colis_emballage"]; $return["hauteur_colis"] = $rows["hauteur_fta_conditionnement"]; $return["colis_emballage"] += $rows["poids_fta_conditionnement"]; $return["couche_palette"] = $rows["nombre_couche_fta_conditionnement"]; $return["colis_couche"] = $rows["quantite_par_couche_fta_conditionnement"]; $temp_nb_colis_dans_palette = $return["couche_palette"] * $return["colis_couche"]; $hauteur_total_palette = $rows["hauteur_fta_conditionnement"] * $return["couche_palette"]; if ($rows["old_dim"]) { $return["dimension_colis"] = $rows["old_dim"]; } else { $return["dimension_colis"] = $rows["longueur_fta_conditionnement"] . "x" . $rows["largeur_fta_conditionnement"] . "x" . $rows["hauteur_fta_conditionnement"] . " mm"; } } $return["colis_emballage"] += $return["uvc_emballage"] * $temp_nb_uvc_dans_colis; $return["total_colis"] = $temp_nb_colis_dans_palette; } else { //Tentative de récupération des données au format version 2.3.3 /* $return["$description_annexe_emballage_groupe_type"]=$palettisation_2_3_3["$description_annexe_emballage_groupe_type"]; $return["hauteur_colis"]=$palettisation_2_3_3["hauteur_colis"]; $return["total_colis"]=$palettisation_2_3_3["total_colis"]; $temp_nb_colis_dans_palette=$return["total_colis"]; $return["couche_palette"]=$palettisation_2_3_3["couche_palette"]; $return["colis_couche"]=$palettisation_2_3_3["colis_couche"]; */ } } //echo "Emballage total du colis: ".$return["$description_annexe_emballage_groupe_type"]."<br>"; //Calcul du poids des emballages d'une Palette $id_annexe_emballage_groupe_type = 4; $description_annexe_emballage_groupe_type = "palette_emballage"; /* $req = "SELECT * " . "FROM fta_conditionnement, annexe_emballage_groupe, annexe_emballage_groupe_type " . "WHERE id_fta=$id_fta " . "AND annexe_emballage_groupe_type.id_annexe_emballage_groupe_type=$id_annexe_emballage_groupe_type " . "AND fta_conditionnement.id_annexe_emballage_groupe=annexe_emballage_groupe.id_annexe_emballage_groupe " . "AND fta_conditionnement.id_annexe_emballage_groupe_type=annexe_emballage_groupe_type.id_annexe_emballage_groupe_type " . "ORDER BY nom_annexe_emballage_groupe_type " ; */ $req = "SELECT * " . " FROM fta_conditionnement, annexe_emballage_groupe, annexe_emballage_groupe_type " . " WHERE id_fta=" . $id_fta . " AND annexe_emballage_groupe_type.id_annexe_emballage_groupe_type=" . $id_annexe_emballage_groupe_type . " AND fta_conditionnement.id_annexe_emballage_groupe=annexe_emballage_groupe.id_annexe_emballage_groupe " . " AND ( " . "( fta_conditionnement.id_annexe_emballage_groupe_type IS NOT NULL AND fta_conditionnement.id_annexe_emballage_groupe_type=annexe_emballage_groupe_type.id_annexe_emballage_groupe_type )" . " OR " . "( fta_conditionnement.id_annexe_emballage_groupe_type IS NULL AND annexe_emballage_groupe.id_annexe_emballage_groupe_configuration=annexe_emballage_groupe_type.id_annexe_emballage_groupe_type )" . " ) " . " ORDER BY nom_annexe_emballage_groupe_type "; $arrayType4 = DatabaseOperation::convertSqlStatementWithoutKeyToArray($req); if (count($arrayType4) > 1) { $titre = "Cas non géré"; $message = "Il ne doit y avoir qu'une seule Palette"; afficher_message($titre, $message, $redirection); } else { //Il ne doit exister qu'une seule Palette if ($arrayType4) { foreach ($arrayType4 as $rows) { $return["palette_emballage"] += $rows["poids_fta_conditionnement"] / 1000; //Converstion de gramme en Kilo $return["dimension_palette"] = $rows["longueur_fta_conditionnement"] . "x" . $rows["largeur_fta_conditionnement"] . "x" . $rows["hauteur_fta_conditionnement"] . " mm"; $hauteur_palette = $rows["hauteur_fta_conditionnement"]; } $return["palette_emballage"] += $return["colis_emballage"] / 1000 * $temp_nb_colis_dans_palette; //Conversion gramme vers Kilo } else { //Tentative de récupération des données au format version 2.3.3 //$return["palette_emballage"]=$palettisation_2_3_3["palette_emballage"]; //$return["dimension_palette"]=$palettisation_2_3_3["dimension_palette"]; } } //Calcul des poids net $ftaModel = new FtaModel($id_fta); $return["uvc_net"] = $ftaModel->getDataField("Poids_ELEM")->getFieldValue() * 1000; //Conversion de Kg en Gramme //Le calcul du poids net colis est fonction de la composition colis //$return["colis_net"]=$return["pcb"] * $return["uvc_net"] / 1000; //Conversion de g en Kg $return["colis_net"] = calcul_poids_net_colis($id_fta); $return["palette_net"] = $return["colis_net"] * $temp_nb_colis_dans_palette; //Poids brut $return["uvc_brut"] = $return["uvc_net"] + $return["uvc_emballage"]; $return["colis_brut"] = $return["colis_net"] + $return["colis_emballage"] / 1000; $return["palette_brut"] = $return["palette_net"] + $return["palette_emballage"]; //Palettisation //Hauteur palette $hauteur_total_palette = $hauteur_total_palette + $hauteur_palette; $return["hauteur_palette"] = $hauteur_total_palette / 1000; return $return; }
// { // include ('./menu_principal.inc'); //Sinon, menu par défaut // } } //Fin de la sélection du mode d'affichage de la page $id_fta = Lib::getParameterFromRequest(FtaModel::KEYNAME); $synthese_action = Lib::getParameterFromRequest('synthese_action'); $id_fta_chapitre_encours = Lib::getParameterFromRequest('id_fta_chapitre_encours', '1'); $comeback = Lib::getParameterFromRequest('comeback'); $idFtaEtat = Lib::getParameterFromRequest(FtaEtatModel::KEYNAME); $abreviationFtaEtat = Lib::getParameterFromRequest(FtaEtatModel::FIELDNAME_ABREVIATION); $idFtaRole = Lib::getParameterFromRequest(FtaRoleModel::KEYNAME); /** * Initialisation */ $ftaModel = new FtaModel($id_fta); $dossierFta = $ftaModel->getDossierFta(); $idFtaWorkflow = $ftaModel->getDataField(FtaModel::FIELDNAME_WORKFLOW)->getFieldValue(); $globalConfig = new GlobalConfig(); if ($globalConfig->getAuthenticatedUser()) { $idUser = $globalConfig->getAuthenticatedUser()->getKeyValue(); } else { $titre = UserInterfaceMessage::FR_WARNING_DECONNECTION_TITLE; $message = UserInterfaceMessage::FR_WARNING_DECONNECTION; Lib::showMessage($titre, $message, $redirection); } $idUser = $globalConfig->getAuthenticatedUser()->getKeyValue(); /** * Contrôle du rôle attribué */ if ($idFtaRole == FtaRoleModel::ID_FTA_ROLE_COMMUN) {
$html_table = "table " . "border=1 " . "width=100% " . "class=contenu "; /* Récupération des données MySQL */ $idFta = Lib::getParameterFromRequest(FtaModel::KEYNAME); $id_fta_chapitre_encours = Lib::getParameterFromRequest('id_fta_chapitre_encours'); $syntheseAction = Lib::getParameterFromRequest('synthese_action'); $comeback = Lib::getParameterFromRequest('comeback'); $idFtaEtat = Lib::getParameterFromRequest(FtaEtatModel::KEYNAME); $abreviationFtaEtat = Lib::getParameterFromRequest(FtaEtatModel::FIELDNAME_ABREVIATION); $idFtaRole = Lib::getParameterFromRequest(FtaRoleModel::KEYNAME); $modeDeRecherche = Lib::getParameterFromRequest("modeDeRecherche"); /** * Contrôle */ $ftaModel = new FtaModel($idFta); $arrayIdFtaSeondaire = $ftaModel->getArrayIdFtaSecondaireByDossierPrimaire(FtaEtatModel::ID_VALUE_MODIFICATION); $arrayIdFtaSeondaire2 = $ftaModel->getArrayIdFtaSecondaireByDossierPrimaire(FtaEtatModel::ID_VALUE_VALIDE); /** * On vérifie qu'il ne s'agit pas d'une Fta primaire */ if ($arrayIdFtaSeondaire or $arrayIdFtaSeondaire2) { $message = UserInterfaceMessage::FR_WARNING_ARTICLE_PRIMAIRE_CHECK; $titre = UserInterfaceMessage::FR_WARNING_ARTICLE_PRIMAIRE_TITLE; Lib::showMessage($titre, $message); } switch ($modeDeRecherche) { case FtaModel::FIELDNAME_DOSSIER_FTA: $label = FtaModel::FIELDNAME_DOSSIER_FTA; $titre = UserInterfaceLabel::FR_SAISI_DOSSIER_FTA; break;
$selection_marque = Lib::getParameterFromRequest('selection_marque2'); $selection_activite = Lib::getParameterFromRequest('selection_activite2'); $selection_rayon = Lib::getParameterFromRequest('selection_rayon2'); $selection_environnement = Lib::getParameterFromRequest('selection_environnement2'); $selection_reseau = Lib::getParameterFromRequest('selection_reseau2'); $selection_saisonnalite = Lib::getParameterFromRequest('selection_saisonnalite2'); if ($selection_saisonnalite) { //Enregistrement du nouvel éléments de classification $idClassification2 = ClassificationFta2Model::getIdFtaClassification2($selection_proprietaire1, $selection_proprietaire2, $selection_marque, $selection_activite, $selection_rayon, $selection_environnement, $selection_reseau, $selection_saisonnalite); } switch ($action) { /* S'il n'y a pas d'actions défini */ case 'valider': $modelFta = new FtaModel($paramIdFta); $modelFta->getDataField(FtaModel::FIELDNAME_ID_FTA_CLASSIFICATION2)->setFieldValue($idClassification2); /** * Vérification que la classification est des données correspondantes Arcadia */ $modelFta->checkArcadiaClassifData($idClassification2); $abreviationFtaEtat = $modelFta->getModelFtaEtat()->getDataField(FtaEtatModel::FIELDNAME_ABREVIATION)->getFieldValue(); $modelFta->saveToDatabase(); //Redirection header('Location: modification_fiche.php?id_fta=' . $paramIdFta . '&id_fta_chapitre_encours=' . $paramIdFtaChapitreEncours . '&synthese_action=' . $paramSyntheseAction . '&id_fta_etat=' . $idFtaEtat . '&abreviation_fta_etat=' . $abreviationFtaEtat . '&id_fta_role=' . $idFtaRole); break; case 'gestionnaire': $validation = DatabaseOperation::execute("UPDATE " . FtaModel::TABLENAME . " SET " . FtaModel::FIELDNAME_ID_FTA_CLASSIFICATION2 . "=" . $idClassification2 . " WHERE " . FtaModel::FIELDNAME_DOSSIER_FTA . "=" . $paramIdFta); //Redirection header('Location: modification_classification.php'); break;
/** * Affiche la liste des espaces de travail pour lesquel l'utilisateur connecté à les droits d'accès * et l'identifiant de la Fta en cours * @param int $paramIdUser * @param HtmlListSelect $paramObjetList * @param boolean $paramIsEditable * @param int $paramIdFta * @return string */ public static function showListeDeroulanteNomWorkflowByAccesAndIdFta($paramIdUser, $paramObjetList, $paramIsEditable, $paramIdFta, $paramIdRole) { $ftaModel = new FtaModel($paramIdFta); $arrayWorkflow = DatabaseOperation::convertSqlStatementWithKeyAndOneFieldToArray('SELECT DISTINCT ' . self::TABLENAME . '.' . self::KEYNAME . ',' . self::FIELDNAME_DESCRIPTION_FTA_WORKFLOW . ' FROM ' . self::TABLENAME . ', ' . IntranetDroitsAccesModel::TABLENAME . ', ' . FtaWorkflowStructureModel::TABLENAME . ' WHERE ' . self::FIELDNAME_DESCRIPTION_FTA_WORKFLOW . '<>\'\'' . ' AND ' . self::TABLENAME . '.' . self::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_ROLE . '=' . $paramIdRole . ' AND ' . self::TABLENAME . '.' . self::KEYNAME . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_ID_USER . '=' . $paramIdUser . ' AND ' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . '=' . IntranetNiveauAccesModel::NIVEAU_GENERIC_TRUE . ' ORDER BY ' . self::FIELDNAME_DESCRIPTION_FTA_WORKFLOW); $paramObjetList->setArrayListContent($arrayWorkflow); $HtmlTableName = FtaModel::TABLENAME . '_' . FtaModel::FIELDNAME_WORKFLOW . '_' . $paramIdFta; $paramObjetList->getAttributes()->getName()->setValue(FtaModel::FIELDNAME_WORKFLOW); $paramObjetList->setLabel(DatabaseDescription::getFieldDocLabel(self::TABLENAME, self::FIELDNAME_DESCRIPTION_FTA_WORKFLOW)); $paramObjetList->setIsEditable($paramIsEditable); $paramObjetList->initAbstractHtmlSelect($HtmlTableName, $paramObjetList->getLabel(), $ftaModel->getDataField(FtaModel::FIELDNAME_WORKFLOW)->getFieldValue(), NULL, $paramObjetList->getArrayListContent()); $paramObjetList->getEventsForm()->setOnChangeWithAjaxAutoSave(FtaModel::TABLENAME, FtaModel::KEYNAME, $paramIdFta, FtaModel::FIELDNAME_WORKFLOW); $listeSiteWorkflow = $paramObjetList->getHtmlResult(); return $listeSiteWorkflow; }
// { // include ('./menu_principal.inc'); //Sinon, menu par défaut // } } //Fin de la sélection du mode d'affichage de la page $id_fta = Lib::getParameterFromRequest(FtaModel::KEYNAME); $synthese_action = Lib::getParameterFromRequest('synthese_action'); $id_fta_chapitre_encours = Lib::getParameterFromRequest('id_fta_chapitre_encours', '1'); $comeback = Lib::getParameterFromRequest('comeback'); $idFtaEtat = Lib::getParameterFromRequest(FtaEtatModel::KEYNAME); $abreviationFtaEtat = Lib::getParameterFromRequest(FtaEtatModel::FIELDNAME_ABREVIATION); $idFtaRole = Lib::getParameterFromRequest(FtaRoleModel::KEYNAME); /** * Initialisation */ $ftaModel = new FtaModel($id_fta); $ftaModel->setDataFtaTableToCompare(); $ftaView = new FtaView($ftaModel); $ftaView->setIsEditable(Chapitre::NOT_EDITABLE); $idFtaWorkflow = $ftaModel->getDataField(FtaModel::FIELDNAME_WORKFLOW)->getFieldValue(); $globalConfig = new GlobalConfig(); if ($globalConfig->getAuthenticatedUser()) { $idUser = $globalConfig->getAuthenticatedUser()->getKeyValue(); } else { $titre = UserInterfaceMessage::FR_WARNING_DECONNECTION_TITLE; $message = UserInterfaceMessage::FR_WARNING_DECONNECTION; Lib::showMessage($titre, $message, $redirection); } $idUser = $globalConfig->getAuthenticatedUser()->getKeyValue(); /** * Contrôle du rôle attribué
/* Récupération des données MySQL */ /* Création des objets HTML (listes déroulante, cases à cocher ...etc.) */ $id_fta = Lib::getParameterFromRequest(FtaModel::KEYNAME); $idFtaRole = Lib::getParameterFromRequest(FtaRoleModel::KEYNAME); $globalConfig = new GlobalConfig(); UserModel::checkUserSessionExpired($globalConfig); $idUser = $globalConfig->getAuthenticatedUser()->getKeyValue(); $checked_vierge = ''; $checked_duplicate = ''; if ($id_fta) { $checked_duplicate = 'checked'; $ftaModel = new FtaModel($id_fta); $idFtaWorkflow = $ftaModel->getDataField(FtaModel::FIELDNAME_WORKFLOW)->getFieldValue(); $SiteDeProduction = $ftaModel->getDataField(FtaModel::FIELDNAME_SITE_PRODUCTION)->getFieldValue(); $designationCommercialeFta = $ftaModel->getDataField(FtaModel::FIELDNAME_DESIGNATION_COMMERCIALE)->getFieldValue(); $arrayIdFtaRoleAcces = FtaRoleModel::getArrayIdFtaRoleByIdUserAndWorkflow($idUser, $idFtaWorkflow); $idFtaRole = $arrayIdFtaRoleAcces["0"]; $comeback = Lib::getParameterFromRequest('comeback'); /** * Initialisation du bouton de retour de synthèse */ if ($comeback) { $_SESSION["comeback_url"] = $_SERVER["HTTP_REFERER"]; } } else { $checked_vierge = 'checked'; }
flush(); // if (isset($menu)) //Si existant, utilisation du menu demandé // { //en variable // include ('./$menu'); // } // else // { // include ('./menu_principal.inc'); //Sinon, menu par défaut // } } //Fin de la sélection du mode d'affichage de la page $id_fta_new = Lib::getParameterFromRequest('id_fta_new'); $id_fta_original = Lib::getParameterFromRequest('id_fta_original'); $idFtaRole = Lib::getParameterFromRequest('id_fta_role'); $ftaNewModel = new FtaModel($id_fta_new); $ftaOrigModel = new FtaModel($id_fta_original); /* * *********** Début Code PHP * *********** */ /* Initialisation des variables */ $page_default = substr(strrchr($_SERVER['PHP_SELF'], '/'), '1', '-4'); $page_action = $page_default . '_post.php'; $page_pdf = $page_default . '_pdf.php'; $action = 'valider'; //Action proposée à la page _post.php $method = 'POST'; //Pour une url > 2000 caractères, ne pas utiliser utiliser GET $html_table = 'table ' . 'border=1 ' . 'width=100% ' . 'class=contenu '; /*
$fieldName = $rowsFtaLock[IntranetColumnInfoModel::FIELDNAME_COLUMN_NAME_INTRANET_COLUMN_INFO]; $label = IntranetColumnInfoModel::getLabelByTableNameAndColummName($tableName, $fieldName); $htmlList .= $separateur . $label; $separateur = "<br>"; } foreach ($arrayDossierFta as $rowsDossierFta) { $idFta = $rowsDossierFta[FtaModel::KEYNAME]; /** * Contrôle */ if ($idFta == $paramIdFta) { $message = UserInterfaceMessage::FR_WARNING_ARTICLE_PRIMAIRE; $titre = UserInterfaceMessage::FR_WARNING_ARTICLE_PRIMAIRE_TITLE; Lib::showMessage($titre, $message); } $ftaCheckModel = new FtaModel($idFta); $dossierPrimaireCheck = $ftaCheckModel->getDossierPrimaire(); if ($dossierPrimaireCheck) { $message = UserInterfaceMessage::FR_WARNING_ARTICLE_SECONDAIRE; $titre = UserInterfaceMessage::FR_WARNING_ARTICLE_SECONDAIRE_TITLE; Lib::showMessage($titre, $message); } $designation_commerciale_fta = $rowsDossierFta[FtaModel::FIELDNAME_DESIGNATION_COMMERCIALE]; $id_dossier_fta = $rowsDossierFta[FtaModel::FIELDNAME_DOSSIER_FTA]; $id_version_dossier_fta = $rowsDossierFta[FtaModel::FIELDNAME_VERSION_DOSSIER_FTA]; $code_article_ldc = $rowsDossierFta[FtaModel::FIELDNAME_CODE_ARTICLE_LDC]; $LIBELLE = $rowsDossierFta[FtaModel::FIELDNAME_LIBELLE]; $NB_UNIT_ELEM = $rowsDossierFta[FtaModel::FIELDNAME_NOMBRE_UVC_PAR_CARTON]; $Poids_ELEM = $rowsDossierFta[FtaModel::FIELDNAME_POIDS_ELEMENTAIRE]; $abreviation_fta_etat = FtaEtatModel::getAbreviationEtatByIdEtat($rowsDossierFta[FtaModel::FIELDNAME_ID_FTA_ETAT]); //Désignation commerciale
$ftaComposantView = new FtaComposantView($ftaComposantModel); $ftaComposantView->setIsEditable($editable); $ftaComposantView2 = new FtaComposantView($ftaComposantModel); $_SESSION['checkCreation'] = $creation; } else { $titre = "Erreur "; $message = "Veuillez utiliser les boutons de navigation"; Lib::showMessage($titre, $message, $redirection); } //Ce composant sera géré dans la composition //$is_composition_fta_composant = 1; //La création d'un composant dans la composition n'inclus pas ce composant dans la nomenclature //$is_nomenclature_fta_nomenclature = 0; } //Chargement des données de la FTA $ftaModel = new FtaModel($id_fta); //mysql_table_load("fta"); //echo $id_fta."<br>"; $bloc = ""; //Bloc de saisie //Désignation //$bloc .= "<tr><td>" . DatabaseDescription::getFieldDocLabel(FtaComposantModel::TABLENAME, FtaComposantModel::FIELDNAME_NOM_FTA_COMPOSITION) . "</td><td>"; //if ($proprietaire) { // $bloc .= "<input type=text name=" . FtaComposantModel::FIELDNAME_NOM_FTA_COMPOSITION . " value='" . $nom_fta_composition . "' size=50/>"; //} else { $bloc .= $ftaComposantView->getHtmlDataField(FtaComposantModel::FIELDNAME_NOM_FTA_COMPOSITION); //} //$bloc.="</td></tr>"; //Code Produit Agrologic //$bloc .= "<tr><td>" . DatabaseDescription::getFieldDocLabel(FtaComposantModel::TABLENAME, FtaComposantModel::FIELDNAME_CODE_PRODUIT_AGROLOGIC_FTA_NOMENCLATURE) . "</td><td>"; //
public function __construct(FtaModel $paramFtaModel) { $this->setFtaProcessusDelaiModel(new FtaProcessusDelaiModel()); $this->getFtaProcessusDelaiModel()->setModelFtaById($paramFtaModel->getKeyValue()); }
/** * Désactivation du code Primaire * @return int */ function disabledCodePrimaire() { $dossierFtaPrimaire = $this->getDossierPrimaire(); /** * Désactivation du code Primaire */ $this->getDataField(FtaModel::FIELDNAME_DOSSIER_FTA_PRIMAIRE)->setFieldValue(" "); $this->saveToDatabase(); /** * On vérifie si le dossier Primaire est toujours utilisé comme code Primaire */ $arrayIdFtaByIdDossierPrimaryFta = FtaModel::getArrayIdFtaByIdDossierPrimaryFta($dossierFtaPrimaire); if (!$arrayIdFtaByIdDossierPrimaryFta) { FtaVerrouillageChampsModel::deletePrimaryFolder($dossierFtaPrimaire); } }
$comeback = Lib::getParameterFromRequest('comeback'); /** * Initialisation du bouton de retour de synthèse */ if ($comeback) { $_SESSION["comeback_url"] = $_SERVER["HTTP_REFERER"]; } $action = Lib::getParameterFromRequest('action'); $demande_abreviation_fta_transition = Lib::getParameterFromRequest('demande_abreviation_fta_transition'); $syntheseAction = Lib::getParameterFromRequest('synthese_action'); $checkPost = Lib::getParameterFromRequest('checkPost'); /* * Initinalisation du modele Fta * */ $ftaModel = new FtaModel($idFta); $globalConfig = new GlobalConfig(); UserModel::checkUserSessionExpired($globalConfig); $idUser = $globalConfig->getAuthenticatedUser()->getKeyValue(); $idFtaWorkflow = $ftaModel->getDataField(FtaModel::FIELDNAME_WORKFLOW)->getFieldValue(); $arrayIdFtaRoleAcces = FtaRoleModel::getArrayIdFtaRoleByIdUserAndWorkflow($idUser, $idFtaWorkflow); $idFtaRole = $arrayIdFtaRoleAcces["0"]; /** * Affichage commentaire à modifier */ $NOM_commentaire_maj_fta = $ftaModel->getHtmlCommentaireMajFta(); //$NOM_commentaire_maj_fta = str_replace('<>'); /** * Recupération des élement de la Fta en cours */ $arrayFta = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . FtaModel::FIELDNAME_DOSSIER_FTA . ',' . FtaModel::FIELDNAME_DESIGNATION_COMMERCIALE . ',' . FtaModel::FIELDNAME_COMMENTAIRE_MAJ_FTA . ',' . FtaModel::FIELDNAME_LIBELLE . ',' . FtaEtatModel::FIELDNAME_NOM_FTA_ETAT . ',' . FtaEtatModel::FIELDNAME_ABREVIATION . ',' . FtaModel::FIELDNAME_WORKFLOW . ',' . FtaModel::FIELDNAME_VERSION_DOSSIER_FTA . ' FROM ' . FtaModel::TABLENAME . ',' . FtaEtatModel::TABLENAME . ' WHERE ' . FtaModel::KEYNAME . '=' . $idFta . ' AND ' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_ID_FTA_ETAT . '=' . FtaEtatModel::TABLENAME . '.' . FtaEtatModel::KEYNAME);
*/ $globalConfig = new GlobalConfig(); $idUser = $globalConfig->getAuthenticatedUser()->getKeyValue(); $nomPrenomConnect = $globalConfig->getAuthenticatedUser()->getPrenomNom(); $userModelOLD = new UserModel($createurFtaOLD); $userModelNEW = new UserModel($createurFtaNEW); $nomWorkflowOLD = $userModelOLD->getPrenomNom(); $nomWorkflowNEW = $userModelNEW->getPrenomNom(); $commentaire = FtaController::getCommentGestionnaireChange($nomWorkflowOLD, $nomWorkflowNEW, $nomPrenomConnect); switch ($action) { /* S'il n'y a pas d'actions défini */ case 'valider': if ($createurFtaOLD != $createurFtaNEW) { $modelFta = new FtaModel($paramIdFta); /** * Commentaire de modification du gestionnaire de la Fta */ $commentaire_maj_fta = $modelFta->getDataField(FtaModel::FIELDNAME_COMMENTAIRE_MAJ_FTA)->getFieldValue(); $modelFta->getDataField(FtaModel::FIELDNAME_COMMENTAIRE_MAJ_FTA)->setFieldValue($commentaire . $commentaire_maj_fta); $modelFta->getDataField(FtaModel::FIELDNAME_CREATEUR)->setFieldValue($createurFtaNEW); $modelFta->saveToDatabase(); //Redirection header('Location: modification_fiche.php?id_fta=' . $paramIdFta . '&id_fta_chapitre_encours=' . $paramIdFtaChapitreEncours . '&synthese_action=' . $paramSyntheseAction . '&id_fta_etat=' . $idFtaEtat . '&abreviation_fta_etat=' . $abreviationFtaEtat . '&id_fta_role=' . FtaRoleModel::ID_FTA_ROLE_COMMUN); } else { $titre = UserInterfaceMessage::FR_WARNING_DATA_GESTIONNAIRE_TITLE; $message = UserInterfaceMessage::FR_WARNING_DATA_GESTIONNAIRE; Lib::showMessage($titre, $message, $redirection); } break;
public static function buildChapitreDureeDeVie() { $bloc = ''; $id_fta = self::$id_fta; $synthese_action = self::$synthese_action; $isEditable = self::$is_editable; //$isEditable = TRUE; // //Identifiant FTA $ftaModel = new FtaModel($id_fta); $ftaModel->setDataFtaTableToCompare(); $ftaView = new FtaView($ftaModel); $ftaView->setIsEditable($isEditable); $ftaView->setFtaChapitreModelById(self::ID_CHAPITRE_IDENTITE); //Durée de vie Production (en jours) $bloc .= $ftaView->getHtmlDataField(FtaModel::FIELDNAME_DUREE_DE_VIE_TECHNIQUE_PRODUCTION); //Code Douane $bloc .= $ftaView->getHtmlDataField(FtaModel::FIELDNAME_CODE_DOUANE_FTA); if ($ftaView->isDataValidationSuccessful() == "0") { self::setDataValidationSuccessfulToTrue(); } return $bloc; }
//Pour une url > 2000 caractères, ne pas utiliser utiliser GET $html_table = 'table ' . 'border=0 ' . 'width=100% ' . 'class=contenu '; $idFta = Lib::getParameterFromRequest('id_fta'); $idAnnexeEmballageGroupeType = Lib::getParameterFromRequest(AnnexeEmballageGroupeTypeModel::KEYNAME); $idAnnexeEmballageGroupe = Lib::getParameterFromRequest(AnnexeEmballageGroupeModel::KEYNAME); $idAnnexeEmballage = Lib::getParameterFromRequest(AnnexeEmballageModel::KEYNAME); $idFtaChapitreEncours = Lib::getParameterFromRequest(FtaChapitreModel::KEYNAME); $syntheseAction = Lib::getParameterFromRequest('synthese_action'); $action = Lib::getParameterFromRequest('action'); $abreviationFtaEtat = Lib::getParameterFromRequest(FtaEtatModel::FIELDNAME_ABREVIATION); $idFtaEtat = Lib::getParameterFromRequest(FtaEtatModel::KEYNAME); $idFtaRole = Lib::getParameterFromRequest(FtaRoleModel::KEYNAME); $comeback = Lib::getParameterFromRequest('comeback'); $page_reload = Lib::getParameterFromRequest('page_reload'); //Initialisation des modele $ftaModel = new FtaModel($idFta); $annexeEmballageGroupeTypeModel = new AnnexeEmballageGroupeTypeModel($idAnnexeEmballageGroupeType); $annexeEmballageModel = new AnnexeEmballageModel($idAnnexeEmballage); $annexeEmballageGroupeModel = new AnnexeEmballageGroupeModel($idAnnexeEmballageGroupe); /** * jQuery */ //if (($idAnnexeEmballage and $idAnnexeEmballageGroupeType) and ! $idAnnexeEmballageGroupe) { // $idAnnexeEmballageGroupe = AnnexeEmballageGroupeModel::getIdAnnexeEmballageGroupeByIdAnnexeEmballageAndIdAnnexeGroupeType($idAnnexeEmballage, $idAnnexeEmballageGroupeType); // // $annexeEmballageGroupeModel = new AnnexeEmballageGroupeModel($idAnnexeEmballageGroupe); //} /* Récupération des données MySQL */ $id_annexe_emballage_groupe_type = $idAnnexeEmballageGroupeType;
if ($idFtaWorkflowOLD != $idFtaWorkflowNEW) { $modelFta = new FtaModel($paramIdFta); $idDossierFta = $modelFta->getDossierFta(); /** * Liste des IdFta changeant d'espace de travail */ $arrayIdFtaChange = FtaModel::getArrayIdFtaByIdDossierFta($idDossierFta); foreach ($arrayIdFtaChange as $rowsIdFtaChange) { $idFta = $rowsIdFtaChange[FtaModel::KEYNAME]; $idFtaEtatChange = $rowsIdFtaChange[FtaModel::FIELDNAME_ID_FTA_ETAT]; $ftaEtatModel = new FtaEtatModel($idFtaEtatChange); $arbreviationFta = $ftaEtatModel->getDataField(FtaEtatModel::FIELDNAME_ABREVIATION)->getFieldValue(); /** * Changement de l'espace de travail */ $ftaModel = new FtaModel($idFta); $ftaModel->getDataField(FtaModel::FIELDNAME_WORKFLOW)->setFieldValue($idFtaWorkflowNEW); $oldComment = $ftaModel->getDataField(FtaModel::FIELDNAME_COMMENTAIRE_MAJ_FTA)->getFieldValue(); $ftaModel->getDataField(FtaModel::FIELDNAME_COMMENTAIRE_MAJ_FTA)->setFieldValue($commentaire . $oldComment); $ftaModel->saveToDatabase(); FtaSuiviProjetModel::createNewChapitresFromNewWorkflow($idFta, $idFtaWorkflowNEW, $arbreviationFta, $idUser); /** * Suppression des chapitres de l'ancien espace de travail */ FtaSuiviProjetModel::deleteOldChapitreFromOldWorkflow($idFta, $idFtaWorkflowNEW); } //Redirection header('Location: modification_fiche.php?id_fta=' . $paramIdFta . '&id_fta_chapitre_encours=' . $paramIdFtaChapitreEncours . '&synthese_action=' . $paramSyntheseAction . '&id_fta_etat=' . $idFtaEtat . '&abreviation_fta_etat=' . $abreviationFtaEtat . '&id_fta_role=' . FtaRoleModel::ID_FTA_ROLE_COMMUN); } else { $titre = UserInterfaceMessage::FR_WARNING_DATA_ESPACE_DE_TRAVAIL_TITLE; $message = UserInterfaceMessage::FR_WARNING_DATA_ESPACE_DE_TRAVAIL_CHANGEMENT;
/** * Liste des id Fta selon l'état d'avancement en exécution * @param type $paramSyntheseAction * @param type $paramRole * @param type $paramIdUser * @param type $paramIdFtaEtat * @param type $paramFtaModification * @return type */ public static function getIdFtaByEtatAvancement($paramSyntheseAction, $paramRole, $paramIdUser, $paramIdFtaEtat, $paramFtaModification, $paramLieuGeo) { $idFtaEffectue = array(); // $compteur = "0"; if ($_SESSION['CheckIdFtaRole'] != $paramRole or $_SESSION[UserModel::KEYNAME] != $paramIdUser) { Acl::setRightsAcces($paramIdUser, $paramRole); } switch ($paramSyntheseAction) { case FtaEtatModel::ETAT_AVANCEMENT_VALUE_ATTENTE: /* * On obtient les fta à vérifié dont tous les chapitres ne sont pas validés */ $arrayTmp = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::TABLENAME . '.' . FtaModel::KEYNAME . ',' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ',' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . ' FROM ' . FtaWorkflowModel::TABLENAME . ', ' . FtaWorkflowStructureModel::TABLENAME . ', ' . FtaSuiviProjetModel::TABLENAME . ' , ' . FtaActionSiteModel::TABLENAME . ' , ' . FtaModel::TABLENAME . ' , ' . IntranetDroitsAccesModel::TABLENAME . ' , ' . IntranetActionsModel::TABLENAME . ' WHERE ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ' IS NOT NULL' . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::KEYNAME . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_CHAPITRE . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_SITE . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_SITE_PRODUCTION . ' AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA . '=' . FtaModel::TABLENAME . '.' . FtaModel::KEYNAME . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::FIELDNAME_PARENT_INTRANET_ACTIONS . ' AND ' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_INTRANET_ACTIONS . ' IN (' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ')' . ' AND ' . FtaSuiviProjetModel::FIELDNAME_SIGNATURE_VALIDATION_SUIVI_PROJET . '=' . FtaSuiviProjetModel::SIGNATURE_VALIDATION_SUIVI_PROJET_FALSE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . '=' . IntranetNiveauAccesModel::NIVEAU_GENERIC_TRUE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_ID_USER . '=' . $paramIdUser . ' AND ' . FtaModel::FIELDNAME_ID_FTA_ETAT . '=' . $paramIdFtaEtat . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_ROLE . '=' . $paramRole . ' AND ( 0 ' . IntranetActionsModel::addIdIntranetAction($_SESSION[Acl::ACL_INTRANET_ACTIONS_VALIDE]) . ')'); if (FtaRoleModel::isGestionnaire($paramRole)) { $arrayTmp = NULL; } if ($arrayTmp) { foreach ($arrayTmp as $rows) { $cheackIdFta = in_array($rows[FtaModel::KEYNAME], $idFtaEffectue); if (!$cheackIdFta) { $tauxDeValidadation = FtaProcessusModel::getValideProcessusEncours($rows[FtaModel::KEYNAME], $rows[FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS], $rows[FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW]); if ($tauxDeValidadation != '1') { $idFtaEffectue[] = $rows[FtaModel::KEYNAME]; // $compteur++; // if ($compteur == ModuleConfig::VALUE_MAX_PAR_PAGE) { // break; // } } } } } $array = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::KEYNAME . ' FROM ' . FtaModel::TABLENAME . ' WHERE ( ' . '0' . ' ' . FtaModel::addIdFta($idFtaEffectue) . ')'); break; case FtaEtatModel::ETAT_AVANCEMENT_VALUE_EN_COURS: //Récupération des suivis de projet gérés par l'utilisateur et non validé /* * On obtient les fta à vérifié dont tous les chapitres ne sont pas validés */ $arrayTmp = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::TABLENAME . '.' . FtaModel::KEYNAME . ',' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ',' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . ' FROM ' . FtaWorkflowModel::TABLENAME . ', ' . FtaWorkflowStructureModel::TABLENAME . ', ' . FtaSuiviProjetModel::TABLENAME . ' , ' . FtaActionSiteModel::TABLENAME . ' , ' . FtaModel::TABLENAME . ' , ' . IntranetDroitsAccesModel::TABLENAME . ' , ' . IntranetActionsModel::TABLENAME . ' WHERE ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ' IS NOT NULL' . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::KEYNAME . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_FTA_WORKFLOW . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_CHAPITRE . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_SITE . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_SITE_PRODUCTION . ' AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA . '=' . FtaModel::TABLENAME . '.' . FtaModel::KEYNAME . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::FIELDNAME_PARENT_INTRANET_ACTIONS . ' AND ' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_INTRANET_ACTIONS . ' IN (' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ')' . ' AND ' . FtaSuiviProjetModel::FIELDNAME_SIGNATURE_VALIDATION_SUIVI_PROJET . '=' . FtaSuiviProjetModel::SIGNATURE_VALIDATION_SUIVI_PROJET_FALSE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . '=' . IntranetNiveauAccesModel::NIVEAU_GENERIC_TRUE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_ID_USER . '=' . $paramIdUser . ' AND ' . FtaModel::FIELDNAME_ID_FTA_ETAT . '=' . $paramIdFtaEtat . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_ROLE . '=' . $paramRole . ' AND ( 0 ' . IntranetActionsModel::addIdIntranetAction($_SESSION[Acl::ACL_INTRANET_ACTIONS_VALIDE]) . ')'); if ($arrayTmp) { foreach ($arrayTmp as $rows) { $cheackIdFta = in_array($rows[FtaModel::KEYNAME], $idFtaEffectue); if (!$cheackIdFta) { $tauxDeValidadation = FtaProcessusModel::getFtaProcessusNonValidePrecedent($rows[FtaModel::KEYNAME], $rows[FtaProcessusModel::KEYNAME], $rows[FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW]); /** * En cas d'oublier des chef de projet qui aurait créé une fta sans validé les informations de base */ if (FtaRoleModel::isGestionnaire($paramRole)) { $chefProjet = $tauxDeValidadation == '0'; if ($tauxDeValidadation != '0' or $chefProjet == TRUE) { $idFtaEffectue[] = $rows[FtaModel::KEYNAME]; // $compteur++; // if ($compteur == ModuleConfig::VALUE_MAX_PAR_PAGE) { // break; // } } } elseif ($tauxDeValidadation == '1') { $idFtaEffectue[] = $rows[FtaModel::KEYNAME]; // $compteur++; // if ($compteur == ModuleConfig::VALUE_MAX_PAR_PAGE) { // break; // } } } } } $array = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . FtaModel::KEYNAME . ' FROM ' . FtaModel::TABLENAME . ' WHERE ( ' . '0' . ' ' . FtaModel::addIdFta($idFtaEffectue) . ')'); break; case FtaEtatModel::ETAT_AVANCEMENT_VALUE_EFFECTUES: //Récupération de la liste fta pour le role concernés /* * On obtient les fta à vérifié dont tous les chapitres sont validés */ $arrayTmp = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::TABLENAME . '.' . FtaModel::KEYNAME . ',' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ',' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . ' FROM ' . FtaWorkflowModel::TABLENAME . ', ' . FtaWorkflowStructureModel::TABLENAME . ', ' . FtaSuiviProjetModel::TABLENAME . ' , ' . FtaActionSiteModel::TABLENAME . ' , ' . FtaModel::TABLENAME . ' , ' . IntranetDroitsAccesModel::TABLENAME . ' , ' . IntranetActionsModel::TABLENAME . ' WHERE ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_PROCESSUS . ' IS NOT NULL' . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::KEYNAME . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW . ' AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA_CHAPITRE . '=' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_CHAPITRE . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_SITE . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_SITE_PRODUCTION . ' AND ' . FtaSuiviProjetModel::TABLENAME . '.' . FtaSuiviProjetModel::FIELDNAME_ID_FTA . '=' . FtaModel::TABLENAME . '.' . FtaModel::KEYNAME . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::FIELDNAME_PARENT_INTRANET_ACTIONS . ' AND ' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_INTRANET_ACTIONS . ' IN (' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ')' . ' AND ' . FtaSuiviProjetModel::FIELDNAME_SIGNATURE_VALIDATION_SUIVI_PROJET . '<>' . FtaSuiviProjetModel::SIGNATURE_VALIDATION_SUIVI_PROJET_FALSE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . '=' . IntranetNiveauAccesModel::NIVEAU_GENERIC_TRUE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_ID_USER . '=' . $paramIdUser . ' AND ' . FtaModel::FIELDNAME_ID_FTA_ETAT . '=' . $paramIdFtaEtat . ' AND ' . FtaWorkflowStructureModel::TABLENAME . '.' . FtaWorkflowStructureModel::FIELDNAME_ID_FTA_ROLE . '=' . $paramRole . ' AND ( 0 ' . IntranetActionsModel::addIdIntranetAction($_SESSION[Acl::ACL_INTRANET_ACTIONS_VALIDE]) . ')'); if ($arrayTmp) { foreach ($arrayTmp as $rows) { $cheackIdFta = in_array($rows[FtaModel::KEYNAME], $idFtaEffectue); if (!$cheackIdFta) { $tauxDeValidadation = FtaProcessusModel::getValideIdFtaByRoleWorkflowProcessus($rows[FtaModel::KEYNAME], $paramRole, $rows[FtaWorkflowStructureModel::FIELDNAME_ID_FTA_WORKFLOW]); if ($tauxDeValidadation == '1') { $idFtaEffectue[] = $rows[FtaModel::KEYNAME]; // $compteur++; // if ($compteur == ModuleConfig::VALUE_MAX_PAR_PAGE) { // break; // } } } } } $array = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::KEYNAME . ' FROM ' . FtaModel::TABLENAME . ' WHERE ( ' . '0' . ' ' . FtaModel::addIdFta($idFtaEffectue) . ')'); break; case FtaEtatModel::ETAT_AVANCEMENT_VALUE_ALL: //Toutes les fiches de l'état sélectionné if ($paramFtaModification) { $array = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::KEYNAME . ' FROM ' . FtaModel::TABLENAME . ',' . IntranetDroitsAccesModel::TABLENAME . ',' . FtaWorkflowModel::TABLENAME . ',' . IntranetActionsModel::TABLENAME . ' , ' . FtaActionSiteModel::TABLENAME . ' WHERE ' . FtaModel::FIELDNAME_ID_FTA_ETAT . '=' . $paramIdFtaEtat . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . '=' . IntranetNiveauAccesModel::NIVEAU_GENERIC_TRUE . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_ID_USER . '=' . $paramIdUser . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::FIELDNAME_PARENT_INTRANET_ACTIONS . ' AND ' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::KEYNAME . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . ' AND ( 0 ' . IntranetActionsModel::addIdIntranetAction($_SESSION[Acl::ACL_INTRANET_ACTIONS_VALIDE]) . ')' . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_SITE . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_SITE_PRODUCTION . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_FTA_WORKFLOW . '=' . FtaModel::TABLENAME . '.' . FtaModel::FIELDNAME_WORKFLOW . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_INTRANET_ACTIONS . ' IN (' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ')'); } else { $isSiteDeProd = GeoModel::isLieuGeoSiteDeProduction($paramLieuGeo); if ($isSiteDeProd) { $array = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::KEYNAME . ' FROM ' . FtaModel::TABLENAME . ' WHERE ' . FtaModel::FIELDNAME_ID_FTA_ETAT . '=' . $paramIdFtaEtat . ' AND ' . FtaModel::FIELDNAME_SITE_PRODUCTION . '=' . $paramLieuGeo); } else { $array = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . FtaModel::KEYNAME . ' FROM ' . FtaModel::TABLENAME . ' WHERE ' . FtaModel::FIELDNAME_ID_FTA_ETAT . '=' . $paramIdFtaEtat); } } break; } return $array; }
/** * Récupérations des paramètres */ $checkArcadiaData = Fta2ArcadiaTransactionModel::isIdArcadiaTransactionActif($idFta); $id_fta_chapitre_encours = Lib::getParameterFromRequest('id_fta_chapitre_encours', '1'); $synthese_action = Lib::isDefined('synthese_action'); $comeback = Lib::isDefined('comeback'); $idFtaEtat = Lib::isDefined(FtaEtatModel::KEYNAME); $abreviationFtaEtat = Lib::isDefined(FtaEtatModel::FIELDNAME_ABREVIATION); $idFtaRole = Lib::isDefined(FtaRoleModel::KEYNAME); $ftaModification = Acl::getValueAccesRights('fta_modification'); $id_fta_chapitre = $id_fta_chapitre_encours; /** * Initilisation */ $ftaModel = new FtaModel($idFta); //Rien ne garantie que l'utilisateur est mis un idFta existant $idWorkflowFtaEncours = $ftaModel->getDataField(FtaModel::FIELDNAME_WORKFLOW)->getFieldValue(); $idSiteDeProduction = $ftaModel->getDataField(FtaModel::FIELDNAME_SITE_PRODUCTION)->getFieldValue(); /** * Ticket 49823 en 3.1 activation/désactivation d'un workflow */ // FtaWorkflowModel::checkActifWorkflow($idWorkflowFtaEncours); /** * Verification des droits d'accès sur une Fta en modification */ if ($idFtaEtat == FtaEtatModel::ID_VALUE_MODIFICATION and !$ftaModification) { $titre = UserInterfaceMessage::FR_WARNING_ACCES_RIGHTS_TITLE; $message = UserInterfaceMessage::FR_WARNING_ACCES_RIGHTS; $redirection = "index.php"; Lib::showMessage($titre, $message, $redirection);
S'il n'y a pas d'actions défini */ case 1: //Création d'une FTA Vierge // $idFta = null; $arrayIdEtat = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . FtaEtatModel::KEYNAME . ' FROM ' . FtaEtatModel::TABLENAME . ' WHERE ' . FtaEtatModel::FIELDNAME_ABREVIATION . '=\'' . $abreviationFtaEtat . '\' '); foreach ($arrayIdEtat as $rowsIdEtat) { $idFtaEtat = $rowsIdEtat[FtaEtatModel::KEYNAME]; } /* * Initialisation de l'enregistrement de la Table FTA */ $globalConfig = new GlobalConfig(); UserModel::checkUserSessionExpired($globalConfig); $idUser = $globalConfig->getAuthenticatedUser()->getKeyValue(); $idFta = FtaModel::createFta($idUser, $idFtaEtat, $idFtaWorkflow, $designationCommercialeFta, date('Y-m-d'), $siteDeProduction); DatabaseOperation::execute('UPDATE ' . FtaModel::TABLENAME . ' SET ' . FtaModel::FIELDNAME_DOSSIER_FTA . '=' . $idFta . ' WHERE ' . FtaModel::KEYNAME . '=' . $idFta); FtaSuiviProjetModel::initFtaSuiviProjet($idFta); //Cas d'une fiche Présentation /** * Ce cas n'est plus utiliser puisque l'espasce de travail Présentation, * regroupe tous les chapitres nécéssaire */ if ($abreviationFtaEtat == 'P') { //Condition where $where = ''; //Récupération des chapitres concernés par ce cycle de vie $arrayChapitreCycle = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT ' . FtaProcessusCycleModel::FIELDNAME_FTA_ETAT . ', ' . FtaProcessusCycleModel::FIELDNAME_PROCESSUS_INIT . ', ' . FtaProcessusCycleModel::FIELDNAME_PROCESSUS_NEXT . ' FROM ' . FtaProcessusCycleModel::TABLENAME . ' WHERE ' . FtaProcessusCycleModel::FIELDNAME_FTA_ETAT . ' = \'' . $abreviationFtaEtat . '\' AND ' . FtaProcessusCycleModel::FIELDNAME_PROCESSUS_NEXT . ' IS NOT NULL'); foreach ($arrayChapitreCycle as $rowsChapitreCycle) { $where .= ' AND ' . FtaProcessusModel::TABLENAME . '.' . FtaProcessusModel::KEYNAME . ' <> ' . $rowsChapitreCycle[FtaProcessusCycleModel::FIELDNAME_PROCESSUS_NEXT]; }
/** * 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; }