private function addCommandeFourn(&$PDOdb, $ofLigne, $resultatSQL) { global $db, $user; dol_include_once("fourn/class/fournisseur.commande.class.php"); // On cherche s'il existe une commande pour ce fournisseur $sql = "SELECT rowid"; $sql .= " FROM " . MAIN_DB_PREFIX . "commande_fournisseur"; $sql .= " WHERE fk_soc = " . $resultatSQL->fk_soc; $sql .= " AND fk_statut = 0"; //uniquement brouillon $sql .= " ORDER BY rowid DESC"; $sql .= " LIMIT 1"; $resql = $db->query($sql); $res = $db->fetch_object($resql); if ($res) { // Il existe une commande, on la charge $com = new CommandeFournisseur($db); $com->fetch($res->rowid); } else { // Il n'existe aucune commande pour ce fournisseur donc on en crée une nouvelle $com = new CommandeFournisseur($db); $com->socid = $resultatSQL->fk_soc; $com->create($user); } // On cherche si ce produit existe déjà dans la commande, si oui, : "updateline" foreach ($com->lines as $line) { if ($line->fk_product == $resultatSQL->fk_product) { $com->updateline($line->id, $line->desc, $line->subprice, $line->qty + $ofLigne->qty, $line->remise_percent, $line->tva_tx); $done = true; break; } } if (!$done) { // Si le produit n'existe pas déjà dans la commande, on l'ajoute à cette commande $com->addline($desc, $resultatSQL->price / $resultatSQL->quantity, $ofLigne->qty, $txtva, 0, 0, $resultatSQL->fk_product, $resultatSQL->rowid); } //Création association element_element entre la commande fournisseur et l'OF $this->addElementElement($PDOdb, $com, $ofLigne); }