Browse Source

Fix repair tools for deleted Doli stock

Mathieu Moulin 1 year ago
parent
commit
75b091e6f1
2 changed files with 15 additions and 8 deletions
  1. 14 5
      src/repair/stock.inc.php
  2. 1 3
      web/repair.php

+ 14 - 5
src/repair/stock.inc.php

@@ -3,10 +3,13 @@
 // Stock supprimé P=>D
 
 if (isset($_GET['deleted'])) {
-	$sql = 'SELECT p.rowid k_product
+	// Produits sans lots stockables
+	$sql = 'SELECT p.rowid k_product, p.ref, p.label, p.fk_default_warehouse
 		FROM llx_product p
 		LEFT JOIN llx_product_stock s ON s.fk_product=p.rowid AND s.fk_entrepot=1
-		WHERE s.rowid IS NULL';
+		WHERE s.rowid IS NULL
+			AND p.tobatch=0
+			AND (p.fk_product_type=0 OR p.stockable_product=1)';
 	$q = DB::d_select($sql);
 	while ($row=$q->fetch_assoc()) {
 		var_dump($row);
@@ -38,15 +41,21 @@ if (isset($_GET['deleted'])) {
 						(rowid, tms, fk_product, fk_entrepot, reel, import_key)
 						VALUES
 						('.$o['d_oid'].', NOW(), '.$row['k_product'].', 1, 0, NULL)';
-					if (isset($_GET['go']))
-						DB::d_insert($sql);
+					if (isset($_GET['go'])) {
+						$ret = DB::d_insert($sql);
+						var_dump($ret);
+					}
 					else
 						echo '<p>'.$sql.'</p>';
 				}
+				else {
+					// @todo Création emplacement de stock standard depuis presta en utilisant l'emplacement de stock par defaut
+					echo '<p>Création emplacement de stock standard depuis presta ?</p>';
+				}
 			}
 		}
 		else {
-			echo '<p>ERREUR MANQUE CORRESPONDANCE LOT</p>';
+			echo '<p>ERREUR MANQUE CORRESPONDANCE LOT : '.$row['ref'].' '.$row['label'].'</p>';
 		}
 	}
 }

+ 1 - 3
web/repair.php

@@ -3,7 +3,5 @@
 require_once "bootstrap.inc.php";
 
 $inc_context = 'repair';
-$inc_options = ['supplier', 'product', 'img', 'product_lot', 'supplier_price', 'order', 'customer', 'address', 'shipping', 'invoice'];
+$inc_options = ['supplier', 'product', 'stock', 'img', 'product_lot', 'supplier_price', 'order', 'customer', 'address', 'shipping', 'invoice'];
 require_once "context_include.inc.php";
-
-$options = ['supplier', 'product', 'img', 'product_lot', 'supplier_price', 'order', 'customer', 'address', 'shipping', 'invoice'];