$oLiginv = new LigneInventaire(); $oLiginv->lot_id = $tLigneForm['lot_id'][$i]; $oLiginv->liginv_lbl = $tLigneForm['liginv_lbl'][$i]; $oLiginv->liginv_qt_reel = $tLigneForm['liginv_qt_reel'][$i]; $oLiginv->liginv_qt_stock = $tLigneForm['liginv_qt_stock'][$i]; $oLiginv->inv_id = $invId; //Si la case liginv_id est != '' c'est un update if ($tLigneForm['liginv_id'][$i] != '') { //On récupére l'id de la ligne $oLiginv->liginv_id = $tLigneForm['liginv_id'][$i]; //On update la ligne $resLiginv = LigneInventaireManager::updLigneInventaire($oLiginv); //Sinon c'est que c'est un insert } else { //on insert la ligne inventaire $resLiginv = LigneInventaireManager::addLigneInventaire($oLiginv); } //code en cas d'exécution du formulaire, modifie les lots pour faire correpondre //leur quantité stock avec leur quantité réelle if (isset($_REQUEST['btnForm']) && $_REQUEST['btnForm'] == 'Executer') { //On hydrate un objet lot $oLot = new Lot(); $oLot = LotManager::getLot($oLiginv->lot_id); $oLot->lot_qt_stock = $oLiginv->liginv_qt_reel; //On update le lot $resLot = LotManager::updLot($oLot); } } //une fois tous les lots modifiés on change le booleen de l'inventaire pour interdire //sa modification à partir de maintenant si le bouton executer est cliqué if (isset($_REQUEST['btnForm']) && $_REQUEST['btnForm'] == 'Executer') {
//Contrôle si la connection de l'utilisateur est valide //Le 'group' permet de choisir si l'utilisateur à accés à la page if (isset($_SESSION['group']) && $_SESSION['group'] >= 0) { //Si la suppression ne se fait pas le manager léve un exception try { require_once $path . '/model/InventaireManager.php'; require_once $path . '/model/LigneInventaireManager.php'; //Récupération de la connection $cnx = Connection::getConnection(); //Démarrage de la transaction $cnx->beginTransaction(); //On récupére l'id de l'inventaire $invId = $_REQUEST['invId']; //on efface toutes les lignes de l'inventaire $resDelLiginv = LigneInventaireManager::delLigneInventaireFromInventaire($invId); //On efface l'inventaire $resDelInv = InventaireManager::delInventaire($invId); //Message pour le succés $msg = '<p class=\'info\'>' . date('H:i:s') . ' La suppression de l\'inventaire: "' . $invId . '" à été effectué avec succès </p>'; // si la suppression a été effectué on met le message dans le tableau if ($resDelInv > 0) { Tool::addMsg($msg); } //On valide la transaction $cnx->commit(); } catch (MySQLException $e) { //On annule la transaction $cnx->rollBack(); //Message en cas d'échec $msg = '<p class=\'info\'>' . date('H:i:s') . "L'inventaire N° " . $invId . " n'est pas supprimée</p>";
require_once $path . '/model/Lot.php'; require_once $path . '/model/LotManager.php'; require_once $path . '/model/LigneInventaire.php'; require_once $path . '/model/LigneInventaireManager.php'; //-----------------------Initialisation---------------------------------// ob_start(); //------------------------Récupération des données----------------------// //On récupère l'id du bon passé en paramètre $invId = $_REQUEST['invId']; //On appel le manager pour récupéré le Bon $oInv = InventaireManager::getInventaire($invId); //Et le manager pour les intitulés //print_r($oInv); //On récupère les lignes associés //On récupére toutes les ligne du bon $resAllInvLig = LigneInventaireManager::getLignesInventaireFromInventaire($invId); //print_r($resAllInvLig); //On vérifie que le résultat récupéré soit bien un tableau (si aucune donnée ce n'est pas un tableau) if (is_array($resAllInvLig)) { //Tableau pour les lots $resAllLots = []; //Tableau pour les reférénces $resAllRefs = []; //Pour chaque ligne d'inventaire foreach ($resAllInvLig as $invLig) { //On récupère le lot associé $oLot = LotManager::getLot($invLig->lot_id); //Et la référence associé au lot $oRef = ReferenceManager::getReference($oLot->ref_id); //On ajoute le lot retourné au tableau de lot $resAllLots[] = $oLot;
$cnx->rollback(); //Message pour l'erreur $msg = '<p class=\'erreur\'> ' . date('H:i:s') . '' . ' Echec modification inventaire, code: ' . $resEr . '</p>'; } //On insert le message dans le tableau de message Tool::addMsg($msg); //Sinon on est dans l'affichage du détail } else { try { $sButton = 'Modifier'; //On définit le titre $sPageTitle = "Modifier l'inventaire N°" . $invId; //On récupére les détails de l'inventaire $resInventaireDetail = InventaireManager::getInventaireDetailForUpd($invId); //On récupére toutes les lignes de l'inventaire $resAllLigneInventaire = LigneInventaireManager::getLigneInventairesFromInventaireForUpd($invId); //On vérifie que $resAllLigneInventaire soit bien un tableau //(si aucune donnée, ce n'est pas un tableau) if (is_array($resAllLigneInventaire)) { //Tableau pour les lots $resAllLots = []; //Tableau pour les code de référence $resAllRefCode = []; //Pour chaque ligne foreach ($resAllLigneInventaire as $ligne) { //On récupére l'id du lot $liginvLotId = $ligne->lot_id; //On récupére le lot de la ligne $resLot = LotManager::getLotForUpd($liginvLotId); //On ajoute le lot au tableau de lot $resAllLots[] = $resLot;