require 'config.php';
dol_include_once('/expedition/class/expedition.class.php');
dol_include_once('/dispatch/class/dispatchdetail.class.php');
dol_include_once('/product/class/html.formproduct.class.php');
dol_include_once('/core/lib/admin.lib.php');
dol_include_once('/core/lib/sendings.lib.php');
dol_include_once('/core/lib/product.lib.php');
dol_include_once('/asset/class/asset.class.php');
global $langs, $user, $db;
$langs->load('orders');
$PDOdb = new TPDOdb();
$id = GETPOST('id');
$expedition = new Expedition($db);
$expedition->fetch($id);
$action = GETPOST('action');
$TImport = _loadDetail($PDOdb, $expedition);
if (isset($_FILES['file1']) && $_FILES['file1']['name'] != '') {
    $f1 = file($_FILES['file1']['tmp_name']);
    $TImport = array();
    foreach ($f1 as $line) {
        list($ref, $numserie, $imei, $firmware) = str_getcsv($line, ';', '"');
        $TImport = _addExpeditiondetLine($PDOdb, $TImport, $expedition, $numserie);
    }
} else {
    if ($action == 'DELETE_LINE') {
        unset($TImport[(int) GETPOST('k')]);
        $rowid = GETPOST('rowid');
        $dispatchdetail = new TDispatchDetail();
        $dispatchdetail->load($PDOdb, $rowid);
        $dispatchdetail->delete($PDOdb);
        setEventMessage('Ligne supprimée');
    $f1 = file($_FILES['file1']['tmp_name']);
    foreach ($f1 as $line) {
        if (!ctype_space($line)) {
            list($ref, $numserie, $imei, $firmware, $lot_number) = str_getcsv($line, ';', '"');
            $TImport = _addCommandedetLine($PDOdb, $TImport, $commandefourn, $ref, $numserie, $imei, $firmware, $lot_number, $quantity, $quantity_unit, $dluo);
        }
    }
} else {
    if ($action == 'DELETE_LINE') {
        $k = (int) GETPOST('k');
        unset($TImport[$k]);
        $rowid = GETPOST('rowid');
        $recepdetail = new TRecepDetail();
        $recepdetail->load($PDOdb, $rowid);
        $recepdetail->delete($PDOdb);
        $TImport = _loadDetail($PDOdb, $commandefourn);
        setEventMessage('Ligne supprimée');
    } else {
        if ($_POST['ToDispatch']) {
            $ToDispatch = GETPOST('ToDispatch');
            if (!empty($ToDispatch)) {
                foreach ($ToDispatch as $fk_product => $tab) {
                    $product = new Product($db);
                    $product->fetch($fk_product);
                    foreach ($tab as $idline => $null) {
                        $qty = (int) $_POST['TOrderLine'][$idline]['qty'];
                        $fk_warehouse = (int) empty($_POST['TOrderLine'][$idline]['entrepot']) ? GETPOST('id_entrepot') : $_POST['TOrderLine'][$idline]['entrepot'];
                        for ($ii = 0; $ii < $qty; $ii++) {
                            $TImport[] = array('ref' => $product->ref, 'numserie' => '', 'lot_number' => '', 'quantity' => 1, 'quantity_unit' => 0, 'fk_product' => $product->id, 'fk_warehouse' => $fk_warehouse, 'imei' => '', 'firmware' => '', 'dluo' => date('Y-m-d'), 'commande_fournisseurdet_asset' => 0);
                        }
                    }