Exemplo n.º 1
0
 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 .= '&nbsp;
         <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;
 }