/** * Tableau des emballages du Colis * @param int $paramIdFta * @param int $paramChapitre * @param string $paramSyntheseAction * @param int $paramIdFtaEtat * @param string $paramAbreviationEtat * @param int $paramIdFtaRole * @return string */ public function getHtmlEmballageDuColis($paramIdFta, $paramChapitre, $paramSyntheseAction, $paramIdFtaEtat, $paramAbreviationEtat, $paramIdFtaRole) { $annexeEmballageGroupeTypeModel = new AnnexeEmballageGroupeTypeModel(AnnexeEmballageGroupeTypeModel::EMBALLAGE_DU_COLIS); /* * Récuperation des élements clé de la table fta_conditionnement */ $FtaConditionnement = $annexeEmballageGroupeTypeModel->getIdAnnexeEmballageGroupeTypeDuColisFromFtaConditionnement(); if ($FtaConditionnement) { $arrayFtaConditionnementtmp = array(); $tablesNameAndIdForeignKeyOfFtaConditionnementtmp = array(); foreach ($FtaConditionnement as $rowsFtaConditionnement) { $idFtaCondtionnement = $rowsFtaConditionnement[FtaConditionnementModel::KEYNAME]; $idAnnexeEmballage = $rowsFtaConditionnement[FtaConditionnementModel::FIELDNAME_ID_ANNEXE_EMBALLAGE]; $idAnnexeEmballageGroupeType = $rowsFtaConditionnement[FtaConditionnementModel::FIELDNAME_ID_ANNEXE_EMBALLAGE_GROUPE_TYPE]; $arrayIdFtaCondtionnement[] = $idFtaCondtionnement; /* * Initialisation des modèles */ $annexeEmballageGroupeTypeModel2 = new AnnexeEmballageGroupeTypeModel(AnnexeEmballageGroupeTypeModel::EMBALLAGE_DU_COLIS); $ftaConditionnmentModel = new FtaConditionnementModel($idFtaCondtionnement); /* * Tableau de données */ $arrayFtaConditionnementTmp = $ftaConditionnmentModel->getArrayFtaConditonnementDuColis(); $arrayFtaConditionnement = array_replace_recursive($arrayFtaConditionnementtmp, $arrayFtaConditionnementTmp); $arrayFtaConditionnementtmp = $arrayFtaConditionnement; /* * Cette array doit être utilisé de cette manière * Array ( * nom de table, * clé étrangère de la table présenté * valeur de la clé étrangère); */ $tablesNameAndIdForeignKeyOfFtaConditionnementTmp = FtaConditionnementModel::getTablesNameAndIdForeignKeyOfFtaConditionnement($paramIdFta, $idAnnexeEmballage, $idAnnexeEmballageGroupeType, $idFtaCondtionnement); $tablesNameAndIdForeignKeyOfFtaConditionnement = $tablesNameAndIdForeignKeyOfFtaConditionnementtmp + $tablesNameAndIdForeignKeyOfFtaConditionnementTmp; $tablesNameAndIdForeignKeyOfFtaConditionnementtmp = $tablesNameAndIdForeignKeyOfFtaConditionnement; /* /* * Vérifie si pour la Fta en cours les données Fta conditionement sont renseigné */ if ($arrayFtaConditionnement) { $rightToAdd = FALSE; } else { $rightToAdd = TRUE; } } $className = $ftaConditionnmentModel->getClassName(); $label = $annexeEmballageGroupeTypeModel2->getDataField(AnnexeEmballageGroupeTypeModel::FIELDNAME_NOM_ANNEXE_EMBALLAGE_GROUPE_TYPE)->getFieldValue(); $ftaConditionnmentModel->setIsEditable($this->getIsEditable()); $htmlEmballageDuColis = new HtmlSubForm_RNN($arrayFtaConditionnement, $className, $label, $tablesNameAndIdForeignKeyOfFtaConditionnement, FtaConditionnementModel::FONCTIONNAME_VERSIONNING); $htmlEmballageDuColis->setIsEditable($this->getIsEditable()); $htmlEmballageDuColis->setRightToAdd($rightToAdd); $htmlEmballageDuColis->setLienAjouter(FtaConditionnementModel::getAddLinkAfterConditionnement($paramIdFta, $paramChapitre, AnnexeEmballageGroupeTypeModel::EMBALLAGE_DU_COLIS, $paramSyntheseAction, $paramIdFtaEtat, $paramAbreviationEtat, $paramIdFtaRole)); $htmlEmballageDuColis->setLien(FtaConditionnementModel::getAddLinkBeforeConditionnement($paramIdFta, $paramChapitre, AnnexeEmballageGroupeTypeModel::EMBALLAGE_DU_COLIS, $paramSyntheseAction, $paramIdFtaEtat, $paramAbreviationEtat, $paramIdFtaRole)); $htmlEmballageDuColis->setLienSuppression(FtaConditionnementModel::getDeleteLinkConditionnement($paramIdFta, $paramChapitre, $arrayIdFtaCondtionnement, $paramSyntheseAction, $paramIdFtaEtat, $paramAbreviationEtat, $paramIdFtaRole)); $htmlEmballageDuColis->setTableLabel($ftaConditionnmentModel->getTableConditionnementLabelDuColis()); /** * Vérrouille tous les champs du tableau emballage colis * quand une données est renseigné */ $htmlEmballageDuColis->setContentLocked(TRUE); $return .= $htmlEmballageDuColis->getHtmlResult(); if (count($FtaConditionnement) > "1") { $return .= "<tr class=contenu><td bgcolor=#FFAA55 align=\"center\" valign=\"middle\">"; $return .= UserInterfaceMessage::FR_WARNING_NOT_HANDLE_TITLE; $return .= "</td><td bgcolor=#FFAA55 align=\"center\" valign=\"middle\">" . "<h4>" . UserInterfaceMessage::FR_WARNING_EMBALLAGE_COLIS . "</h4></td></tr>"; } } else { /* * Initialisation des modèles */ $annexeEmballageGroupeTypeModel2 = new AnnexeEmballageGroupeTypeModel('3'); $label = $annexeEmballageGroupeTypeModel2->getDataField(AnnexeEmballageGroupeTypeModel::FIELDNAME_NOM_ANNEXE_EMBALLAGE_GROUPE_TYPE)->getFieldValue(); $htmlEmballageDuColis = new HtmlSubForm_RNN($arrayFtaConditionnement, $className, $label, $tablesNameAndIdForeignKeyOfFtaConditionnement, FtaConditionnementModel::FONCTIONNAME_VERSIONNING); $htmlEmballageDuColis->setIsEditable($this->getIsEditable()); $htmlEmballageDuColis->setRightToAdd(TRUE); $htmlEmballageDuColis->setLien(FtaConditionnementModel::getAddLinkBeforeConditionnement($paramIdFta, $paramChapitre, AnnexeEmballageGroupeTypeModel::EMBALLAGE_DU_COLIS, $paramSyntheseAction, $paramIdFtaEtat, $paramAbreviationEtat, $paramIdFtaRole)); $return .= $htmlEmballageDuColis->getHtmlResult(); } /** * Initialisation du résultat des règles de validation */ $this->setDataValidationSuccessful($htmlEmballageDuColis->isDataValidationSuccessful()); return $return; }