//Tableau pour les lignes $resLignes = []; //Tableau pour les lots $resAllLots = []; //tableau pour les lots $resAllLotsBons = []; //Tableau pour les reférénces $resAllRefs = []; //Tableaux pour les droits de douanes $resAllDds = []; //Pour chaque be_ligne foreach ($resAllBeLigneBE as $beLigne) { //On récupére l'id de ligne $ligId = $beLigne->lig_id; //On récupére les infos de la ligne $ligne = LigneManager::getLigneDetailForUpd($ligId); //On ajoute la ligne retourné au tableau de ligne $resLignes[] = $ligne; //On récupére l'id du lot $lotId = $ligne->lot_id; //On recherche ses occurences associé à la table bon $lotBon = BonLigneManager::getBonLignesFromLot($lotId); //Si le tableau est définie, au moins une occurence est trouvé if (is_array($lotBon)) { //Dans ce cas on stock l'id du lot dans le tableau, //dans le formulaire si on trouve l'id du lot dans le tableau //on désactive la checkbox de suppression $resAllLotsBons[] = $lotId; } //On récupére les infos du lot $lot = LotManager::getLotForUpd($lotId);
$tabLigCom = $_REQUEST['ligCom']; $tabLigAdd = array('lot_id' => $tabLotId, 'lig_qte' => $tabLigQte, 'lig_com' => $tabLigCom, 'lig_com_dep' => $tabLigDepot); //Toujours la même chose. //On boucle sur le tableau en commençant à 1 //pour éviter la ligne caché servant de modèle aux autres lignes //Toute cette étape sera répété pour autant de ligne contenue dans nos tableau //Ici on se base sur lot_id pour définir la taille //mais n'importe quelle tableau contenue par $tabLigAdd ferait l'affaire for ($i = 1; $i < count($tabLigAdd['lot_id']); $i++) { $oLig = new Ligne(); $oLig->lot_id = $tabLigAdd['lot_id'][$i]; $oLig->lig_qte = $tabLigAdd['lig_qte'][$i]; $oLig->lig_com = $tabLigAdd['lig_com'][$i]; $oLig->lig_com_dep = $tabLigAdd['lig_com_dep'][$i]; //On ajoute la ligne $resLig = LigneManager::addLigne($oLig); //On récupère l'id de la ligne $idLig = Connection::dernierId(); //On selectionne le lot à mettre à jour $oLot = LotManager::getLotForUpd($oLig->lot_id); //On met à jour la qté stock lot $lotCurQteStk = $oLot->lot_qt_stock; $oLot->lot_qt_stock = $lotCurQteStk + $oLig->lig_qte; //On appel le manager pour appliquer la modification //Pas besoin de controler les qtés. //Les valeurs sont controlées par un trigger dans la base $resLot = LotManager::updQteLot($oLot); //Enfin on créé notre BonLigne $oBonLig = new BonLigne(); $oBonLig->lig_id = $idLig; $oBonLig->bon_id = $idBon;
//On récupére toutes les ligne du bon $resAllBonLignes = BeLigneManager::getBesLignesBeId($beId); //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($resAllBonLignes)) { //Tableau pour les lignes $resLignes = []; //Tableau pour les lots $resAllLots = []; //Tableau pour les reférénces $resAllRefs = []; //Pour chaque bon_ligne foreach ($resAllBonLignes as $beLigne) { //On récupére l'id de ligne $ligId = $beLigne->lig_id; //On récupére les infos de la ligne $ligne = LigneManager::getLigneDetail($ligId); //On ajoute la ligne retourné au tableau de ligne $resLignes[] = $ligne; //On récupére l'id du lot $lotId = $ligne->lot_id; //On récupére les infos du lot $lot = LotManager::getLot($lotId); //On ajoute le lot retourné au tableau de lot $resAllLots[] = $lot; //On récupére l'id de la référence $refid = $lot->ref_id; //On récupére les infos de la référence $ref = ReferenceManager::getReference($refid); //On ajoute la référence retournée au tableau de référence $resAllRefs[] = $ref; }
$oLot->lot_id_producteur = $tLigneForm['lot_id_producteur'][$i]; $oLot->lot_dlc = $tLigneForm['lot_dlc'][$i]; $oLot->lot_qt_stock = $tLigneForm['lot_qt_stock'][$i]; $oLot->lot_qt_init = $tLigneForm['lot_qt_init'][$i]; //Insert du lot dans la table lot LotManager::addLot($oLot); //On récupére l'id du lot inséré $idLot = Connection::dernierId(); //On hydrate un objet Ligne $oLigne = new Ligne(); $oLigne->lot_id = $idLot; $oLigne->lig_qte = $tLigneForm['lig_qte'][$i]; $oLigne->lig_com_dep = $tLigneForm['lig_com_dep'][$i]; $oLigne->lig_com = $tLigneForm['lig_com'][$i]; //Insert de la ligne dans la table ligne LigneManager::addLigne($oLigne); //On récupére l'id de la ligne inséré $idLigne = Connection::dernierId(); //On hydrate un objet beligne $oBeLigne = new BeLigne(); //On hydrate l'objet BeLigne $oBeLigne->lig_id = $idLigne; $oBeLigne->be_id = $idBe; $oBeLigne->belig_pu = $tLigneForm['belig_pu'][$i]; $oBeLigne->belig_cu_achat = $tLigneForm['belig_cu_achat'][$i]; $oBeLigne->belig_fb = $tLigneForm['belig_fb'][$i]; $oBeLigne->belig_ft = $tLigneForm['belig_ft'][$i]; $oBeLigne->belig_dd = $tLigneForm['belig_dd'][$i]; $oBeLigne->belig_taxe = $tLigneForm['belig_taxe'][$i]; //on insert l'objet BeLigne dans la table be_ligne BeLigneManager::addBeLigne($oBeLigne);