コード例 #1
0
function _addCommandedetLine(&$PDOdb, &$TImport, &$commandefourn, $refproduit, $numserie, $imei, $firmware, $lot_number, $quantity, $quantity_unit, $dluo = null, $k = null, $entrepot = null)
{
    global $db, $conf, $user;
    //var_dump($_POST['TLine']);exit;
    //Charge le produit associé à l'équipement
    $prodAsset = new Product($db);
    $prodAsset->fetch('', $refproduit);
    //TODO incompréhensible - Cette notion est dispo depuis la 3.9 mettre à jour
    //Récupération de l'indentifiant de la ligne d'expédition concerné par le produit
    foreach ($commandefourn->lines as $commandeline) {
        if ($commandeline->fk_product == $prodAsset->id) {
            $fk_line = $commandeline->id;
        }
    }
    if (!empty($_POST['TLine'][$k])) {
        if ($numserie != $_POST['TLine'][$k]['numserie']) {
            $line_update = true;
        }
    }
    //Sauvegarde (ajout/MAJ) des lignes de détail d'expédition
    $recepdetail = new TRecepDetail();
    //pre($TImport,true);
    $fk_line_receipt = !empty($_POST['TLine'][$k]['commande_fournisseurdet_asset']) ? (int) $_POST['TLine'][$k]['commande_fournisseurdet_asset'] : 0;
    if ($fk_line_receipt > 0) {
        $recepdetail->load($PDOdb, $fk_line_receipt);
        $lineFound = true;
    } else {
        $lineFound = false;
    }
    $keys = array_keys($TImport);
    $rang = $keys[count($keys) - 1];
    $recepdetail->fk_commandedet = $fk_line;
    $recepdetail->fk_product = $prodAsset->id;
    $recepdetail->rang = $rang + 1;
    $recepdetail->set_date('dluo', $dluo ? $dluo : date('Y-m-d H:i:s'));
    $recepdetail->lot_number = $lot_number;
    $recepdetail->weight_reel = $quantity;
    $recepdetail->weight = $quantity;
    $recepdetail->weight_unit = $quantity_unit;
    $recepdetail->weight_reel_unit = $quantity_unit;
    $recepdetail->serial_number = $numserie;
    $recepdetail->imei = $imei;
    $recepdetail->firmware = $firmware;
    $recepdetail->fk_warehouse = $entrepot;
    /*$recepdetail->weight = 1;
    		$recepdetail->weight_reel = 1;
    		$recepdetail->weight_unit = 0;
    		$recepdetail->weight_reel_unit = 0;*/
    $recepdetail->save($PDOdb);
    $currentLine = array('ref' => $prodAsset->ref, 'numserie' => $numserie, 'lot_number' => $lot_number, 'quantity' => $quantity, 'quantity_unit' => $quantity_unit, 'fk_product' => $prodAsset->id, 'fk_warehouse' => $entrepot, 'imei' => $imei, 'firmware' => $firmware, 'dluo' => $recepdetail->get_date('dluo', 'Y-m-d H:i:s'), 'commande_fournisseurdet_asset' => $recepdetail->getId());
    //Rempli le tableau utilisé pour l'affichage des lignes
    $lineFound ? $TImport[$k] = $currentLine : ($TImport[] = $currentLine);
    return $TImport;
}
コード例 #2
0
<?php

/*
 * Script créant et vérifiant que les champs requis s'ajoutent bien
 * 
 */
if (!defined('INC_FROM_DOLIBARR')) {
    define('INC_FROM_CRON_SCRIPT', true);
    require '../config.php';
    $PDOdb = new TPDOdb();
    $PDOdb->debug = true;
} else {
    $PDOdb = new TPDOdb();
}
dol_include_once('/dispatch/class/dispatchdetail.class.php');
dol_include_once('/dispatch/class/dispatchasset.class.php');
dol_include_once('/asset/class/asset.class.php');
$o = new TDispatchDetail();
$o->init_db_by_vars($PDOdb);
$o = new TRecepDetail();
$o->init_db_by_vars($PDOdb);
$o = new TDispatch();
$o->init_db_by_vars($PDOdb);
$o = new TDispatchAsset();
$o->init_db_by_vars($PDOdb);