/** * On affiche la liste des sous famille à une activité de classification * @param objet $paramFtaModel * @param int $paramIdClassificationFta2 * @param boolean $paramIsEditable * @return string */ public static function getHtmlListeClassificationActiviteSousFamilleArcadia(FtaModel $paramFtaModel, $paramIdClassificationFta2, $paramIsEditable) { $htmlList = new HtmlListSelect(); $paramFtaModel->setDataFtaTableToCompare(); $idActivite = ClassificationFta2Model::getIdClassificationTypeByTypeNameAndIdClassificationFta2($paramIdClassificationFta2, ClassificationFta2Model::FIELDNAME_ID_ACTIVITE); $dataFieldIdArcadiaSousFamilleTMP = $paramFtaModel->getDataField(FtaModel::FIELDNAME_ID_ARCADIA_SOUS_FAMILLE); $arrayClassificationActiviteSousFamilleArcadia = DatabaseOperation::convertSqlStatementWithKeyAndOneFieldToArray('SELECT DISTINCT ' . ArcadiaSousFamilleModel::TABLENAME . '.' . ArcadiaSousFamilleModel::KEYNAME . ', CONCAT_WS( \' - \',' . ArcadiaSousFamilleModel::TABLENAME . '.' . ArcadiaSousFamilleModel::KEYNAME . ',' . ArcadiaSousFamilleModel::TABLENAME . '.' . ArcadiaSousFamilleModel::FIELDNAME_NOM_ARCADIA_SOUS_FAMILLE . ') FROM ' . ArcadiaSousFamilleModel::TABLENAME . ',' . self::TABLENAME . ' WHERE ' . ArcadiaSousFamilleModel::TABLENAME . '.' . ArcadiaSousFamilleModel::KEYNAME . ' = ' . self::TABLENAME . '.' . self::FIELDNAME_ID_ARCADIA_SOUS_FAMILLE . ' AND ' . self::FIELDNAME_ID_ACTIVITE . '=' . $idActivite . ' ORDER BY ' . ArcadiaSousFamilleModel::FIELDNAME_NOM_ARCADIA_SOUS_FAMILLE); /** * 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($arrayClassificationActiviteSousFamilleArcadia) > "1") { // $paramIsEditable = Chapitre::EDITABLE; // } else { // /** // * Enregistrement de la donnée raccourcis de classification // */ // if ($arrayClassificationActiviteSousFamilleArcadia) { // foreach ($arrayClassificationActiviteSousFamilleArcadia as $key => $value) { // $ftaModel->getDataField(FtaModel::FIELDNAME_ID_ARCADIA_SOUS_FAMILLE)->setFieldValue($key); // $ftaModel->saveToDatabase(); // } // } // $paramIsEditable = Chapitre::NOT_EDITABLE; // } // } $htmlList->setArrayListContent($arrayClassificationActiviteSousFamilleArcadia); /** * On vérifie si la donnée en BDD se trouve dans le tableau * Sinon alors on vide la donnée de la BDD */ $dataFieldIdArcadiaSousFamille = FtaController::checkDataInArrayKeyList($dataFieldIdArcadiaSousFamilleTMP, $arrayClassificationActiviteSousFamilleArcadia); $HtmlTableName = FtaModel::TABLENAME . '_' . FtaModel::FIELDNAME_ID_ARCADIA_SOUS_FAMILLE . '_' . $paramFtaModel->getKeyValue(); /** * Vérification des règle de validation */ $dataFieldIdArcadiaSousFamille->checkValidationRules(); if ($dataFieldIdArcadiaSousFamille->getDataValidationSuccessful() == TRUE) { $htmlList->setIsWarningMessage($dataFieldIdArcadiaSousFamille->getDataValidationSuccessful()); $paramFtaModel->setDataValidationSuccessfulToTrue(); } else { $htmlList->setIsWarningMessage($dataFieldIdArcadiaSousFamille->getDataValidationSuccessful()); $htmlList->setWarningMessage($dataFieldIdArcadiaSousFamille->getDataWarningMessage()); $paramFtaModel->setDataValidationSuccessfulToFalse(); } $htmlList->getAttributes()->getName()->setValue(FtaModel::FIELDNAME_ID_ARCADIA_SOUS_FAMILLE); $htmlList->setLabel(DatabaseDescription::getFieldDocLabel(self::TABLENAME, self::FIELDNAME_ID_ARCADIA_SOUS_FAMILLE)); $htmlList->setIsEditable($paramIsEditable); $htmlList->initAbstractHtmlSelect($HtmlTableName, $htmlList->getLabel(), $dataFieldIdArcadiaSousFamille->getFieldValue(), $dataFieldIdArcadiaSousFamille->isFieldDiff(), $htmlList->getArrayListContent(), $htmlList->getIsWarningMessage(), $htmlList->getWarningMessage()); $htmlList->getEventsForm()->setOnChangeWithAjaxAutoSave(FtaModel::TABLENAME, FtaModel::KEYNAME, $paramFtaModel->getKeyValue(), FtaModel::FIELDNAME_ID_ARCADIA_SOUS_FAMILLE); /** * Description d'un champ */ $htmlList->setHelp(IntranetColumnInfoModel::getFieldDesc($dataFieldIdArcadiaSousFamille->getTableName(), $dataFieldIdArcadiaSousFamille->getFieldName(), $dataFieldIdArcadiaSousFamille->getFieldLabel(), $htmlList)); $listeClassificationSousFamilleArcadia = $htmlList->getHtmlResult(); return $listeClassificationSousFamilleArcadia; }
/** * On vérifie si la classification a été modifié * si oui on verifie si la saisonalité est festive alors COD_FESTIF est à oui */ function transformFestif() { $checkDiff = $this->getFtaModel()->getDataField(FtaModel::FIELDNAME_ID_FTA_CLASSIFICATION2)->isFieldDiff(); if ($checkDiff or $this->getActionProposal() == self::CREATE) { $idClassificationFta2 = $this->getFtaModel()->getDataField(FtaModel::FIELDNAME_ID_FTA_CLASSIFICATION2)->getFieldValue(); $idSaisonalite = ClassificationFta2Model::getIdClassificationTypeByTypeNameAndIdClassificationFta2($idClassificationFta2, ClassificationFta2Model::FIELDNAME_ID_SAISONNALITE); if ($idSaisonalite == ClassificationFta2Model::ID_CLASSIFICATION_FESTIF) { $festifValue = self::OUI; } else { $festifValue = self::NON; } $this->setXMLArcadiaFestif($festifValue); } }
/** * On affiche les données d'arcadia si une classification est saisi * Suivant la classification les champs apparaisant ne sont pas éditables */ public function getHtmlArcadiaDataNotEditable() { //Initialisation des variables locales $htmlReturn = NULL; $idClassificationFta2 = $this->getModel()->getDataField(FtaModel::FIELDNAME_ID_FTA_CLASSIFICATION2)->getFieldValue(); if ($idClassificationFta2) { /** * Enregistrement de la donnée catégorie produit optiventes */ $classificationFta2Model = new ClassificationFta2Model($idClassificationFta2); $categorieProduitOptiventesValue = $classificationFta2Model->getDataField(ClassificationFta2Model::FIELDNAME_CATEGORIE_PRODUIT_OPTIVENTES)->getFieldValue(); $this->getModel()->getDataField(FtaModel::FIELDNAME_ID_ARCADIA_CATEGEORIE_PRODUIT_OPTIVENTES)->setFieldValue($categorieProduitOptiventesValue); /** * On vérrifie si l'article est soumis à un eco emballage * suivant la classification */ $idRayon = ClassificationFta2Model::getIdClassificationTypeByTypeNameAndIdClassificationFta2($idClassificationFta2, ClassificationFta2Model::FIELDNAME_ID_RAYON); if ($idRayon == ClassificationFta2Model::ID_CLASSIFICATION_LIBRE_SERVICE) { $this->getModel()->getDataField(FtaModel::FIELDNAME_ID_ARCADIA_SOUMIS_ECO_EMBALLAGE)->setFieldValue(Fta2ArcadiaController::OUI); } else { $this->getModel()->getDataField(FtaModel::FIELDNAME_ID_ARCADIA_SOUMIS_ECO_EMBALLAGE)->setFieldValue(Fta2ArcadiaController::NON); } $this->getModel()->saveToDatabase(); /** * Affichage Html */ $htmlCodeProduitOptiv = $this->getHtmlDataField(FtaModel::FIELDNAME_ID_ARCADIA_CATEGEORIE_PRODUIT_OPTIVENTES); $htmlSoumisEcoEmball = $this->getHtmlDataField(FtaModel::FIELDNAME_ID_ARCADIA_SOUMIS_ECO_EMBALLAGE); $htmlReturn = '<tr class=titre_principal><td class>Classification ARCADIA</td></tr>'; $htmlReturn .= $htmlCodeProduitOptiv . $htmlSoumisEcoEmball; } return $htmlReturn; }
/** * Vérification que les champs arcadia déduit de la classifcation * sont correcte * @param type $paramIdClassificationFta2 */ function checkArcadiaClassifData($paramIdClassificationFta2) { /** * Famille Budget */ $idArcadiaFamilleBudget = $this->getDataField(FtaModel::FIELDNAME_ID_ARCADIA_FAMILLE_BUDGET)->getFieldValue(); if ($idArcadiaFamilleBudget) { $reqFamilleBudget = "SELECT DISTINCT " . ArcadiaFamilleBudgetModel::KEYNAME . "," . ArcadiaFamilleBudgetModel::KEYNAME . " FROM " . ArcadiaFamilleBudgetModel::TABLENAME . " ORDER BY " . ArcadiaFamilleBudgetModel::KEYNAME; $arrayClassificationArcadiaFamilleBudget = DatabaseOperation::convertSqlStatementWithKeyAndOneFieldToArray($reqFamilleBudget); if (!in_array($idArcadiaFamilleBudget, $arrayClassificationArcadiaFamilleBudget)) { $this->getDataField(FtaModel::FIELDNAME_ID_ARCADIA_FAMILLE_BUDGET)->setFieldValue(" "); } } /** * Famille de Ventes */ $idArcadiaFamilleVente = $this->getDataField(FtaModel::FIELDNAME_ID_ARCADIA_FAMILLE_VENTE)->getFieldValue(); if ($idArcadiaFamilleVente) { $idActivite = ClassificationFta2Model::getIdClassificationTypeByTypeNameAndIdClassificationFta2($paramIdClassificationFta2, ClassificationFta2Model::FIELDNAME_ID_ACTIVITE); $arrayClassificationFamilleVenteArcadia = DatabaseOperation::convertSqlStatementWithKeyAndOneFieldToArray('SELECT DISTINCT ' . ArcadiaFamilleVenteModel::TABLENAME . '.' . ArcadiaFamilleVenteModel::KEYNAME . ',' . ArcadiaFamilleVenteModel::TABLENAME . '.' . ArcadiaFamilleVenteModel::KEYNAME . ' FROM ' . ArcadiaFamilleVenteModel::TABLENAME . ',' . ClassificationActiviteFamilleVentesArcadiaModel::TABLENAME . ' WHERE ' . ArcadiaFamilleVenteModel::TABLENAME . '.' . ArcadiaFamilleVenteModel::KEYNAME . ' = ' . ClassificationActiviteFamilleVentesArcadiaModel::TABLENAME . '.' . ClassificationActiviteFamilleVentesArcadiaModel::FIELDNAME_ID_ARCADIA_FAMILLE_VENTE . ' AND ' . ClassificationActiviteFamilleVentesArcadiaModel::FIELDNAME_ID_ACTIVITE . '=' . $idActivite . ' ORDER BY ' . ArcadiaFamilleVenteModel::FIELDNAME_NOM_ARCADIA_FAMILLE_VENTE); if (!in_array($idArcadiaFamilleVente, $arrayClassificationFamilleVenteArcadia)) { $this->getDataField(FtaModel::FIELDNAME_ID_ARCADIA_FAMILLE_VENTE)->setFieldValue(" "); } } /** * Gamme Coop */ $idArcadiaGammeCoop = $this->getDataField(FtaModel::FIELDNAME_ID_ARCADIA_GAMME_COOP)->getFieldValue(); if ($idArcadiaGammeCoop) { $reqGammeCoop = "SELECT DISTINCT " . ArcadiaGammeCoopModel::KEYNAME . "," . ArcadiaGammeCoopModel::KEYNAME . " FROM " . ArcadiaGammeCoopModel::TABLENAME . " ORDER BY " . ArcadiaGammeCoopModel::KEYNAME; $arrayClassificationArcadiaGammeCoop = DatabaseOperation::convertSqlStatementWithKeyAndOneFieldToArray($reqGammeCoop); if (!in_array($idArcadiaGammeCoop, $arrayClassificationArcadiaGammeCoop)) { $this->getDataField(FtaModel::FIELDNAME_ID_ARCADIA_GAMME_COOP)->setFieldValue(" "); } } /** * Gamme Famille Budget */ $idArcadiaGammeFamilleBudget = $this->getDataField(FtaModel::FIELDNAME_ID_ARCADIA_GAMME_FAMILLE_BUDGET)->getFieldValue(); if ($idArcadiaGammeFamilleBudget) { $arrayGammeFamilleBudget = DatabaseOperation::convertSqlStatementWithKeyAndOneFieldToArray('SELECT DISTINCT ' . ArcadiaGammeFamilleBudgetModel::TABLENAME . '.' . ArcadiaGammeFamilleBudgetModel::KEYNAME . ',' . ArcadiaGammeFamilleBudgetModel::TABLENAME . '.' . ArcadiaGammeFamilleBudgetModel::KEYNAME . ' FROM ' . ArcadiaGammeFamilleBudgetModel::TABLENAME . ',' . ClassificationGammeFamilleBudgetArcadiaModel::TABLENAME . ' WHERE ' . ArcadiaGammeFamilleBudgetModel::TABLENAME . '.' . ArcadiaGammeFamilleBudgetModel::KEYNAME . ' = ' . ClassificationGammeFamilleBudgetArcadiaModel::TABLENAME . '.' . ClassificationGammeFamilleBudgetArcadiaModel::FIELDNAME_ID_ARCADIA_GAMME_FAMILLE_BUDGET . ' AND ' . ClassificationGammeFamilleBudgetArcadiaModel::FIELDNAME_ID_FTA_CLASSIFICATION2 . '=' . $paramIdClassificationFta2 . ' ORDER BY ' . ArcadiaGammeFamilleBudgetModel::KEYNAME); if (!in_array($idArcadiaGammeFamilleBudget, $arrayGammeFamilleBudget)) { $this->getDataField(FtaModel::FIELDNAME_ID_ARCADIA_GAMME_FAMILLE_BUDGET)->setFieldValue(" "); } } /** * Arcadia Marque */ $idArcadiaMarque = $this->getDataField(FtaModel::FIELDNAME_ID_ARCADIA_MARQUE)->getFieldValue(); if ($idArcadiaMarque) { $idMarque = ClassificationFta2Model::getIdClassificationTypeByTypeNameAndIdClassificationFta2($paramIdClassificationFta2, ClassificationFta2Model::FIELDNAME_ID_MARQUE); $arrayClassificationMarqueArcadia = DatabaseOperation::convertSqlStatementWithKeyAndOneFieldToArray('SELECT DISTINCT ' . ArcadiaMarqueModel::TABLENAME . '.' . ArcadiaMarqueModel::KEYNAME . ',' . ArcadiaMarqueModel::TABLENAME . '.' . ArcadiaMarqueModel::KEYNAME . ' FROM ' . ArcadiaMarqueModel::TABLENAME . ',' . ClassificationMarqueArcadiaModel::TABLENAME . ' WHERE ' . ArcadiaMarqueModel::TABLENAME . '.' . ArcadiaMarqueModel::KEYNAME . ' = ' . ClassificationMarqueArcadiaModel::TABLENAME . '.' . ClassificationMarqueArcadiaModel::FIELDNAME_ID_ARCADIA_MARQUE . ' AND ' . ClassificationMarqueArcadiaModel::FIELDNAME_ID_MARQUE . '=' . $idMarque . ' ORDER BY ' . ArcadiaMarqueModel::FIELDNAME_NOM_ARCADIA_MARQUE); if (!in_array($idArcadiaMarque, $arrayClassificationMarqueArcadia)) { $this->getDataField(FtaModel::FIELDNAME_ID_ARCADIA_MARQUE)->setFieldValue(" "); } } /** * Sous Famille */ $idArcadiaSousFamille = $this->getDataField(FtaModel::FIELDNAME_ID_ARCADIA_SOUS_FAMILLE)->getFieldValue(); if ($idArcadiaSousFamille) { $idActivite = ClassificationFta2Model::getIdClassificationTypeByTypeNameAndIdClassificationFta2($paramIdClassificationFta2, ClassificationFta2Model::FIELDNAME_ID_ACTIVITE); $arrayClassificationActiviteSousFamilleArcadia = DatabaseOperation::convertSqlStatementWithKeyAndOneFieldToArray('SELECT DISTINCT ' . ArcadiaSousFamilleModel::TABLENAME . '.' . ArcadiaSousFamilleModel::KEYNAME . ',' . ArcadiaSousFamilleModel::TABLENAME . '.' . ArcadiaSousFamilleModel::KEYNAME . ' FROM ' . ArcadiaSousFamilleModel::TABLENAME . ',' . ClassificationActiviteSousFamilleArcadiaModel::TABLENAME . ' WHERE ' . ArcadiaSousFamilleModel::TABLENAME . '.' . ArcadiaSousFamilleModel::KEYNAME . ' = ' . ClassificationActiviteSousFamilleArcadiaModel::TABLENAME . '.' . ClassificationActiviteSousFamilleArcadiaModel::FIELDNAME_ID_ARCADIA_SOUS_FAMILLE . ' AND ' . ClassificationActiviteSousFamilleArcadiaModel::FIELDNAME_ID_ACTIVITE . '=' . $idActivite . ' ORDER BY ' . ArcadiaSousFamilleModel::FIELDNAME_NOM_ARCADIA_SOUS_FAMILLE); if (!in_array($idArcadiaSousFamille, $arrayClassificationActiviteSousFamilleArcadia)) { $this->getDataField(FtaModel::FIELDNAME_ID_ARCADIA_SOUS_FAMILLE)->setFieldValue(" "); } } }