/** * On obtient le tableau des emballage en fonction de son groupe * @param int $paramIdEmballageGroupe * @return array */ public static function getArrayAnnexeEmballage($paramIdEmballageGroupe) { $req = 'SELECT DISTINCT ' . AnnexeEmballageModel::KEYNAME . ',' . AnnexeEmballageModel::FIELDNAME_LARGEUR_ANNEXE_EMBALLAGE . ',' . AnnexeEmballageModel::FIELDNAME_HAUTEUR_ANNEXE_EMBALLAGE . ',' . AnnexeEmballageModel::FIELDNAME_NOMBRE_COUCHE_ANNEXE_EMBALLAGE . ',' . AnnexeEmballageModel::FIELDNAME_POIDS_ANNEXE_EMBALLAGE . ',' . AnnexeEmballageModel::TABLENAME . '.' . AnnexeEmballageModel::FIELDNAME_ID_ANNEXE_EMBALLAGE_GROUPE . ',' . AnnexeEmballageModel::FIELDNAME_QUANTITE_PAR_COUCHE_ANNEXE_EMBALLAGE . ' FROM ' . AnnexeEmballageGroupeModel::TABLENAME . ',' . AnnexeEmballageModel::TABLENAME . ' WHERE ( 0 '; $req .= AnnexeEmballageGroupeModel::AddIdAnnexeEmballageGroupe($paramIdEmballageGroupe); $req .= ') AND ' . AnnexeEmballageGroupeModel::TABLENAME . '.' . AnnexeEmballageGroupeModel::KEYNAME . '=' . AnnexeEmballageModel::TABLENAME . '.' . AnnexeEmballageModel::FIELDNAME_ID_ANNEXE_EMBALLAGE_GROUPE; $array = DatabaseOperation::convertSqlStatementWithKeyAsFirstFieldToArray($req); return $array; }
/** * Tableau de données, convertie le nom des champs des données aux noms des champs virtuel qui leur corresponds * @return int */ function getArrayClassificationRaccourcisAssociation() { $arrayTmp = DatabaseOperation::convertSqlStatementWithKeyAsFirstFieldToArray('SELECT ' . self::KEYNAME . ',' . self::FIELDNAME_ID_CLASSIFICATION_RACCOURCIS . ' FROM ' . self::TABLENAME . ' WHERE ' . self::KEYNAME . '=' . $this->getKeyValue()); if ($arrayTmp) { foreach ($arrayTmp as $key => $rows) { $array[$key] = array(self::VIRTUAL_FIELDNAME_NOM_CLASSIFICATION_RACCOURCIS => $rows[self::FIELDNAME_ID_CLASSIFICATION_RACCOURCIS]); } } else { $array = 0; } return $array; }
/** * Retour la liste des IdAnnexeListeAllergeneDico * @return array */ private static function getArrayIdAnnexeListeAllergeneDico() { $arrayTmp = DatabaseOperation::convertSqlStatementWithKeyAsFirstFieldToArray("SELECT " . self::KEYNAME . ',' . self::FIELDNAME_NOM_ANNEXE_LISTE_ALLERGENE_DICO . " FROM " . self::TABLENAME . " ORDER BY " . self::FIELDNAME_NOM_ANNEXE_LISTE_ALLERGENE_DICO); if ($arrayTmp) { foreach ($arrayTmp as $key => $rows) { $array[$key] = array(self::VIRTUAL_LISTE_ALLERGENE => $rows[self::FIELDNAME_NOM_ANNEXE_LISTE_ALLERGENE_DICO]); } } else { $array = 0; } return $array; }
/** * Tableau de données, convertie le nom des champs des données aux noms des champs virtuel qui leur corresponds * @return int */ function getArrayClassificationElements() { $arrayTmp = DatabaseOperation::convertSqlStatementWithKeyAsFirstFieldToArray('SELECT ' . self::KEYNAME . ',' . self::FIELDNAME_ID_CLASSIFICATION_ARBORESCENCE_ARTICLE_CATEGORIE . ' FROM ' . self::TABLENAME . ' WHERE ' . self::KEYNAME . '=' . $this->getKeyValue()); if ($arrayTmp) { foreach ($arrayTmp as $key => $rows) { $array[$key] = array(self::VIRTUAL_FIELDNAME_NOM_CLASSIFICATION_ELEMENT => $rows[self::FIELDNAME_ID_CLASSIFICATION_ARBORESCENCE_ARTICLE_CATEGORIE]); } } else { $array = 0; } return $array; }
/** * Tableau de données, convertie le nom des champs des données aux noms des champs virtuel qui leur corresponds * @return int */ function getArrayClassificationActiviteSousFamilleArcadia() { $arrayTmp = DatabaseOperation::convertSqlStatementWithKeyAsFirstFieldToArray('SELECT ' . self::KEYNAME . ',' . self::FIELDNAME_ID_ARCADIA_SOUS_FAMILLE . ' FROM ' . self::TABLENAME . ' WHERE ' . self::KEYNAME . '=' . $this->getKeyValue()); if ($arrayTmp) { foreach ($arrayTmp as $key => $rows) { $array[$key] = array(self::VIRTUAL_FIELDNAME_NOM_CLASSIFICATION_SOUS_FAMILLE => $rows[self::FIELDNAME_ID_ARCADIA_SOUS_FAMILLE]); } } else { $array = 0; } return $array; }
/** * Retourne un tableau contenant la liste des enregsitrements que les * tables ont en relation. * Ces tables doivent être en relation N:N et configuré dans la base * de données des informations des schémas: * - Voir INFORMATION_SCHEMA > KEY_COLUMN_USAGE dans MySQL * * La valeur de retour est un tableau associatif sous la forme * self::convertSqlResultWithKeyAsFirstFieldToArray() * * En cas d'ambiguïté de nom de champs à sélectionner, préciser le nom * de la table. * Par exemple, si les table RN et RN ont toutes les deux un champs nommé * 'nom', alors préciser 'R1.nom' ou 'R2.nom' dans $arrayFieldsNameToDisplay * * @param string $primaryTableNameRN Nom de la table primaire de relation N * @param array $secondaryTablesNamesAndidKeyValueRN Noms des tables secondaires de relation N et valeur des clefs étrangères * @param string $arrayFieldsNameToDisplay Liste des champs à sélectionner. * @param array $arrayFieldsNameOrder Liste des champs à classer. * @return array de type self::convertSqlResultWithKeyAsFirstFieldToArray() */ public static function getArrayFieldsNameFromForeignKeyRelationNtoN($primaryTableNameRN, $secondaryTablesNamesAndidKeyValueRN, $arrayFieldsNameToDisplay, $arrayFieldsNameOrder = NULL, $keyValue = NULL, $conditionSql = NULL) { /** * Nom de la clef de la table primaire N. */ $tableDescriptionRN = new DatabaseDescriptionTable($primaryTableNameRN); $keyNameRN = $tableDescriptionRN->getKeyName(); /** * Construction de la requête SQL */ $paramSelectClause = $primaryTableNameRN . '.' . $keyNameRN . ',' . $arrayFieldsNameToDisplay; $paramTableClause = $primaryTableNameRN . DatabaseOperation::tableClauseRelationship($secondaryTablesNamesAndidKeyValueRN, $keyValue); $paramWhereClauseRelationship = ' 1 ' . DatabaseOperation::whereClauseRelationshipNtoN($primaryTableNameRN, $secondaryTablesNamesAndidKeyValueRN, $keyValue); $paramWhereClauseRelationship .= DatabaseOperation::whereClauseDistinct($primaryTableNameRN, $keyValue); $paramWhereClauseRelationship .= ' ' . $conditionSql; if ($arrayFieldsNameOrder) { $paramOrderClause = implode(',', $arrayFieldsNameOrder); } return DatabaseOperation::convertSqlStatementWithKeyAsFirstFieldToArray(self::doSqlSelect($paramSelectClause, $paramTableClause, $paramWhereClauseRelationship, $paramOrderClause)); }
/** * Tableau de données, convertie le nom des champs des données aux noms des champs virtuel qui leur corresponds * @return int */ function getArrayClassificationGammeFamilleBudgetArcadia() { $arrayTmp = DatabaseOperation::convertSqlStatementWithKeyAsFirstFieldToArray('SELECT ' . self::KEYNAME . ',' . self::FIELDNAME_ID_ARCADIA_GAMME_FAMILLE_BUDGET . ' FROM ' . self::TABLENAME . ' WHERE ' . self::KEYNAME . '=' . $this->getKeyValue()); if ($arrayTmp) { foreach ($arrayTmp as $key => $rows) { $array[$key] = array(self::VIRTUAL_FIELDNAME_NOM_ARCADIA_GAMME_FAMILLE_BUDGET_MARQUE => $rows[self::FIELDNAME_ID_ARCADIA_GAMME_FAMILLE_BUDGET]); } } else { $array = 0; } return $array; }
function listEmballage() { //Dans le cas d'emballage UVC, on peut avoir de l'emballage primaire if ($this->getParam1() == 2) { $op = '<='; } else { $op = '='; } //Type d'emballage $common_select = 'SELECT DISTINCT ' . AnnexeEmballageModel::TABLENAME . '.' . AnnexeEmballageModel::KEYNAME . ', CONCAT_WS(\'\', ' . FteFournisseurModel::FIELDNAME_NOM_FTE_FOURNISSEUR . ', \' : \',' . AnnexeEmballageModel::FIELDNAME_REFERENCE_FOURNISSEUR_ANNEXE_EMBALLAGE . ',\' (\', ' . AnnexeEmballageModel::FIELDNAME_LONGUEUR_ANNEXE_EMBALLAGE . ', \'x\', ' . AnnexeEmballageModel::FIELDNAME_LARGEUR_ANNEXE_EMBALLAGE . ', \'x\', ' . AnnexeEmballageModel::FIELDNAME_HAUTEUR_ANNEXE_EMBALLAGE . ', \')\' ) AS INTITULE '; $common_from = ' FROM ' . AnnexeEmballageModel::TABLENAME . ',' . FteFournisseurModel::TABLENAME . ',' . AnnexeEmballageGroupeModel::TABLENAME; $common_where = ' WHERE ' . AnnexeEmballageModel::TABLENAME . '.' . AnnexeEmballageModel::FIELDNAME_ID_FTE_FOURNISSEUR . '=' . FteFournisseurModel::TABLENAME . '.' . FteFournisseurModel::KEYNAME . ' AND ' . AnnexeEmballageGroupeModel::TABLENAME . '.' . AnnexeEmballageGroupeModel::KEYNAME . '=' . AnnexeEmballageModel::TABLENAME . '.' . AnnexeEmballageModel::FIELDNAME_ID_ANNEXE_EMBALLAGE_GROUPE . ' AND ' . AnnexeEmballageGroupeModel::TABLENAME . '.' . AnnexeEmballageGroupeModel::FIELDNAME_ID_ANNEXE_EMBALLAGE_GROUPE_CONFIGURATION . $op . $this->getParam1() . ' AND ' . AnnexeEmballageModel::TABLENAME . '.' . AnnexeEmballageModel::FIELDNAME_ACTIF_ANNEXE_EMBALLAGE . "=1"; $common_order = ' ORDER BY ' . FteFournisseurModel::FIELDNAME_NOM_FTE_FOURNISSEUR . ',' . AnnexeEmballageModel::FIELDNAME_REFERENCE_FOURNISSEUR_ANNEXE_EMBALLAGE; $req_liste_emballage = $common_select . $common_from . $common_where . $common_order; $arrayTmp = DatabaseOperation::convertSqlStatementWithKeyAsFirstFieldToArray($req_liste_emballage); /** * Mise en forme du tableau sous la forme suivant * array( * array("id" => "1","label" => "JAVA", "value" => "JAVA"), * array("id" => "2","label" => "DATA IMAGE PROCESSING", "value" => "DATA IMAGE PROCESSING"), * etc..., * ); */ if ($arrayTmp) { foreach ($arrayTmp as $key => $rows) { $arrayListeEmballage[] = array(self::ID => $key, self::LABEL => $rows["INTITULE"], self::VALUE => $rows["INTITULE"]); } } else { $arrayListeEmballage = 0; } $result = array(); foreach ($arrayListeEmballage as $rowsListeEmballage) { $testLabel = $rowsListeEmballage[self::LABEL]; /** * Vérification si la valeur saisi par l'utilisateur * trouve une correspondance avec les données de BDD */ if (strpos(strtoupper($testLabel), strtoupper($this->getParamTerm())) !== false) { array_push($result, $rowsListeEmballage); } } // Envoi du retour (on renvoi le tableau $retour encodé en JSON) $this->setReturnJSON(json_encode($result)); }
/** * Tableau de données, convertie le nom des champs des données aux noms des champs virtuel qui leur corresponds * @param int $paramIdFtaComposant * @return int */ public static function getArrayFtaConditonnement($paramIdFtaComposant) { $arrayTmp = DatabaseOperation::convertSqlStatementWithKeyAsFirstFieldToArray('SELECT ' . self::KEYNAME . ',' . self::FIELDNAME_NOM_FTA_COMPOSITION . ',' . self::FIELDNAME_INGREDIENT_FTA_COMPOSITION . ',' . self::FIELDNAME_ID_GEO . ',' . self::FIELDNAME_POIDS_FTA_COMPOSITION . ',' . self::FIELDNAME_QUANTITE_FTA_COMPOSITION . ' FROM ' . self::TABLENAME . ' WHERE ' . self::KEYNAME . '=' . $paramIdFtaComposant); if ($arrayTmp) { foreach ($arrayTmp as $key => $rows) { $array[$key] = array(self::FIELDNAME_VIRTUAL_NOM_DU_COMPOSANT => $rows[self::FIELDNAME_NOM_FTA_COMPOSITION], self::FIELDNAME_VIRTUAL_INGREDIENT_FTA_COMPOSITION => $rows[self::FIELDNAME_INGREDIENT_FTA_COMPOSITION], self::FIELDNAME_VIRTUAL_SITE_DE_PRODUCTION => $rows[self::FIELDNAME_ID_GEO], self::FIELDNAME_VIRTUAL_POIDS_FTA_COMPOSITION => $rows[self::FIELDNAME_POIDS_FTA_COMPOSITION], self::FIELDNAME_VIRTUAL_QUANTITE_FTA_COMPOSITION => $rows[self::FIELDNAME_QUANTITE_FTA_COMPOSITION]); } } else { $array = 0; } return $array; }