/** * @name rechargerCompte($pParam) * @return VR * @desc Recharge le compte d'un adhérent */ public function rechargerCompte($pParam) { $lVr = RechargementCompteValid::validAjout($pParam); if ($lVr->getValid()) { $lOperationService = new OperationService(); $lOperationService->set(OperationDetailToVO::convertFromArray($pParam)); } return $lVr; }
/** * @name getInformationFerme() * @return InformationFermeResponse * @desc Recherche la liste des Fermes */ public function getInformationFerme($pParam) { $lVr = FermeValid::validDelete($pParam); if ($lVr->getValid()) { $lResponse = new InformationFermeResponse(); $lFerme = FermeViewManager::select($pParam["id"]); $lResponse->setFerme($lFerme); $lOperationService = new OperationService(); $lResponse->setOperationPassee($lOperationService->getOperationPassee($lFerme[0]->getFerIdCompte())); //$lResponse->setTypePaiement( TypePaiementManager::selectAll() ); return $lResponse; } return $lVr; }
/** * @name getInfoCompte($pParam) * @return InfoCompteResponse * @desc Renvoie le Compte de l'adherent après avoir récupérer les informations en fonction de l'ID. */ public function getInfoCompte($pParam) { $lResponse = new InfoCompteResponse(); $lIdAdherent = $pParam['id_adherent']; $lAdherent = AdherentViewManager::select($lIdAdherent); $lResponse->setAdherent($lAdherent); $lOperationService = new OperationService(); $lResponse->setOperationAvenir($lOperationService->getOperationAvenir($lAdherent->getAdhIdCompte())); $lResponse->setOperationPassee($lOperationService->getOperationPassee($lAdherent->getAdhIdCompte())); $lCompteService = new CompteService(); $lResponse->setAdherentCompte($lCompteService->getAdherentCompte($lAdherent->getAdhIdCompte())); $lAdhesionService = new AdhesionService(); $lResponse->setNbAdhesionEnCours($lAdhesionService->getNbAdhesionEnCoursSurAdherent($lIdAdherent)); return $lResponse; }
/** * @name getListePaiementExport($pParam) * @return InfoMarcheVR * @desc Retourne la liste des adhérents qui ont réservé sur cette commande et les infos sur la commande. */ public function getListePaiementExport($pParam) { $lVr = MarcheValid::validGetMarche($pParam); if ($lVr->getValid()) { $lIdMarche = $pParam["id"]; $lTypePaiement = $pParam["type"]; $lCSV = new CSV(); $lCSV->setNom('Caisse.csv'); // Le Nom // L'entete $lEntete = array("Date", "N°", "Compte", "Nom", "Prénom", "Montant", ""); $lOperationService = new OperationService(); if ($lTypePaiement == 1) { $lOperations = $lOperationService->getListeEspeceCaisse($lIdMarche); } else { array_push($lEntete, "N°"); $lOperations = $lOperationService->getListeChequeCaisse($lIdMarche); } $lCSV->setEntete($lEntete); // Les données $lContenuTableau = array(); foreach ($lOperations as $lOperation) { if (!is_null($lOperation->getCptLabel())) { $lDate = StringUtils::extractDate($lOperation->getOpeDate()); if (is_null($lOperation->getAdhNumero())) { $lAdhNumero = ''; $lAdhNom = ''; $lAdhPrenom = ''; } else { $lAdhNumero = $lOperation->getAdhNumero(); $lAdhNom = $lOperation->getAdhNom(); $lAdhPrenom = $lOperation->getAdhPrenom(); } $lLignecontenu = array($lDate, $lAdhNumero, $lOperation->getCptLabel(), $lAdhNom, $lAdhPrenom, $lOperation->getOpeMontant(), SIGLE_MONETAIRE); if ($lTypePaiement == 2) { $lChampComplementaire = $lOperation->getOpeTypePaiementChampComplementaire(); array_push($lLignecontenu, $lChampComplementaire[3]->getValeur()); } array_push($lContenuTableau, $lLignecontenu); } } $lCSV->setData($lContenuTableau); // Export en CSV $lCSV->output(); } else { return $lVr; } }
/** * @name insert($pCompte) * @param CompteVO * @return CompteVO * @desc Ajoute un compte */ private function insert($pCompte) { $lId = CompteManager::insert($pCompte); // Le label est l'id du compte par défaut $pCompte->setId($lId); $pCompte->setLabel('C' . $lId); $this->update($pCompte); // Initialisation du compte $lOperation = new OperationDetailVO(); $lOperation->setIdCompte($lId); $lOperation->setMontant(0); $lOperation->setLibelle("Création du compte"); $lOperation->setDate(StringUtils::dateAujourdhuiDb()); $lOperation->setTypePaiement(-1); $lOperationService = new OperationService(); $lOperationService->set($lOperation); return $pCompte; }
/** * @name modifierPaiement($pParam) * @desc modifie un paiement */ public function modifierPaiement($pParam) { $lVr = SuiviPaiementValid::validModifierPaiement($pParam); if ($lVr->getValid()) { $lOperationService = new OperationService(); $lOperationInitiale = $lOperationService->getDetail($pParam["id"]); $lOperationInitiale->setTypePaiement($pParam["typePaiement"]); $lOperationInitiale->setMontant($pParam["montant"]); $lChampComplementaire = array(); foreach ($pParam['champComplementaire'] as $lChamp) { if (!is_null($lChamp)) { array_push($lChampComplementaire, OperationChampComplementaireToVO::convertFromArray($lChamp)); } } $lOperationInitiale->setChampComplementaire($lChampComplementaire); $lOperationService->set($lOperationInitiale); } return $lVr; }
/** * @name delete($pIdFacture) * @param integer * @desc Supprime une facture */ public function delete($pIdFacture) { $lFactureValid = new NAMESPACE_CLASSE\NAMESPACE_VALIDATEUR\MOD_SERVICE\FactureValid(); if ($lFactureValid->delete($pIdFacture)) { $lFacture = $this->select($pIdFacture); $lOperationService = new OperationService(); // Suppression des opérations // $lOperationService->delete($pIdFacture); $lOperationService->delete($lFacture->getOperationProducteur()->getId()); // $lOperationService->delete($lFacture->getOperationZeybu()->getId()); // Suppression du détail de facture DetailFactureManager::delete($pIdFacture); $lDetailOperationService = new DetailOperationService(); $lStockService = new StockService(); foreach ($lFacture->getProduits() as $lProduit) { $lStockService->delete($lProduit->getIdStock()); $lDetailOperationService->delete($lProduit->getIdDetailOperation()); $lStockService->delete($lProduit->getIdStockSolidaire()); } } }
/** * @name updateEnAchat($pIdReservation) * @param IdReservationVO * @desc Met à jour une réservation */ public function updateEnAchat($pIdReservation) { $lOperations = $this->selectOperationReservation($pIdReservation); $lOperation = $lOperations[0]; $lIdOperation = $lOperation->getId(); if (!is_null($lIdOperation)) { // Maj du type paiement $lOperationService = new OperationService(); $lOperation = $lOperationService->getDetail($lIdOperation); $lOperation->setTypePaiement(22); $lOperationService->set($lOperation); } }
/** * @name validAjout($pData) * @return RemiseChequeVR * @desc Test la validite de l'élément */ public static function validAjout($pData) { $lVr = new RemiseChequeVR(); //Tests inputs if (!isset($pData['operations'])) { $lVr->setValid(false); $lVr->getOperations()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getOperations()->addErreur($lErreur); } if ($lVr->getValid()) { //Tests Techniques if (!is_array($pData['operations'])) { $lVr->setValid(false); $lVr->getOperations()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_115_CODE); $lErreur->setMessage(MessagesErreurs::ERR_115_MSG); $lVr->getOperations()->addErreur($lErreur); } //Tests Fonctionnels //La liste d'opération ne doit pas être vide if (empty($pData['operations'])) { $lVr->setValid(false); $lVr->getOperations()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getOperations()->addErreur($lErreur); } if ($lVr->getValid()) { // Creation de lla liste des id $lIdOperation = array(); foreach ($pData['operations'] as $lOperation) { array_push($lIdOperation, $lOperation['id']); } // Récupération des operations $lOperationService = new OperationService(); $lOperations = $lOperationService->getByArray($lIdOperation); // Vérifie pour chaque ID que l'operation Existe foreach ($lIdOperation as $lId) { $lExiste = false; foreach ($lOperations as $lOperation) { if ($lOperation->getId() == $lId) { $lExiste = true; } } // Si une des opération n'existe pas afficher l'erreur if (!$lExiste) { $lVr->setValid(false); $lOperationErreur = new VRelement(); $lOperationErreur->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lOperationErreur->addErreur($lErreur); $lVrOperations = $lVr->getOperations(); $lVrOperations[$lId] = $lOperationErreur; $lVr->setOperation($lVrOperations); } } $lRemiseChequeService = new RemiseChequeService(); if ($lRemiseChequeService->operationDejaSurRemise($lIdOperation)) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_273_CODE); $lErreur->setMessage(MessagesErreurs::ERR_273_MSG); $lVr->getLog()->addErreur($lErreur); } } } return $lVr; }
/** * @name validAjout($pData) * @return FactureVR * @desc Test la validite de l'élément */ public static function validEnregistrer($pData) { $lVr = new FactureVR(); //Tests Techniques if (!isset($pData['id'])) { $lVr->setValid(false); $lVr->getOperation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getOperation()->addErreur($lErreur); } if (!isset($pData['operationProducteur'])) { $lVr->setValid(false); $lVr->getOperationProducteur()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getOperationProducteur()->addErreur($lErreur); } if (!isset($pData['operationZeybu'])) { $lVr->setValid(false); $lVr->getOperationZeybu()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getOperationZeybu()->addErreur($lErreur); } if (!isset($pData['produits'])) { $lVr->setValid(false); $lVr->getProduits()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getProduits()->addErreur($lErreur); } if (!isset($pData['operationProducteur']['idCompte'])) { $lVr->setValid(false); $lVr->getOperationProducteur()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getOperationProducteur()->addErreur($lErreur); } if (!isset($pData['operationProducteur']['montant'])) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getMontant()->addErreur($lErreur); } if (!isset($pData['operationProducteur']['typePaiement'])) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } if (!isset($pData['operationProducteur']['champComplementaire'])) { $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 ($lVr->getValid()) { // Dans le cas d'une modification if ($pData['id']['id'] != '' && !TestFonction::checkLength($pData['id']['id'], 0, 11)) { $lVr->setValid(false); $lVr->getOperation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_CODE); $lVr->getOperation()->addErreur($lErreur); } if ($pData['id']['id'] != '' && !is_int((int) $pData['id']['id'])) { $lVr->setValid(false); $lVr->getOperation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getOperation()->addErreur($lErreur); } // Pour création ou modification if (!TestFonction::checkLength($pData['operationProducteur']['idCompte'], 0, 11)) { $lVr->setValid(false); $lVr->getOperationProducteur()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getOperationProducteur()->addErreur($lErreur); } if (!is_int((int) $pData['operationProducteur']['idCompte'])) { $lVr->setValid(false); $lVr->getOperationProducteur()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getOperationProducteur()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['operationProducteur']['montant'], 0, 12) || $pData['operationProducteur']['montant'] > 999999999.99) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getMontant()->addErreur($lErreur); } if (!is_float((double) $pData['operationProducteur']['montant'])) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_109_CODE); $lErreur->setMessage(MessagesErreurs::ERR_109_MSG); $lVr->getMontant()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['operationProducteur']['typePaiement'], 0, 11)) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } if (!is_int((int) $pData['operationProducteur']['typePaiement'])) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } if (!is_array($pData['operationProducteur']['champComplementaire'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_115_CODE); $lErreur->setMessage(MessagesErreurs::ERR_115_MSG); $lVr->getLog()->addErreur($lErreur); } if (!is_array($pData['produits'])) { $lVr->setValid(false); $lVr->getProduits()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_110_CODE); $lErreur->setMessage(MessagesErreurs::ERR_110_MSG); $lVr->getProduits()->addErreur($lErreur); } //Tests Fonctionnels if (empty($pData['operationProducteur']['idCompte'])) { $lVr->setValid(false); $lVr->getOperationProducteur()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getOperationProducteur()->addErreur($lErreur); } if (empty($pData['operationProducteur']['typePaiement']) && $pData['operationProducteur']['typePaiement'] != 0) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } if ($pData['operationProducteur']['typePaiement'] < 0) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_236_CODE); $lErreur->setMessage(MessagesErreurs::ERR_236_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } if (empty($pData['produits'])) { $lVr->setValid(false); $lVr->getProduits()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getProduits()->addErreur($lErreur); } if (isset($pData['id']['champComplementaire'][1])) { // Si Marché $lVrChampComplementaire = ChampComplementaireValid::validUpdate($pData['id']['champComplementaire'][1], 0); if (!$lVrChampComplementaire->getValid()) { $lVr->setValid(false); } $lVr->setChampComplementaire(array(1 => $lVrChampComplementaire)); } if ($pData['id']['id'] != '') { // Modification // La facture doit exister $lOperationService = new OperationService(); $lOperationId = $lOperationService->get($pData['id']['id']); if ($lOperationId->getId() != $pData['id']['id']) { $lVr->setValid(false); $lVr->getOperation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getOperation()->addErreur($lErreur); } } if (empty($pData['operationProducteur']['montant']) && $pData['operationProducteur']['montant'] != 0) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getMontant()->addErreur($lErreur); } if ($pData['operationProducteur']['montant'] < 0) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_215_CODE); $lErreur->setMessage(MessagesErreurs::ERR_215_MSG); $lVr->getMontant()->addErreur($lErreur); } // Il est autorisé d'enregistrer un facture (réception de produit) sans payer. if ($pData['operationProducteur']['montant'] == 0 && $pData['operationProducteur']['typePaiement'] != 0 || $pData['operationProducteur']['montant'] != 0 && $pData['operationProducteur']['typePaiement'] == 0) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getMontant()->addErreur($lErreur); $lVr->getTypePaiement()->addErreur($lErreur); } $lFerme = FermeManager::selectByIdCompte($pData['operationProducteur']['idCompte']); if ($lFerme[0]->getIdCompte() != $pData['operationProducteur']['idCompte']) { $lVr->setValid(false); $lVr->getOperationProducteur()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getOperationProducteur()->addErreur($lErreur); } $lTypePaiementService = new TypePaiementService(); $lTypePaiement = $lTypePaiementService->selectVisible($pData['operationProducteur']['typePaiement']); // Il est autorisé d'enregistrer un facture (réception de produit) sans payer. if ($lTypePaiement->getId() != $pData['operationProducteur']['typePaiement'] && $pData['operationProducteur']['typePaiement'] != 0) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } else { $lChampComplementaire = array(); foreach ($pData['operationProducteur']['champComplementaire'] as $lChamp) { if (!is_null($lChamp)) { $lObligatoire = NULL; foreach ($lTypePaiement->getChampComplementaire() as $lChampTypePaiement) { if ($lChampTypePaiement->getId() == $lChamp['id']) { $lObligatoire = $lChampTypePaiement->getObligatoire(); } } $lVrChampComplementaire = ChampComplementaireValid::validUpdate($lChamp, $lObligatoire); if (!$lVrChampComplementaire->getValid()) { $lVr->setValid(false); } $lChampComplementaire[$lChamp['id']] = $lVrChampComplementaire; } } $lVr->setChampComplementaire($lChampComplementaire); } if (is_array($pData['produits'])) { $lValidProduit = new ProduitDetailFactureValid(); //$i = 0; //while(isset($pData['produits'][$i])) { foreach ($pData['produits'] as $lIndice => $lProduit) { if (!is_null($pData['produits'][$lIndice])) { $lVrProduit = $lValidProduit->validAjout($pData['produits'][$lIndice], $lFerme[0]->getId()); if (!$lVrProduit->getValid()) { $lVr->setValid(false); } $lVr->addProduits($lVrProduit); } // $i++; } } } return $lVr; }
/** * @name getInfoAchatMarche($pParam) * @return InfoAchatCommandeResponse * @desc Retourne les infos de réservation d'un adhérent */ public function getInfoAchatMarche($pParam) { $lVr = MarcheValid::validGetInfoAchatMarche($pParam); if ($lVr->getValid()) { $lResponse = new InfoAchatCommandeResponse(); if ($pParam["id_adherent"] != 0) { // Si ce n'est pas le compte invité $lAdherent = AdherentViewManager::select($pParam["id_adherent"]); $lResponse->setAdherent($lAdherent); } $lStockService = new StockService(); $lStockProduitsDisponible = $lStockService->getProduitsDisponible(); // Stock de produit disponible $lStock = array(); $lProduitsMarche = array(); $lProduitsReservation = array(); $lProduitsAchat = array(); if ($pParam["id_commande"] != -1) { // Si ce n'est pas la caisse permanente $lMarcheService = new MarcheService(); $lMarche = $lMarcheService->get($pParam["id_commande"]); $lProduitsMarche = $lMarche->getProduits(); $lResponse->setMarche($lMarche); // Les informations du marché if ($pParam["id_adherent"] != 0) { // Si ce n'est pas le compte invité $lReservationService = new ReservationService(); $lIdReservation = new IdReservationVO(); $lIdReservation->setIdCompte($lAdherent->getAdhIdCompte()); $lIdReservation->setIdCommande($pParam["id_commande"]); // Récupère les réservations actives $lProduitsReservation = $lReservationService->get($lIdReservation, true)->getDetailReservation(); $lResponse->setReservation($lProduitsReservation); // La réservation $lAchatService = new AchatService(); $lOperationsAchat = $lAchatService->selectOperationAchat($lAdherent->getAdhIdCompte(), $pParam["id_commande"]); $lAchat = new AchatVO(); if (!is_null($lOperationsAchat[0]->getId())) { $lAchat = $lAchatService->get($lOperationsAchat[0]->getId()); $lProduitsAchat = $lAchat->getProduits(); } else { $lOperationService = new OperationService(); $lOperationsRechargement = $lOperationService->getOperationRechargementSurMarche($lAdherent->getAdhIdCompte(), $pParam["id_commande"]); if (!is_null($lOperationsRechargement[0]->getId())) { $lAchat = $lAchatService->get($lOperationsRechargement[0]->getId()); } } $lResponse->setAchats($lAchat); // L'achat } } if ($pParam["id_adherent"] != 0) { // Si ce n'est pas le compte invité $lAdhesionService = new AdhesionService(); $lResponse->setNbAdhesionEnCours($lAdhesionService->getNbAdhesionEnCoursSurAdherent($pParam["id_adherent"])); } // Fusion des stocks $lLotsProduits = array(); foreach ($lStockProduitsDisponible as $lProduitStock) { if (!is_null($lProduitStock->getId())) { $lAjout = true; foreach ($lProduitsMarche as $lProduitMarche) { if ($lProduitStock->getIdNom() == $lProduitMarche->getIdNom() && $lProduitStock->getUnite() == $lProduitMarche->getUnite()) { $lAjout = false; } } if ($lAjout) { if (!isset($lStock[$lProduitStock->getCproNom()])) { $lStock[$lProduitStock->getCproNom()] = array("cproId" => $lProduitStock->getIdCategorie(), "cproNom" => $lProduitStock->getCproNom(), "produits" => array()); } $lUnite = $lProduitStock->getUnite(); $lStock[$lProduitStock->getCproNom()]["produits"][$lProduitStock->getNom() . $lProduitStock->getUnite()] = new ProduitDetailAchatAfficheVO($lProduitStock->getIdNom(), null, null, null, null, null, null, null, null, null, $lUnite, null, $lUnite, null, null, $lProduitStock->getIdCategorie(), $lProduitStock->getCproNom(), null, $lProduitStock->getNom()); $lLotsProduits[$lProduitStock->getIdNom() . $lProduitStock->getUnite()] = array("nom" => $lProduitStock->getNom(), "type" => "modele", "lots" => $lProduitStock->getLots()); } } } foreach ($lProduitsMarche as $lProduitMarche) { if (!isset($lStock[$lProduitMarche->getCproNom()])) { $lStock[$lProduitMarche->getCproNom()] = array("cproId" => $lProduitMarche->getIdCategorie(), "cproNom" => $lProduitMarche->getCproNom(), "produits" => array()); } $lUnite = !is_null($lProduitMarche->getUnite()) ? $lProduitMarche->getUnite() : $lProduitMarche->getUniteSolidaire(); $lMontant = NULL; $lQuantite = NULL; $lIdDetailCommande = NULL; // Ajout des réservations if (empty($lProduitsAchat)) { foreach ($lProduitsReservation as $lProduitReservation) { if ($lProduitReservation->getIdNomProduit() == $lProduitMarche->getIdNom() && $lProduitReservation->getUnite() == $lProduitMarche->getUnite()) { $lQuantite = $lProduitReservation->getQuantite(); $lMontant = $lProduitReservation->getMontant(); $lIdDetailCommande = $lProduitReservation->getIdDetailCommande(); } } } $lStock[$lProduitMarche->getCproNom()]["produits"][$lProduitMarche->getNom() . $lProduitMarche->getUnite()] = new ProduitDetailAchatAfficheVO($lProduitMarche->getIdNom(), null, null, null, null, $lIdDetailCommande, null, null, null, $lQuantite, $lUnite, null, $lUnite, $lMontant, null, $lProduitMarche->getIdCategorie(), $lProduitMarche->getCproNom(), null, $lProduitMarche->getNom()); $lLotsProduits[$lProduitMarche->getIdNom() . $lProduitMarche->getUnite()] = array("nom" => $lProduitMarche->getNom(), "type" => "marche", "lots" => $lProduitMarche->getLots()); } foreach ($lProduitsAchat as $lProduitAchat) { $lUnite = !is_null($lProduitAchat->getUnite()) ? $lProduitAchat->getUnite() : $lProduitAchat->getUniteSolidaire(); if (!is_null($lUnite)) { if (isset($lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite])) { $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setIdStock($lProduitAchat->getIdStock()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setIdStockSolidaire($lProduitAchat->getIdStockSolidaire()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setIdDetailCommande($lProduitAchat->getIdDetailCommande()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setIdModeleLot($lProduitAchat->getIdModeleLot()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setIdDetailCommandeSolidaire($lProduitAchat->getIdDetailCommandeSolidaire()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setIdModeleLotSolidaire($lProduitAchat->getIdModeleLotSolidaire()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setQuantite($lProduitAchat->getQuantite()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setQuantiteSolidaire($lProduitAchat->getQuantiteSolidaire()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setMontant($lProduitAchat->getMontant()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setMontantSolidaire($lProduitAchat->getMontantSolidaire()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setIdDetailOperation($lProduitAchat->getIdDetailOperation()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setIdDetailOperationSolidaire($lProduitAchat->getIdDetailOperationSolidaire()); } else { if (!isset($lStock[$lProduitAchat->getCproNom()])) { $lStock[$lProduitAchat->getCproNom()] = array("cproId" => $lProduitAchat->getCproId(), "cproNom" => $lProduitAchat->getCproNom(), "produits" => array()); } $lProduitAchat->setUnite($lUnite); $lProduitAchat->setUniteSolidaire($lUnite); $lStock[$lProduitAchat->getCproNom()]["produits"][$lProduitAchat->getNproNom() . $lUnite] = $lProduitAchat; // Ajout des lots $lModelesLot = ModeleLotManager::selectByIdNomProduit($lProduitAchat->getIdNomProduit()); // Récupère même les lots supprimés car il y a peut être eu un achat sur ce lot précédemment $lLots = array(); foreach ($lModelesLot as $lModeleLot) { $lLot = new DetailMarcheVO(); $lLot->setId($lModeleLot->getId()); $lLot->setTaille($lModeleLot->getQuantite()); $lLot->setPrix($lModeleLot->getPrix()); $lLots[$lModeleLot->getId()] = $lLot; } $lLotsProduits[$lProduitAchat->getIdNomProduit() . $lUnite] = array("nom" => $lProduitAchat->getNproNom(), "type" => "modele", "lots" => $lLots); } } } ksort($lStock); $lResponse->setStock($lStock); // Stock de produit disponible $lResponse->setLots($lLotsProduits); // Lots des produits $lBanqueService = new BanqueService(); $lTypePaiementService = new TypePaiementService(); $lResponse->setTypePaiement($lTypePaiementService->selectVisible()); // Type de paiment $lResponse->setBanques($lBanqueService->getAllActif()); // Liste des banques $lResponse->setIdRequete(uniqid()); return $lResponse; } return $lVr; }
/** * @name validGetAchat($pData) * @return AfficheAchatAdherentVR * @desc Test la validite de l'élément */ public static function validGetAchat($pData) { $lVr = new AfficheAchatAdherentVR(); //Tests inputs if (!isset($pData['idAchat'])) { $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()) { //Tests Techniques if (!TestFonction::checkLength($pData['idAchat'], 0, 11)) { $lVr->setValid(false); $lVr->getId()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getId()->addErreur($lErreur); } if (!is_int((int) $pData['idAchat'])) { $lVr->setValid(false); $lVr->getId()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getId()->addErreur($lErreur); } //Tests Fonctionnels if (empty($pData['idAchat'])) { $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); } $lOperationService = new OperationService(); if (!$lOperationService->existe($pData['idAchat'])) { $lVr->setValid(false); $lVr->getId()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getId()->addErreur($lErreur); } } return $lVr; }
/** * @name validUpdate($pData) * @return CompteSolidaireModifierVirementVR * @desc Test la validite de l'élément */ public static function validUpdate($pData) { $lVr = new CompteSolidaireModifierVirementVR(); //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 (!isset($pData['montant'])) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getMontant()->addErreur($lErreur); } if ($lVr->getValid()) { //Tests Techniques if (!TestFonction::checkLength($pData['id'], 0, 11)) { $lVr->setValid(false); $lVr->getId()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getId()->addErreur($lErreur); } if (!is_int((int) $pData['id'])) { $lVr->setValid(false); $lVr->getId()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getId()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['montant'], 0, 12) || $pData['montant'] > 999999999.99) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getMontant()->addErreur($lErreur); } if (!is_float((double) $pData['montant'])) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_109_CODE); $lErreur->setMessage(MessagesErreurs::ERR_109_MSG); $lVr->getMontant()->addErreur($lErreur); } //Tests Fonctionnels if (empty($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 (empty($pData['montant'])) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getMontant()->addErreur($lErreur); } if ($pData['montant'] <= 0) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_215_CODE); $lErreur->setMessage(MessagesErreurs::ERR_215_MSG); $lVr->getMontant()->addErreur($lErreur); } if ($lVr->getValid()) { $lOperationService = new OperationService(); $lOperation = $lOperationService->getDetail($pData['id']); $lOpeChampComp = $lOperation->getChampComplementaire(); if ($lOperation->getTypePaiement() == 3 || $lOperation->getTypePaiement() == 9) { $lOperationSoeur = $lOperationService->getDetail($lOpeChampComp[4]->getValeur()); } else { if ($lOperation->getTypePaiement() == 4 || $lOperation->getTypePaiement() == 10) { $lOperationSoeur = $lOperationService->getDetail($lOpeChampComp[5]->getValeur()); } } $lCompteService = new CompteService(); if (!$lCompteService->existe($lOperationSoeur->getIdCompte()) || !$lCompteService->existe($lOperation->getIdCompte())) { $lVr->setValid(false); $lVr->getId()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_227_CODE); $lErreur->setMessage(MessagesErreurs::ERR_227_MSG); $lVr->getId()->addErreur($lErreur); } // Le Montant dans l'operation est négatif donc solde - montant if ($pData['montant'] > $lCompteService->get(-2)->getSolde() - $lOperation->getMontant()) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_237_CODE); $lErreur->setMessage(MessagesErreurs::ERR_237_MSG); $lVr->getMontant()->addErreur($lErreur); } } } return $lVr; }
/** * @name validModifierPaiement($pData) * @return RechargementCompteVR * @desc Test la validite de l'élément */ public static function validModifierPaiement($pData) { $lVr = new RechargementCompteVR(); //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 (!isset($pData['montant'])) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getMontant()->addErreur($lErreur); } if (!isset($pData['champComplementaire'])) { $lVr->setValid(false); $lVr->getChampComplementaire()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getChampComplementaire()->addErreur($lErreur); } if (!isset($pData['typePaiement'])) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } if ($lVr->getValid()) { //Tests Techniques if (!TestFonction::checkLength($pData['id'], 0, 11)) { $lVr->setValid(false); $lVr->getId()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_CODE); $lVr->getId()->addErreur($lErreur); } 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); } if (!TestFonction::checkLength($pData['montant'], 0, 12) || $pData['montant'] > 999999999.99) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getMontant()->addErreur($lErreur); } if (!is_float((double) $pData['montant'])) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_109_CODE); $lErreur->setMessage(MessagesErreurs::ERR_109_MSG); $lVr->getMontant()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['typePaiement'], 0, 11)) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } if (!is_int((int) $pData['typePaiement'])) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } if (!is_array($pData['champComplementaire'])) { $lVr->setValid(false); $lVr->getChampComplementaire()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_115_CODE); $lErreur->setMessage(MessagesErreurs::ERR_115_MSG); $lVr->getChampComplementaire()->addErreur($lErreur); } //Tests Fonctionnels if (empty($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 (empty($pData['montant'])) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getMontant()->addErreur($lErreur); } if ($pData['montant'] < 0) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_215_CODE); $lErreur->setMessage(MessagesErreurs::ERR_215_MSG); $lVr->getMontant()->addErreur($lErreur); } $lOperationService = new OperationService(); $lOperation = $lOperationService->get($pData['id']); if ($lOperation->getId() != $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 ($lOperation->getType() != 0) { $lVr->setValid(false); $lVr->getId()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_227_CODE); $lErreur->setMessage(MessagesErreurs::ERR_227_MSG); $lVr->getId()->addErreur($lErreur); } $lTypePaiementService = new TypePaiementService(); $lTypePaiement = $lTypePaiementService->selectVisible($pData['typePaiement']); // Il est autorisé d'enregistrer un facture (réception de produit) sans payer. if ($lTypePaiement->getId() != $pData['typePaiement']) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } else { $lChampComplementaire = array(); foreach ($pData['champComplementaire'] as $lChamp) { if (!is_null($lChamp)) { $lObligatoire = NULL; foreach ($lTypePaiement->getChampComplementaire() as $lChampTypePaiement) { if ($lChampTypePaiement->getId() == $lChamp['id']) { $lObligatoire = $lChampTypePaiement->getObligatoire(); } } $lVrChampComplementaire = ChampComplementaireValid::validUpdate($lChamp, $lObligatoire); if (!$lVrChampComplementaire->getValid()) { $lVr->setValid(false); } $lChampComplementaire[$lChamp['id']] = $lVrChampComplementaire; } } $lVr->setChampComplementaire($lChampComplementaire); } } return $lVr; }
/** * @name select($pId) * @param integer(11) * @return AchatVO * @desc Retourne un achat */ private function select($pId) { $lOperationService = new OperationService(); $lOperationInitiale = $lOperationService->getDetail($pId); $lChampComplementaire = $lOperationInitiale->getChampComplementaire(); $lOperationAchat = NULL; $lOperationAchatSolidaire = NULL; $lRechargement = NULL; $lIdOperationAchat = 0; $lIdOperationAchatSolidaire = 0; switch ($lOperationInitiale->getTypePaiement()) { case 7: $lOperationAchat = $lOperationInitiale; $lIdOperationAchat = $lOperationAchat->getId(); if (isset($lChampComplementaire[13]) && !is_null($lChampComplementaire[13])) { $lIdOperationAchatSolidaire = $lChampComplementaire[13]->getValeur(); if (!is_null($lIdOperationAchatSolidaire)) { $lOperationAchatSolidaire = $lOperationService->getDetail($lIdOperationAchatSolidaire); } } if (isset($lChampComplementaire[14]) && !is_null($lChampComplementaire[14])) { $lIdRechargement = $lChampComplementaire[14]->getValeur(); if (!is_null($lIdRechargement)) { $lRechargement = $lOperationService->getDetail($lIdRechargement); } } break; case 8: $lOperationAchatSolidaire = $lOperationInitiale; $lIdOperationAchatSolidaire = $lOperationAchatSolidaire->getId(); if (isset($lChampComplementaire[12]) && !is_null($lChampComplementaire[12])) { $lIdOperationAchat = $lChampComplementaire[12]->getValeur(); if (!is_null($lIdOperationAchat)) { $lOperationAchat = $lOperationService->getDetail($lIdOperationAchat); } } if (isset($lChampComplementaire[14]) && !is_null($lChampComplementaire[14])) { $lIdRechargement = $lChampComplementaire[14]->getValeur(); if (!is_null($lIdRechargement)) { $lRechargement = $lOperationService->getDetail($lIdRechargement); } } break; default: $lRechargement = $lOperationInitiale; if (isset($lChampComplementaire[12]) && !is_null($lChampComplementaire[12])) { $lIdOperationAchat = $lChampComplementaire[12]->getValeur(); if (!is_null($lIdOperationAchat)) { $lOperationAchat = $lOperationService->getDetail($lIdOperationAchat); } } if (isset($lChampComplementaire[13]) && !is_null($lChampComplementaire[13])) { $lIdOperationAchatSolidaire = $lChampComplementaire[13]->getValeur(); if (!is_null($lIdOperationAchatSolidaire)) { $lOperationAchatSolidaire = $lOperationService->getDetail($lIdOperationAchatSolidaire); } } break; } $lProduits = DetailAchatManager::selectProduitsDetailAchat($lIdOperationAchat, $lIdOperationAchatSolidaire); return new AchatVO($lOperationAchat, $lOperationAchatSolidaire, $lProduits, $lRechargement); }
/** * @name ajoutOperation($pParam) * @return OperationDetailVR * @desc Ajoute une operation au compte association */ public function ajoutOperation($pParam) { $lVr = CompteAssociationValid::validAjoutOperation($pParam); if ($lVr->getValid()) { $lOperationService = new OperationService(); $lOperation = OperationDetailToVO::convertFromArray($pParam); $lOperation->setIdCompte(-4); // Le Compte Association $lOperationService->set($lOperation); } return $lVr; }
/** * @name validUpdateMarche($pData) * @return AchatCommandeVR * @desc Test la validite de l'élément */ public static function validUpdateMarche($pData) { $lVr = new AchatCommandeVR(); //Tests Fonctionnels // Adhérent doit avoir soit un achat soit un rechargement à minima if ($pData['idCompte'] != -3 && (empty($pData['rechargement']['montant']) || $pData['rechargement']['montant'] == 0) && empty($pData['idAchat'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_207_CODE); $lErreur->setMessage(MessagesErreurs::ERR_207_MSG); $lVr->getLog()->addErreur($lErreur); } // Compte invité doit avoir un achat if ($pData['idCompte'] == -3 && empty($pData['idAchat'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_207_CODE); $lErreur->setMessage(MessagesErreurs::ERR_207_MSG); $lVr->getLog()->addErreur($lErreur); } // Si achat il faut le vérifier if ($lVr->getValid(false) && !empty($pData['idAchat'])) { $lOperationService = new OperationService(); $lValid = true; foreach ($pData['idAchat'] as $lIdAchat) { $lValid &= $lOperationService->existe($lIdAchat); } if (!$lValid) { $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); } } return $lVr; }
/** * @name setCloturer($IdMarche) * @param integer * @desc Cloture le marche */ public function setCloturer($IdMarche) { $lMarche = CommandeManager::select($IdMarche); $lMarche->setArchive(2); $lOperationService = new OperationService(); // On Passe les opérations réservées non récupérées en statut cloturé $lListeOperation = $lOperationService->getReservationCommande($IdMarche); foreach ($lListeOperation as $lOperation) { if ($lOperation->getId() != null) { $lOperation->setTypePaiement(15); $lOperationService->set($lOperation); } } return CommandeManager::update($lMarche); }
/** * @name getOperationPassee($pId) * @param integer * @return array(OperationPasseeViewVO) * @desc Retourne les opérations passées pour un adhérent */ public function getOperationPassee($pId) { $lAdherentValid = new NAMESPACE_CLASSE\NAMESPACE_VALIDATEUR\MOD_SERVICE\AdherentValid(); if ($lAdherentValid->delete($pId)) { $lAdherent = $this->select($pId); $lOperationService = new OperationService(); return $lOperationService->getOperationPassee($lAdherent->getAdhIdCompte()); } return false; }
/** * @name validSupprimerAchat($pData) * @return SupprimerAchatAdherentVR * @desc Test la validite de l'élément */ public static function validSupprimerAchat($pData) { $lVr = new SupprimerAchatAdherentVR(); //Tests inputs if (!isset($pData['idAchat'])) { $lVr->setValid(false); $lVr->getIdAchat()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdAchat()->addErreur($lErreur); } if ($lVr->getValid()) { //Tests Techniques if (!TestFonction::checkLength($pData['idAchat'], 0, 11)) { $lVr->setValid(false); $lVr->getIdAchat()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getIdAchat()->addErreur($lErreur); } if (!is_int((int) $pData['idAchat'])) { $lVr->setValid(false); $lVr->getIdAchat()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getIdAchat()->addErreur($lErreur); } //Tests Fonctionnels if (empty($pData['idAchat'])) { $lVr->setValid(false); $lVr->getIdAchat()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdAchat()->addErreur($lErreur); } if ($lVr->getValid()) { $lOperationService = new OperationService(); $lOperation = $lOperationService->get($pData['idAchat']); if (is_null($lOperation->getId()) || $lOperation->getTypePaiement() != 7 && $lOperation->getTypePaiement() != 8) { $lVr->setValid(false); $lVr->getIdAchat()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getIdAchat()->addErreur($lErreur); } } } return $lVr; }
/** * @name exportOperation($pParam) * @desc Donne les opérations sur le compte du zeybu */ public function exportOperation($pParam) { $lVr = CompteZeybuValid::validRecherche($pParam); if ($lVr->getValid()) { $lDateDebut = NULL; if (!empty($pParam['dateDebut'])) { $lDateDebut = $pParam['dateDebut']; } $lDateFin = NULL; if (!empty($pParam['dateFin'])) { $lDateFin = $pParam['dateFin']; } $lIdMarche = NULL; if (!empty($pParam['idMarche'])) { $lIdMarche = $pParam['idMarche']; } $lCSV = new CSV(); $lCSV->setNom('CompteMarche.csv'); // Le Nom // L'entete $lEntete = array("Date", "Compte", "Libelle", "Paiement", "N°", "Debit", "", "Credit", ""); $lCSV->setEntete($lEntete); // Les données $lOperationService = new OperationService(); $lOperations = $lOperationService->rechercheOperationZeybu($lDateDebut, $lDateFin, $lIdMarche); $lContenuTableau = array(); foreach ($lOperations as $lOperation) { $lDate = StringUtils::extractDate($lOperation->getOpeDate()); $lPaiement = ''; if (!is_null($lOperation->getTppType())) { $lPaiement = $lOperation->getTppType(); } $lCheque = ''; if (!is_null($lOperation->getNumeroCheque())) { $lCheque = $lOperation->getNumeroCheque(); } $lDebit = ''; $lCredit = ''; if ($lOperation->getOpeMontant() < 0) { $lDebit = $lOperation->getOpeMontant() * -1; } else { $lCredit = $lOperation->getOpeMontant(); } $lLignecontenu = array($lDate, $lOperation->getCptLabel(), $lOperation->getOpeLibelle(), $lPaiement, $lCheque, $lDebit, SIGLE_MONETAIRE, $lCredit, SIGLE_MONETAIRE); array_push($lContenuTableau, $lLignecontenu); } $lCSV->setData($lContenuTableau); // Export en CSV $lCSV->output(); } else { return $lVr; } }
/** * @name validInfoAchatMarche($pData) * @return AchatVR * @desc Test la validite de l'élément */ public static function validInfoAchatMarche($pData) { $lVr = new InfoAchatMarcheVR(); //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 (!isset($pData['id_adherent'])) { $lVr->setValid(false); $lVr->getIdAdherent()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdAdherent()->addErreur($lErreur); } if (!isset($pData['id_commande'])) { $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 ($lVr->getValid()) { //Tests Techniques if (!TestFonction::checkLength($pData['id'], 0, 11)) { $lVr->setValid(false); $lVr->getId()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getId()->addErreur($lErreur); } if (!is_int((int) $pData['id'])) { $lVr->setValid(false); $lVr->getId()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getId()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['id_adherent'], 0, 11)) { $lVr->setValid(false); $lVr->getIdAdherent()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getIdAdherent()->addErreur($lErreur); } if (!is_int((int) $pData['id_adherent'])) { $lVr->setValid(false); $lVr->getIdAdherent()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getIdAdherent()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['id_commande'], 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 (!is_int((int) $pData['id_commande'])) { $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); } //Tests Fonctionnels /* if(empty($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 (!empty($pData['id'])) { // L'operation d'achat doit exister $lOperationService = new OperationService(); $lOperationAchat = $lOperationService->get($pData['id']); if ($lOperationAchat->getId() != $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); } } else { // Si pas d'achat il faut le marché à minima if (empty($pData['id_commande'])) { $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); } } // Si c'est un adhérent if (!empty($pData['id_adherent']) && $pData['id_adherent'] != -3) { $lAdherentService = new AdherentService(); $lAdherent = $lAdherentService->get($pData['id_adherent']); if ($lAdherent->getAdhId() != $pData['id_adherent']) { $lVr->setValid(false); $lVr->getIdAdherent()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdAdherent()->addErreur($lErreur); } if ($lVr->getValid()) { $lVr->setData(array('adherent' => $lAdherent)); } } } return $lVr; }
/** * @name supprimerAchat($pParam) * @return ListeReservationCommandeVR * @desc Met à jour une réservation */ public function supprimerAchat($pParam) { $lVr = AfficheAchatAdherentValid::validSupprimerAchat($pParam); if ($lVr->getValid()) { $lOperationService = new OperationService(); $lOperation = $lOperationService->get($pParam["idAchat"]); $lIdAchatVO = new IdAchatVO(); $lIdAchatVO->setIdCompte($lOperation->getIdCompte()); $lIdAchatVO->setIdCommande($lOperation->getIdCommande()); $lIdAchatVO->setIdAchat($lOperation->getId()); $lAchatService = new AchatService(); $lSupressionAchat = $lAchatService->delete($lIdAchatVO); } return $lVr; }
/** * @name encaisser($pIdRemiseCheque) * @param integer * @desc Valide les opérations */ public function encaisser($pIdRemiseCheque) { // Les infos de la remise $lRemise = $this->getDetail($pIdRemiseCheque); $lIdOperations = array(); foreach ($lRemise->getOperations() as $lOperation) { // récupération des Id Operations array_push($lIdOperations, $lOperation->getIdOperation()); } $lOperationService = new OperationService(); $lOperationService->validerPaiementByArray($lIdOperations); // Valide les opérations // Valide la remise $lRemise->setEtat(1); RemiseChequeManager::update($lRemise); }
/** * @name estCredit($pIdOperation) * @return bool * @desc Test si le paramètre est un id d'une opération de crédit */ public function estCredit($pIdOperation) { if ($this->estId($pIdOperation) && !is_null($pIdOperation)) { $lOperationService = new OperationService(); $lOperation = $lOperationService->get($pIdOperation); if (!is_null($lOperation)) { return $lOperation->getTypePaiement() == 4 || $lOperation->getTypePaiement() == 10; } } return false; }
/** * @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 enregistrerBonDeCommande($pParam) * @return AfficheListeProduitBonDeCommandeResponse * @desc Enregistre le bon de commande. */ public function enregistrerBonDeCommande($pParam) { $lVr = ProduitsBonDeCommandeValid::validAjout($pParam); if ($lVr->getValid()) { $lIdMarche = $pParam["id_commande"]; $lIdCompteFerme = $pParam["id_compte_ferme"]; $lProduits = $pParam["produits"]; // On enregistre uniquement les produits avec à minima quantité (même si prix à 0) // Calcul du total $lTotal = 0; $lProduitsValide = array(); foreach ($lProduits as $lProduit) { if ($lProduit["quantite"] > 0) { array_push($lProduitsValide, $lProduit); } $lTotal += $lProduit["prix"]; } // Récupère l'opération Bon de commande si elle existe $lOperationService = new OperationService(); $lOperations = $lOperationService->getBonCommande($lIdMarche, $lIdCompteFerme); $lIdOperation = $lOperations[0]->getId(); if (is_null($lIdOperation)) { // Si il n'y a pas d'opération de Bon de commande $lOperation = new OperationDetailVO(); $lOperation->setIdCompte($lIdCompteFerme); $lOperation->setLibelle('Bon de Commande'); $lOperation->setTypePaiement(5); $lOperationChampComplementaire = new OperationChampComplementaireVO(); $lOperationChampComplementaire->setChcpId(1); $lOperationChampComplementaire->setValeur($lIdMarche); $lOperation->setChampComplementaire(array($lOperationChampComplementaire)); } else { $lOperation = $lOperations[0]; } $lOperation->setMontant($lTotal); $lIdOperation = $lOperationService->set($lOperation); // Ajout ou mise à jour de l'operation $lBonCommande = InfoBonCommandeViewManager::selectInfoBonCommande($lIdMarche, $lIdCompteFerme); $lDetailOperationService = new DetailOperationService(); $lStockService = new StockService(); foreach ($lProduitsValide as $lProduit) { $lMaj = false; foreach ($lBonCommande as $lBon) { if ($lProduit["dcomId"] == $lBon->getDcomId()) { $lMaj = true; //$lDcom = DetailCommandeManager::selectByIdProduit($lProduit["id"]); $lStock = new StockVO(); $lStock->setId($lBon->getStoId()); $lStock->setQuantite($lProduit["quantite"]); $lStock->setType(3); $lStock->setIdCompte($lIdCompteFerme); $lStock->setIdDetailCommande($lProduit["dcomId"]); $lStock->setIdOperation($lIdOperation); $lStockService->set($lStock); $lDetailOperation = $lDetailOperationService->get($lBon->getDopeId()); $lDetailOperation->setIdOperation($lIdOperation); $lDetailOperation->setIdCompte($lIdCompteFerme); $lDetailOperation->setMontant($lProduit["prix"]); $lDetailOperation->setLibelle('Bon de Commande'); $lDetailOperation->setTypePaiement(5); $lDetailOperationService->set($lDetailOperation); } } if (!$lMaj) { //$lDcom = DetailCommandeManager::selectByIdProduit($lProduit["id"]); $lStock = new StockVO(); $lStock->setQuantite($lProduit["quantite"]); $lStock->setType(3); $lStock->setIdCompte($lIdCompteFerme); $lStock->setIdDetailCommande($lProduit["dcomId"]); $lStock->setIdOperation($lIdOperation); $lStockService->set($lStock); $lDetailOperation = new DetailOperationVO(); $lDetailOperation->setIdOperation($lIdOperation); $lDetailOperation->setIdCompte($lIdCompteFerme); $lDetailOperation->setMontant($lProduit["prix"]); $lDetailOperation->setLibelle('Bon de Commande'); $lDetailOperation->setTypePaiement(5); //$lDetailOperation->setTypePaiementChampComplementaire($lProduit["id"]); $lDetailOperation->setIdDetailCommande($lProduit["dcomId"]); $lDetailOperationService->set($lDetailOperation); } } foreach ($lBonCommande as $lBon) { $lDelete = true; foreach ($lProduitsValide as $lProduit) { if ($lProduit["dcomId"] == $lBon->getDcomId()) { $lDelete = false; } } if ($lDelete) { $lStockService->delete($lBon->getStoId()); $lDetailOperationService->delete($lBon->getDopeId()); } } } return $lVr; }