diff --git a/htdocs/core/modules/import/import_csv.modules.php b/htdocs/core/modules/import/import_csv.modules.php
index 2e9e4124c7ae3..cd683c04cea9f 100644
--- a/htdocs/core/modules/import/import_csv.modules.php
+++ b/htdocs/core/modules/import/import_csv.modules.php
@@ -1034,7 +1034,6 @@ public function import_insert($arrayrecord, $array_match_file_to_database, $obji
}
}
}
-
// Update not done, we do insert
if (!$error && !$updatedone) {
// We db escape social network field because he isn't in field creation
@@ -1051,6 +1050,7 @@ public function import_insert($arrayrecord, $array_match_file_to_database, $obji
$sqlstart .= ", entity";
$sqlend .= ", ".$conf->entity;
}
+
if (!empty($objimport->array_import_tables_creator[0][$alias])) {
$sqlstart .= ", ".$objimport->array_import_tables_creator[0][$alias];
$sqlend .= ", ".$user->id;
diff --git a/htdocs/core/modules/modStock.class.php b/htdocs/core/modules/modStock.class.php
index 34365f2d71f29..6b5310650ca4f 100644
--- a/htdocs/core/modules/modStock.class.php
+++ b/htdocs/core/modules/modStock.class.php
@@ -529,6 +529,46 @@ public function __construct($db)
$this->import_run_sql_after_array[$r] = array( // Because we may change data that are denormalized, we must update dernormalized data after.
'UPDATE '.MAIN_DB_PREFIX.'product as p SET stock = (SELECT SUM(ps.reel) FROM '.MAIN_DB_PREFIX.'product_stock ps WHERE ps.fk_product = p.rowid);'
);
+
+ // Import des stocks avec numéro de lot/série
+ $r++;
+ $this->import_code[$r] = $this->rights_class.'_'.$r;
+ $this->import_label[$r] = "Stocks Sérialisés"; // Translation key
+ $this->import_icon[$r] = "stock";
+ $this->import_entities_array[$r] = array();
+ $this->import_tables_array[$r] = array('pb' => MAIN_DB_PREFIX.'product_batch', 'pl' => MAIN_DB_PREFIX.'product_lot', 'ps' => MAIN_DB_PREFIX.'product_stock');
+ $this->import_fields_array[$r] = array(
+ 'ps.fk_product' => "Product*",
+ 'ps.fk_entrepot' => "Warehouse*",
+ 'ps.reel' => "Stock*",
+ 'pl.batch' => "Batch Number"
+ );
+
+ $this->import_convertvalue_array[$r] = array(
+ 'ps.fk_product' => array('rule' => 'fetchidfromref', 'classfile' => '/product/class/product.class.php', 'class' => 'Product', 'method' => 'fetch', 'element' => 'product'),
+ 'ps.fk_entrepot' => array('rule' => 'fetchidfromref', 'classfile' => '/product/stock/class/entrepot.class.php', 'class' => 'Entrepot', 'method' => 'fetch', 'element' => 'ref'),
+ 'pl.batch' => array('rule' => 'noimport')
+ );
+
+ $this->import_examplevalues_array[$r] = array(
+ 'ps.fk_product' => "id or ref of product",
+ 'ps.fk_entrepot' => "id or ref of warehouse",
+ 'ps.reel' => "10",
+ 'pl.batch' => "LOT12345"
+ );
+
+ $this->import_updatekeys_array[$r] = array(
+ 'ps.fk_product' => 'Product',
+ 'ps.fk_entrepot' => "Warehouse",
+ 'pl.batch' => "Batch Number"
+ );
+
+ $this->import_run_sql_after_array[$r] = array(
+ // Mettre à jour le stock total du produit
+ 'UPDATE '.MAIN_DB_PREFIX.'product as p SET stock = (SELECT SUM(ps.reel) FROM '.MAIN_DB_PREFIX.'product_stock ps WHERE ps.fk_product = p.rowid);',
+ );
+
+
}
diff --git a/htdocs/imports/import.php b/htdocs/imports/import.php
index cd38df7e97d3f..ff2457d71cce3 100644
--- a/htdocs/imports/import.php
+++ b/htdocs/imports/import.php
@@ -1914,7 +1914,6 @@
'lib' => implode("
", array_merge([$hookmanager->error], $hookmanager->errors))
];
}
-
if (empty($reshook)) {
// Run import
$result = $obj->import_insert($arrayrecord, $array_match_file_to_database, $objimport, count($fieldssource), $importid, $updatekeys);
@@ -1951,7 +1950,9 @@
$i = 0;
foreach ($objimport->array_import_run_sql_after[0] as $sqlafterimport) {
$i++;
+ print $sqlafterimport . '
';
$resqlafterimport = $db->query($sqlafterimport);
+ var_dump($resqlafterimport);
if (!$resqlafterimport) {
$arrayoferrors['none'][] = array('lib' => $langs->trans("Error running final request: ".$sqlafterimport));
$error++;
@@ -1979,7 +1980,6 @@
}
// Show Errors
- //var_dump($arrayoferrors);
if (count($arrayoferrors)) {
print img_error().' '.$langs->trans("ErrorsOnXLines", count($arrayoferrors)).'
';
print '
| '; diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 19b3a2681c77e..9317e4ae4e18c 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -3012,7 +3012,6 @@ public function fetch($id = 0, $ref = '', $ref_ext = '', $barcode = '', $ignore_ $sql .= ", p.stock"; } } - $resql = $this->db->query($sql); if ($resql) { unset($this->oldcopy); |