/** * @name validDelete($pData) * @return NomProduitCatalogueVR * @desc Test la validite de l'élément */ public static function validDelete($pData) { $lVr = new NomProduitCatalogueVR(); //Tests inputs if (!isset($pData['idNomProduit'])) { $lVr->setValid(false); $lVr->getIdNomProduit()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getIdNomProduit()->addErreur($lErreur); } if ($lVr->getValid()) { //Tests Techniques if (!TestFonction::checkLength($pData['idNomProduit'], 0, 11)) { $lVr->setValid(false); $lVr->getIdNomProduit()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getIdNomProduit()->addErreur($lErreur); } if (!is_int((int) $pData['idNomProduit'])) { $lVr->setValid(false); $lVr->getIdNomProduit()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getIdNomProduit()->addErreur($lErreur); } //Tests Fonctionnels if (empty($pData['idNomProduit'])) { $lVr->setValid(false); $lVr->getIdNomProduit()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdNomProduit()->addErreur($lErreur); } // La NomProduit doit exister $lNomProduit = NomProduitManager::select($pData['idNomProduit']); if ($lNomProduit->getId() != $pData['idNomProduit']) { $lVr->setValid(false); $lVr->getIdNomProduit()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdNomProduit()->addErreur($lErreur); } } return $lVr; }
/** * @name validAjout($pData) * @return ProduitAjoutAchatVR * @desc Test la validite de l'élément */ public static function validAjout($pData) { $lVr = new ProduitAjoutAchatVR(); //Tests inputs if (!isset($pData['idCompte'])) { $lVr->setValid(false); $lVr->getIdCompte()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdCompte()->addErreur($lErreur); } if (!isset($pData['idMarche'])) { $lVr->setValid(false); $lVr->getIdMarche()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdMarche()->addErreur($lErreur); } if (!isset($pData['idOperation'])) { $lVr->setValid(false); $lVr->getIdOperation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdOperation()->addErreur($lErreur); } if (!isset($pData['idNomProduit'])) { $lVr->setValid(false); $lVr->getIdNomProduit()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdNomProduit()->addErreur($lErreur); } if (!isset($pData['quantite'])) { $lVr->setValid(false); $lVr->getQuantite()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getQuantite()->addErreur($lErreur); } if (!isset($pData['prix'])) { $lVr->setValid(false); $lVr->getPrix()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getPrix()->addErreur($lErreur); } if (!isset($pData['solidaire'])) { $lVr->setValid(false); $lVr->getSolidaire()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getSolidaire()->addErreur($lErreur); } if ($lVr->getValid()) { //Tests Techniques if (!TestFonction::checkLength($pData['idCompte'], 0, 11)) { $lVr->setValid(false); $lVr->getIdCompte()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getIdCompte()->addErreur($lErreur); } if (!is_int((int) $pData['idCompte'])) { $lVr->setValid(false); $lVr->getIdCompte()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getIdCompte()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['idMarche'], 0, 11)) { $lVr->setValid(false); $lVr->getIdMarche()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getIdMarche()->addErreur($lErreur); } if ($pData['idMarche'] != '' && !is_int((int) $pData['idMarche'])) { $lVr->setValid(false); $lVr->getIdMarche()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getIdMarche()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['idOperation'], 0, 11)) { $lVr->setValid(false); $lVr->getIdOperation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getIdOperation()->addErreur($lErreur); } if ($pData['idOperation'] != '' && !is_int((int) $pData['idOperation'])) { $lVr->setValid(false); $lVr->getIdOperation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getIdOperation()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['idNomProduit'], 0, 11)) { $lVr->setValid(false); $lVr->getIdNomProduit()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getIdNomProduit()->addErreur($lErreur); } if (!is_int((int) $pData['idNomProduit'])) { $lVr->setValid(false); $lVr->getIdNomProduit()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getIdNomProduit()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['quantite'], 0, 12) || $pData['quantite'] > 999999999.99) { $lVr->setValid(false); $lVr->getQuantite()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getQuantite()->addErreur($lErreur); } if (!is_float((double) $pData['quantite'])) { $lVr->setValid(false); $lVr->getQuantite()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_109_CODE); $lErreur->setMessage(MessagesErreurs::ERR_109_MSG); $lVr->getQuantite()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['prix'], 0, 12) || $pData['prix'] > 999999999.99) { $lVr->setValid(false); $lVr->getPrix()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getPrix()->addErreur($lErreur); } if (!is_float((double) $pData['prix'])) { $lVr->setValid(false); $lVr->getPrix()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_109_CODE); $lErreur->setMessage(MessagesErreurs::ERR_109_MSG); $lVr->getPrix()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['solidaire'], 0, 1)) { $lVr->setValid(false); $lVr->getSolidaire()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getSolidaire()->addErreur($lErreur); } if (!is_int((int) $pData['solidaire'])) { $lVr->setValid(false); $lVr->getSolidaire()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getSolidaire()->addErreur($lErreur); } //Tests Fonctionnels if (empty($pData['idCompte'])) { $lVr->setValid(false); $lVr->getIdCompte()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdCompte()->addErreur($lErreur); } if (empty($pData['idNomProduit'])) { $lVr->setValid(false); $lVr->getIdNomProduit()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdNomProduit()->addErreur($lErreur); } if (empty($pData['quantite'])) { $lVr->setValid(false); $lVr->getQuantite()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getQuantite()->addErreur($lErreur); } if (empty($pData['prix'])) { $lVr->setValid(false); $lVr->getPrix()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getPrix()->addErreur($lErreur); } if ($pData['solidaire'] != 0 && empty($pData['solidaire'])) { $lVr->setValid(false); $lVr->getSolidaire()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getSolidaire()->addErreur($lErreur); } // Si c'est sur un marché il doit exister est être ouvert if (!empty($pData['idMarche'])) { $lCommande = CommandeManager::select($pData['idMarche']); if ($lCommande->getId() != $pData['idMarche']) { $lVr->setValid(false); $lVr->getIdMarche()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getIdMarche()->addErreur($lErreur); } // Le marche doit être ouvert if ($lCommande->getArchive() != 0) { $lVr->setValid(false); $lVr->getIdMarche()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_239_CODE); $lErreur->setMessage(MessagesErreurs::ERR_239_MSG); $lVr->getIdMarche()->addErreur($lErreur); } } // Si c'est sur un opération elle doit exister if (!empty($pData['idOperation'])) { $lOperationService = new OperationService(); if (!$lOperationService->existe($pData['idOperation'])) { $lVr->setValid(false); $lVr->getIdOperation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getIdOperation()->addErreur($lErreur); } } // Le compte existe $lCompteService = new CompteService(); if (!$lCompteService->existe($pData['idCompte'])) { $lVr->setValid(false); $lVr->getIdCompte()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getIdCompte()->addErreur($lErreur); } // Le produit existe $lNomProduit = NomProduitManager::select($pData['idNomProduit']); if ($lNomProduit->getId() == null) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getLog()->addErreur($lErreur); } // Les quantité sont négatives if ($pData['quantite'] >= 0) { $lVr->setValid(false); $lVr->getQuantite()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getQuantite()->addErreur($lErreur); } // Le prix est négatif if ($pData['prix'] >= 0) { $lVr->setValid(false); $lVr->getPrix()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getPrix()->addErreur($lErreur); } } return $lVr; }
/** * @name getListeAchatEtReservationCSV($pParam) * @return Un Fichier CSV * @desc Retourne la liste des achats et réservations pour une commande et la liste de produits demandés */ public function getListeAchatEtReservationCSV($pParam) { $lVr = ExportListeAchatEtReservationValid::validAjout($pParam); if ($lVr->getValid()) { $lIdProduits = $pParam['id_produits']; $lInfoAR = $this->getListeAchatEtReservationExport($pParam); $lQuantiteAR = $lInfoAR['quantite']; $lTableauAR = $lInfoAR['detail']; $lCSV = new CSV(); $lCSV->setNom('AchatEtRéservations.csv'); // Le Nom // L'entete $lEntete = array("Compte", "Nom", "Prénom", "Tel."); $lLigne2 = array("", "", "", ""); $lLigne3 = array("", "", "", "Total"); foreach ($lIdProduits as $lIdProduit) { $lProduit = ProduitManager::select($lIdProduit); $lNomProduit = NomProduitManager::select($lProduit->getIdNomProduit()); $lLabelNomProduit = htmlspecialchars_decode($lNomProduit->getNom(), ENT_QUOTES); if ($lProduit->getType() == 2) { $lLabelNomProduit .= " (Abonnement)"; } array_push($lEntete, $lLabelNomProduit, "", "", "", "", "", "", "", "", ""); array_push($lLigne2, "Réservation", "", "Achat", "", "", "", "Solidaire", "", "", ""); $lQuantiteReservation = ''; $lUniteReservation = ''; if (isset($lQuantiteAR[$lIdProduit]['reservation']) && !empty($lQuantiteAR[$lIdProduit]['reservation'])) { $lQuantiteReservation = $lQuantiteAR[$lIdProduit]['reservation']; $lUniteReservation = $lProduit->getUniteMesure(); } $lQuantiteAchat = ''; $lUniteAchat = ''; if (isset($lQuantiteAR[$lIdProduit]['qteAchat']) && !empty($lQuantiteAR[$lIdProduit]['qteAchat'])) { $lQuantiteAchat = $lQuantiteAR[$lIdProduit]['qteAchat']; $lUniteAchat = $lProduit->getUniteMesure(); } $lPrixAchat = ''; $lSiglePrixAchat = ''; if (isset($lQuantiteAR[$lIdProduit]['prixAchat']) && !empty($lQuantiteAR[$lIdProduit]['prixAchat'])) { $lPrixAchat = $lQuantiteAR[$lIdProduit]['prixAchat']; $lSiglePrixAchat = SIGLE_MONETAIRE; } $lQuantiteSolidaire = ''; $lUniteSolidaire = ''; if (isset($lQuantiteAR[$lIdProduit]['qteSolidaire']) && !empty($lQuantiteAR[$lIdProduit]['qteSolidaire'])) { $lQuantiteSolidaire = $lQuantiteAR[$lIdProduit]['qteSolidaire']; $lUniteSolidaire = $lProduit->getUniteMesure(); } $lPrixSolidaire = ''; $lSiglePrixSolidaire = ''; if (isset($lQuantiteAR[$lIdProduit]['prixSolidaire']) && !empty($lQuantiteAR[$lIdProduit]['prixSolidaire'])) { $lPrixSolidaire = $lQuantiteAR[$lIdProduit]['prixSolidaire']; $lSiglePrixSolidaire = SIGLE_MONETAIRE; } array_push($lLigne3, $lQuantiteReservation, $lUniteReservation, $lQuantiteAchat, $lUniteAchat, $lPrixAchat, $lSiglePrixAchat, $lQuantiteSolidaire, $lUniteSolidaire, $lPrixSolidaire, $lSiglePrixSolidaire); } $lCSV->setEntete($lEntete); // Les données $contenuTableau = array(); array_push($contenuTableau, $lLigne2); array_push($contenuTableau, $lLigne3); foreach ($lTableauAR as $lVal) { $lLigne = array(); array_push($lLigne, $lVal['compte']); array_push($lLigne, $lVal['nom']); array_push($lLigne, $lVal['prenom']); array_push($lLigne, $lVal['telephonePrincipal']); foreach ($lIdProduits as $lIdProduit) { $lQuantiteReservation = ''; $lUniteReservation = ''; if (isset($lVal[$lIdProduit]['reservation']) && !empty($lVal[$lIdProduit]['reservation'])) { $lQuantiteReservation = $lVal[$lIdProduit]['reservation']; $lUniteReservation = $lVal[$lIdProduit]['unite']; } $lQuantiteAchat = ''; $lUniteAchat = ''; if (isset($lVal[$lIdProduit]['qteAchat']) && !empty($lVal[$lIdProduit]['qteAchat'])) { $lQuantiteAchat = $lVal[$lIdProduit]['qteAchat']; $lUniteAchat = $lVal[$lIdProduit]['unite']; } $lPrixAchat = ''; $lSiglePrixAchat = ''; if (isset($lVal[$lIdProduit]['prixAchat']) && !empty($lVal[$lIdProduit]['prixAchat'])) { $lPrixAchat = $lVal[$lIdProduit]['prixAchat']; $lSiglePrixAchat = SIGLE_MONETAIRE; } $lQuantiteSolidaire = ''; $lUniteSolidaire = ''; if (isset($lVal[$lIdProduit]['qteSolidaire']) && !empty($lVal[$lIdProduit]['qteSolidaire'])) { $lQuantiteSolidaire = $lVal[$lIdProduit]['qteSolidaire']; $lUniteSolidaire = $lVal[$lIdProduit]['unite']; } $lPrixSolidaire = ''; $lSiglePrixSolidaire = ''; if (isset($lVal[$lIdProduit]['prixSolidaire']) && !empty($lVal[$lIdProduit]['prixSolidaire'])) { $lPrixSolidaire = $lVal[$lIdProduit]['prixSolidaire']; $lSiglePrixSolidaire = SIGLE_MONETAIRE; } array_push($lLigne, $lQuantiteReservation, $lUniteReservation, $lQuantiteAchat, $lUniteAchat, $lPrixAchat, $lSiglePrixAchat, $lQuantiteSolidaire, $lUniteSolidaire, $lPrixSolidaire, $lSiglePrixSolidaire); } array_push($contenuTableau, $lLigne); } $lCSV->setData($contenuTableau); // Export en CSV $lCSV->output(); } else { return $lVr; } }
/** * @name supprimerProduit($pParam) * @return NomProduitCatalogueVR * @desc Supprime un produit */ public function supprimerProduit($pParam) { $lVr = NomProduitCatalogueValid::validDelete($pParam); if ($lVr->getValid()) { $lId = $pParam['idNomProduit']; NomProduitManager::delete($lId); NomProduitProducteurManager::deleteByIdNomProduit($lId); CaracteristiqueProduitManager::deleteByIdNomProduit($lId); ModeleLotManager::deleteByIdNomProduit($lId); } return $lVr; }
/** * @name getStockProduitFerme($pIdCompteFerme) * @param integer * @return array(StockProduitFermeVO) * @desc Retourne le stock des produits d'une ferme */ public function getStockProduitFerme($pIdCompteFerme) { return NomProduitManager::selectStockProduitFerme($pIdCompteFerme); }
/** * @name listeProduitCategorie($pId) * @return array(NomProduitVO) * @desc Retourne la liste des produits liés à la catégorie */ private function listeProduitCategorie($pId) { return NomProduitManager::selectByIdCategorie($pId); }
/** * @name selectStockProduitFerme($pIdCompteFerme) * @return array(StockProduitFermeVO) * @desc Récupères le stock de produit pour une ferme */ public static function selectStockProduitFerme($pIdCompteFerme) { // Initialisation du Logger $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS); $lLogger->setMask(Log::MAX(LOG_LEVEL)); $lRequete = "SELECT " . NomProduitManager::CHAMP_NOMPRODUIT_ID . "," . NomProduitManager::CHAMP_NOMPRODUIT_NUMERO . "," . NomProduitManager::CHAMP_NOMPRODUIT_NOM . "," . CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_ID . "," . CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_NOM . "," . FermeManager::CHAMP_FERME_ID . "," . FermeManager::CHAMP_FERME_NUMERO . "," . FermeManager::CHAMP_FERME_NOM . "," . FermeManager::CHAMP_FERME_ID_COMPTE . "," . StockQuantiteManager::CHAMP_STOCKQUANTITE_ID . "," . StockQuantiteManager::CHAMP_STOCKQUANTITE_QUANTITE . "," . StockQuantiteManager::CHAMP_STOCKQUANTITE_QUANTITE_SOLIDAIRE . "," . StockQuantiteManager::CHAMP_STOCKQUANTITE_UNITE . " FROM " . NomProduitManager::TABLE_NOMPRODUIT . " JOIN " . CategorieProduitManager::TABLE_CATEGORIEPRODUIT . " ON " . CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_ID . " = " . NomProduitManager::CHAMP_NOMPRODUIT_ID_CATEGORIE . " JOIN " . FermeManager::TABLE_FERME . " ON " . FermeManager::CHAMP_FERME_ID . " = " . NomProduitManager::CHAMP_NOMPRODUIT_ID_FERME . " LEFT JOIN " . StockQuantiteManager::TABLE_STOCKQUANTITE . " ON " . StockQuantiteManager::CHAMP_STOCKQUANTITE_ID_NOM_PRODUIT . " = " . NomProduitManager::CHAMP_NOMPRODUIT_ID . " WHERE " . " (" . StockQuantiteManager::CHAMP_STOCKQUANTITE_ETAT . " = 0 " . " OR ISNULL(" . StockQuantiteManager::CHAMP_STOCKQUANTITE_ETAT . ") )" . " AND " . FermeManager::CHAMP_FERME_ETAT . " = 0 " . " AND " . CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_ETAT . " = 0 " . " AND " . NomProduitManager::CHAMP_NOMPRODUIT_ETAT . " = 0 " . " AND " . FermeManager::CHAMP_FERME_ID_COMPTE . " = '" . StringUtils::securiser($pIdCompteFerme) . "'" . " ORDER BY " . CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_NOM . ", " . NomProduitManager::CHAMP_NOMPRODUIT_NOM . ", " . StockQuantiteManager::CHAMP_STOCKQUANTITE_UNITE . ";"; $lLogger->log("Execution de la requete : " . $lRequete, PEAR_LOG_DEBUG); // Maj des logs $lSql = Dbutils::executerRequete($lRequete); $lListeNomProduit = array(); if (mysql_num_rows($lSql) > 0) { while ($lLigne = mysql_fetch_assoc($lSql)) { array_push($lListeNomProduit, NomProduitManager::remplirStockFerme($lLigne[NomProduitManager::CHAMP_NOMPRODUIT_ID], $lLigne[NomProduitManager::CHAMP_NOMPRODUIT_NUMERO], $lLigne[NomProduitManager::CHAMP_NOMPRODUIT_NOM], $lLigne[CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_ID], $lLigne[CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_NOM], $lLigne[FermeManager::CHAMP_FERME_ID], $lLigne[FermeManager::CHAMP_FERME_NUMERO], $lLigne[FermeManager::CHAMP_FERME_NOM], $lLigne[FermeManager::CHAMP_FERME_ID_COMPTE], $lLigne[StockQuantiteManager::CHAMP_STOCKQUANTITE_ID], $lLigne[StockQuantiteManager::CHAMP_STOCKQUANTITE_QUANTITE], $lLigne[StockQuantiteManager::CHAMP_STOCKQUANTITE_QUANTITE_SOLIDAIRE], $lLigne[StockQuantiteManager::CHAMP_STOCKQUANTITE_UNITE])); } } else { $lListeNomProduit[0] = new NomProduitVO(); } return $lListeNomProduit; }
/** * @name validAjout($pData) * @return ProduitMarcheVR * @desc Test la validite de l'élément */ public static function validAjout($pData) { $lVr = new ProduitMarcheVR(); //Tests inputs if (!isset($pData['idNom'])) { $lVr->setValid(false); $lVr->getIdNom()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdNom()->addErreur($lErreur); } if (!isset($pData['unite'])) { $lVr->setValid(false); $lVr->getUnite()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getUnite()->addErreur($lErreur); } if (!isset($pData['qteMaxCommande'])) { $lVr->setValid(false); $lVr->getQteMaxCommande()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getQteMaxCommande()->addErreur($lErreur); } if (!isset($pData['qteRestante'])) { $lVr->setValid(false); $lVr->getQteRestante()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getQteRestante()->addErreur($lErreur); } if (!isset($pData['lots'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getLog()->addErreur($lErreur); } if (!isset($pData['type'])) { $lVr->setValid(false); $lVr->getType()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getType()->addErreur($lErreur); } if ($lVr->getValid()) { //Tests Techniques if (!TestFonction::checkLength($pData['idNom'], 0, 11)) { $lVr->setValid(false); $lVr->getIdNom()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getIdNom()->addErreur($lErreur); } if (!is_int((int) $pData['idNom'])) { $lVr->setValid(false); $lVr->getIdNom()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getIdNom()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['unite'], 0, 20)) { $lVr->setValid(false); $lVr->getUnite()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getUnite()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['qteMaxCommande'], 0, 12) || $pData['qteMaxCommande'] > 999999999.99) { $lVr->setValid(false); $lVr->getQteMaxCommande()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getQteMaxCommande()->addErreur($lErreur); } if (!is_float((double) $pData['qteMaxCommande'])) { $lVr->setValid(false); $lVr->getQteMaxCommande()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_109_CODE); $lErreur->setMessage(MessagesErreurs::ERR_109_MSG); $lVr->getQteMaxCommande()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['qteRestante'], 0, 12) || $pData['qteRestante'] > 999999999.99) { $lVr->setValid(false); $lVr->getQteRestante()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getQteRestante()->addErreur($lErreur); } if (!is_float((double) $pData['qteRestante'])) { $lVr->setValid(false); $lVr->getQteRestante()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_109_CODE); $lErreur->setMessage(MessagesErreurs::ERR_109_MSG); $lVr->getQteRestante()->addErreur($lErreur); } if (!is_array($pData['lots'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_110_CODE); $lErreur->setMessage(MessagesErreurs::ERR_110_MSG); $lVr->getLog()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['type'], 0, 11)) { $lVr->setValid(false); $lVr->getType()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getType()->addErreur($lErreur); } if (!is_int((int) $pData['type'])) { $lVr->setValid(false); $lVr->getType()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getType()->addErreur($lErreur); } //Tests Fonctionnels if (empty($pData['idNom'])) { $lVr->setValid(false); $lVr->getIdNom()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdNom()->addErreur($lErreur); } if (empty($pData['unite'])) { $lVr->setValid(false); $lVr->getUnite()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getUnite()->addErreur($lErreur); } if (empty($pData['lots'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getLog()->addErreur($lErreur); } if ($pData['type'] == '') { $lVr->setValid(false); $lVr->getType()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getType()->addErreur($lErreur); } // Test de l'existance du produit if ($lVr->getIdNom()->getValid()) { $lNomProduit = NomProduitManager::select($pData['idNom']); $lId = $lNomProduit->getId(); if (empty($lId)) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_210_CODE); $lErreur->setMessage(MessagesErreurs::ERR_210_MSG); $lVr->getLog()->addErreur($lErreur); } } // Les quantités sont positives if ($pData['qteMaxCommande'] != -1 && $pData['qteMaxCommande'] < 0) { $lVr->setValid(false); $lVr->getQteMaxCommande()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_215_CODE); $lErreur->setMessage(MessagesErreurs::ERR_215_MSG); $lVr->getQteMaxCommande()->addErreur($lErreur); } if ($pData['qteRestante'] != -1 && $pData['qteRestante'] < 0) { $lVr->setValid(false); $lVr->getQteRestante()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_215_CODE); $lErreur->setMessage(MessagesErreurs::ERR_215_MSG); $lVr->getQteRestante()->addErreur($lErreur); } if ($pData['qteMaxCommande'] != -1 && $pData['qteRestante'] != -1 && $pData['qteMaxCommande'] > $pData['qteRestante']) { $lVr->setValid(false); $lVr->getQteRestante()->setValid(false); $lVr->getQteMaxCommande()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_205_CODE); $lErreur->setMessage(MessagesErreurs::ERR_205_MSG); $lVr->getQteRestante()->addErreur($lErreur); $lVr->getQteMaxCommande()->addErreur($lErreur); } if (is_array($pData['lots'])) { $lValidLot = new DetailCommandeValid(); $i = 0; while (isset($pData['lots'][$i])) { $lVrLot = $lValidLot->validAjout($pData['lots'][$i]); if (!$lVrLot->getValid()) { $lVr->setValid(false); } /*if(!empty($pData['qteMaxCommande'])) { if(floatval($pData['lots'][$i]['taille']) > floatval($pData['qteMaxCommande'])) { $lVr->setValid(false); $lVrLot->setValid(false); $lVrLot->getTaille()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_206_CODE); $lErreur->setMessage(MessagesErreurs::ERR_206_MSG); $lVrLot->getTaille()->addErreur($lErreur); } }*/ $lVr->addLots($lVrLot); $i++; } } } return $lVr; }
/** * @name getListeReservationCSV($pParam) * @return Un Fichier CSV * @desc Retourne la liste des réservations pour une commande et la liste de produits demandés */ public function getListeReservationCSV($pParam) { $lVr = ExportListeReservationValid::validAjout($pParam); if ($lVr->getValid()) { $lIdProduits = $pParam['id_produits']; $lInfoReservation = $this->getListeReservationExport($pParam); $lQuantiteReservation = $lInfoReservation['quantite']; $lTableauReservation = $lInfoReservation['detail']; $lCSV = new CSV(); $lCSV->setNom('Réservations.csv'); // Le Nom // L'entete $lEntete = array("Compte", "Nom", "Prénom", "Tel."); $lLigne2 = array("", "", "", ""); $lLigne3 = array("", "", "", ""); foreach ($lIdProduits as $lIdProduit) { $lProduit = ProduitManager::select($lIdProduit); $lNomProduit = NomProduitManager::select($lProduit->getIdNomProduit()); $lLabelNomProduit = htmlspecialchars_decode($lNomProduit->getNom(), ENT_QUOTES); if ($lProduit->getType() == 2) { $lLabelNomProduit .= " (Abonnement)"; } array_push($lEntete, $lLabelNomProduit, ""); array_push($lLigne2, "Prévu", "Réel"); $lQuantite = ''; if (isset($lQuantiteReservation[$lIdProduit])) { $lQuantite = $lQuantiteReservation[$lIdProduit]; } array_push($lLigne3, $lQuantite, ""); } $lCSV->setEntete($lEntete); // Les données $contenuTableau = array(); array_push($contenuTableau, $lLigne2); array_push($contenuTableau, $lLigne3); foreach ($lTableauReservation as $lVal) { $lLigne = array(); array_push($lLigne, $lVal['compte']); array_push($lLigne, $lVal['nom']); array_push($lLigne, $lVal['prenom']); array_push($lLigne, $lVal['telephonePrincipal']); foreach ($lIdProduits as $lIdProduit) { array_push($lLigne, $lVal[$lIdProduit], ""); } array_push($contenuTableau, $lLigne); } $lCSV->setData($contenuTableau); // Export en CSV $lCSV->output(); } else { return $lVr; } }
/** * @name validDelete($pData) * @return NomProduitVR * @desc Test la validite de l'élément */ public static function validDelete($pData) { $lVr = new NomProduitVR(); //Tests inputs if (!isset($pData['id'])) { $lVr->setValid(false); $lVr->getId()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getId()->addErreur($lErreur); } if ($lVr->getValid()) { if (!is_int((int) $pData['id'])) { $lVr->setValid(false); $lVr->getId()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_104_CODE); $lErreur->setMessage(MessagesErreurs::ERR_104_MSG); $lVr->getId()->addErreur($lErreur); } $lNomProduit = NomProduitManager::select($pData['id']); if ($lNomProduit->getId() != $pData['id']) { $lVr = new TemplateVR(); $lVr->getId(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getId()->addErreur($lErreur); } } return $lVr; }
/** * @name selectAll() * @return array(NomProduitVO) * @desc Retourne une liste d'Operation */ private function selectAll() { return NomProduitManager::selectAll(); }