/** * @name select($pId,$pIdFerme) * @param integer * @param integer * @return ListeProduitsNonAbonneViewVO * @desc Récupère la ligne correspondant à l'id en paramètre, créé une ListeProduitsNonAbonneViewVO contenant les informations et la renvoie */ public static function select($pId, $pIdFerme) { // Initialisation du Logger $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS); $lLogger->setMask(Log::MAX(LOG_LEVEL)); $lRequete = "SELECT \n\t\t\tPRODUIT." . ProduitAbonnementManager::CHAMP_PRODUITABONNEMENT_ID . "," . FermeManager::CHAMP_FERME_ID . "," . CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_ID . "," . NomProduitManager::CHAMP_NOMPRODUIT_ID . ", NOM." . NomProduitManager::CHAMP_NOMPRODUIT_NOM . "," . CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_NOM . "," . FermeManager::CHAMP_FERME_NOM . "\n\t\t\tFROM " . ProduitAbonnementManager::TABLE_PRODUITABONNEMENT . " PRODUIT\n\t\t\tJOIN " . NomProduitManager::TABLE_NOMPRODUIT . " NOM ON " . NomProduitManager::CHAMP_NOMPRODUIT_ID . "=" . ProduitAbonnementManager::CHAMP_PRODUITABONNEMENT_ID_NOM_PRODUIT . "\n\t\t\tJOIN " . CategorieProduitManager::TABLE_CATEGORIEPRODUIT . " ON " . CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_ID . "=" . NomProduitManager::CHAMP_NOMPRODUIT_ID_CATEGORIE . "\n\t\t\tJOIN " . FermeManager::TABLE_FERME . " ON " . FermeManager::CHAMP_FERME_ID . "=" . NomProduitManager::CHAMP_NOMPRODUIT_ID_FERME . "\n\t\t\tJOIN " . DetailProduitAbonnementViewManager::VUE_DETAILPRODUITABONNEMENT . " DETAIL ON DETAIL." . ProduitAbonnementManager::CHAMP_PRODUITABONNEMENT_ID . " = PRODUIT." . ProduitAbonnementManager::CHAMP_PRODUITABONNEMENT_ID . "\n\t\t\tWHERE PRODUIT." . ProduitAbonnementManager::CHAMP_PRODUITABONNEMENT_ID . " NOT IN (\n\t\t\t\tSELECT " . CompteAbonnementManager::CHAMP_COMPTEABONNEMENT_ID_PRODUIT_ABONNEMENT . "\n\t\t\t\tFROM " . CompteAbonnementManager::TABLE_COMPTEABONNEMENT . "\n\t\t\t\tWHERE " . CompteAbonnementManager::CHAMP_COMPTEABONNEMENT_ID_COMPTE . " = '" . StringUtils::securiser($pId) . "'\n\t\t\t\tAND " . FermeManager::CHAMP_FERME_ID . " = '" . StringUtils::securiser($pIdFerme) . "'\n\t\t\t\tAND " . CompteAbonnementManager::CHAMP_COMPTEABONNEMENT_ETAT . " = 0\n\t\t\t)\n\t\t\tAND " . FermeManager::CHAMP_FERME_ID . " = '" . StringUtils::securiser($pIdFerme) . "'\n\t\t\tAND " . ProduitAbonnementManager::CHAMP_PRODUITABONNEMENT_ETAT . " = 0 \n\t\t\tAND " . NomProduitManager::CHAMP_NOMPRODUIT_ETAT . " = 0\n\t\t\tAND (\n\t\t\t\t\t(DETAIL." . ProduitAbonnementManager::CHAMP_PRODUITABONNEMENT_STOCK_INITIAL . " - DETAIL." . DetailProduitAbonnementViewManager::CHAMP_PRODUITABONNEMENT_RESERVATION . ") > 0\n\t\t\t\tOR\t\n\t\t\t\t\t(DETAIL." . ProduitAbonnementManager::CHAMP_PRODUITABONNEMENT_STOCK_INITIAL . " - DETAIL." . DetailProduitAbonnementViewManager::CHAMP_PRODUITABONNEMENT_RESERVATION . ") IS NULL\t\t\t\t\t\n\t\t\t\t)"; $lLogger->log("Execution de la requete : " . $lRequete, PEAR_LOG_DEBUG); // Maj des logs $lSql = Dbutils::executerRequete($lRequete); $lListeListeProduitsNonAbonne = array(); if (mysql_num_rows($lSql) > 0) { while ($lLigne = mysql_fetch_assoc($lSql)) { array_push($lListeListeProduitsNonAbonne, ListeProduitsNonAbonneViewManager::remplir($lLigne[ProduitAbonnementManager::CHAMP_PRODUITABONNEMENT_ID], $lLigne[FermeManager::CHAMP_FERME_ID], $lLigne[CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_ID], $lLigne[NomProduitManager::CHAMP_NOMPRODUIT_ID], $lLigne[NomProduitManager::CHAMP_NOMPRODUIT_NOM], $lLigne[CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_NOM], $lLigne[FermeManager::CHAMP_FERME_NOM])); } } else { $lListeListeProduitsNonAbonne[0] = new ListeProduitsNonAbonneViewVO(); } return $lListeListeProduitsNonAbonne; }
/** * @name getProduitsNonAbonne($pIdCompte,$pIdFerme) * @return array(ListeProduitsNonAbonneViewVO) * @desc Retourne une liste de ListeProduitsNonAbonneViewVO */ public function getProduitsNonAbonne($pIdCompte, $pIdFerme) { return ListeProduitsNonAbonneViewManager::select($pIdCompte, $pIdFerme); }