From 296d947bd26875babc2e581d7a787b3d50728078 Mon Sep 17 00:00:00 2001 From: Emmanuel Haguet Date: Wed, 21 Jan 2015 16:25:13 +0100 Subject: [PATCH] Corrections (fichier, calcul de ref) --- scripts/pixium/import_fournisseur.php | 2 +- scripts/pixium/import_produit.php | 45 ++++++++++++++++----------- 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/scripts/pixium/import_fournisseur.php b/scripts/pixium/import_fournisseur.php index c0203665176..77e45efabc6 100644 --- a/scripts/pixium/import_fournisseur.php +++ b/scripts/pixium/import_fournisseur.php @@ -3,7 +3,7 @@ * Script d'import des fournisseurs depuis le fichier data.csv * @author Emmanuel Haguet */ -const CSV_FILENAME = "fournisseurs_et_produit.csv"; +const CSV_FILENAME = "fournisseurs_et_produits.csv"; const CSV_SEPARATOR = ','; const NB_MIN_COLONNE = 5; const USERNAME = 'dolibarr'; diff --git a/scripts/pixium/import_produit.php b/scripts/pixium/import_produit.php index 286f82fbcf3..7a9a99cd0ab 100644 --- a/scripts/pixium/import_produit.php +++ b/scripts/pixium/import_produit.php @@ -1,9 +1,9 @@ */ -const CSV_FILENAME = "fournisseurs_et_produit.csv"; +const CSV_FILENAME = "fournisseurs_et_produits.csv"; const CSV_SEPARATOR = ','; const NB_MIN_COLONNE = 5; const USERNAME = 'dolibarr'; @@ -20,10 +20,16 @@ function getRefOfProduct($name) { global $db; $resql = $db->query("SELECT * FROM ".MAIN_DB_PREFIX."product - WHERE ref LIKE '".$name."_%' + WHERE ref LIKE '".$name."\_%' ORDER BY ref desc"); $obj = $db->fetch_object($resql); - return $name . '_' . ($obj) ? (substr(strstr($obj->ref, '_'), 1) +1) : 0; + if ($obj) { + $num = substr(strstr($obj->ref, '_'), 1); + $num++; + } else { + $num = 0; + } + return $name . '_' . str_pad($num, 4, '0', STR_PAD_LEFT); } /** @@ -34,12 +40,11 @@ function getRefOfProduct($name) { */ function multiexplode($delimiters, $string) { $ready = str_replace($delimiters, $delimiters[0], $string); - $launch = explode($delimiters[0], $ready); - return $launch; + return explode($delimiters[0], $ready); } -function constructRef($libelle_produit) { - $ref = ''; +function constructRefLetter($libelle_produit) { + $ref = ''; //init $i = 0; $parts_ref = multiexplode(array(' ', '-'), $libelle_produit); foreach ($parts_ref as $part_ref) { @@ -60,41 +65,43 @@ function import($data) { } $name = ucfirst($data[1]); if (empty($name)) { + //echo "Nom vide"; return; } $libelle_produit = $data[2]; - $ref = getRefOfProduct(constructRef($libelle_produit)); + $ref_letter = constructRefLetter($libelle_produit); + $ref = getRefOfProduct($ref_letter); /*echo " $name $libelle_produit - $ref - ";*/ + $ref";*/ $product = new Product($db); $product->ref = $ref; $product->libelle = $name; - - //Important : tosell, tobuy - $product->status = 0; - $product->status_buy = 1; + $product->status = 0; //tosell + $product->status_buy = 1; //tobuy $user = new User($db); $user->fetch('', USERNAME); $returnvalue = $product->create($user); + //echo ""; if ($returnvalue >= 0) { - echo 'OK '; + //echo 'OK'; } else { - //TODO : Meilleur gestion des messages d'erreur - echo 'KO '; + //echo 'KO'; } + + //echo ""; } //$csv = array_map('str_getcsv', file(CSV_FILENAME)); -/*echo ""; +/* +echo "
"; echo "
name libelle_produit