function _addExpeditiondetLine(&$PDOdb, &$TImport, &$expedition, $numserie) { global $db; //Charge l'asset lié au numéro de série dans le fichier $asset = new TAsset(); if ($asset->loadBy($PDOdb, $numserie, 'serial_number')) { //Charge le produit associé à l'équipement $prodAsset = new Product($db); $prodAsset->fetch($asset->fk_product); $fk_line_expe = (int) GETPOST('lineexpeditionid'); if (empty($fk_line_expe)) { //Récupération de l'indentifiant de la ligne d'expédition concerné par le produit foreach ($expedition->lines as $expeline) { if ($expeline->fk_product == $prodAsset->id) { $fk_line_expe = $expeline->line_id; } } } //Sauvegarde (ajout/MAJ) des lignes de détail d'expédition $dispatchdetail = new TDispatchDetail(); //Si déjà existant => MAj $PDOdb->Execute("SELECT rowid FROM " . MAIN_DB_PREFIX . "expeditiondet_asset WHERE fk_asset = " . $asset->rowid . " AND fk_expeditiondet = " . $fk_line_expe . " "); if ($PDOdb->Get_line()) { $dispatchdetail->load($PDOdb, $PDOdb->Get_field('rowid')); } $keys = array_keys($TImport); $rang = $keys[count($keys) - 1]; $dispatchdetail->fk_expeditiondet = $fk_line_expe; $dispatchdetail->fk_asset = $asset->rowid; $dispatchdetail->rang = $rang; $dispatchdetail->lot_number = $asset->lot_number; $dispatchdetail->weight = GETPOST('quantity') ? GETPOST('quantity') : $asset->contenancereel_value; $dispatchdetail->weight_reel = GETPOST('quantity') ? GETPOST('quantity') : $asset->contenancereel_value; $dispatchdetail->weight_unit = $asset->contenancereel_units; $dispatchdetail->weight_reel_unit = $asset->contenancereel_units; $dispatchdetail->save($PDOdb); //Rempli le tableau utilisé pour l'affichage des lignes $TImport[] = array('ref' => $prodAsset->ref, 'numserie' => $numserie, 'fk_product' => $prodAsset->id, 'fk_expeditiondet' => $expedition->id, 'lot_number' => $asset->lot_number, 'quantity' => GETPOST('quantity') ? GETPOST('quantity') : $asset->contenancereel_value, 'quantity_unit' => GETPOST('quantity') ? GETPOST('quantity') : $asset->contenancereel_units); } //pre($TImport,true); return $TImport; }