From 8213756c37c00c9f11bcf15d1d11ae371bb4776f Mon Sep 17 00:00:00 2001 From: atm-greg Date: Tue, 24 May 2022 16:49:55 +0200 Subject: [PATCH 1/2] fix sql to avoid getting product_stock of another product with same batch --- htdocs/product/class/productbatch.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/product/class/productbatch.class.php b/htdocs/product/class/productbatch.class.php index 05cfd7523e0..f81cf8f326a 100644 --- a/htdocs/product/class/productbatch.class.php +++ b/htdocs/product/class/productbatch.class.php @@ -534,6 +534,7 @@ class Productbatch extends CommonObject $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_stock AS ps ON ps.rowid = pb.fk_product_stock"; $sql .= " WHERE p.entity IN (".getEntity('product').")"; $sql .= " AND pl.fk_product = ".$fk_product; + $sql .= " AND ps.fk_product = ".$fk_product; if ($fk_warehouse > 0) { $sql .= " AND ps.fk_entrepot = ".$fk_warehouse; } From 6f83c8c6f33480ea5c6772e54ad998298ac8b64e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 24 May 2022 21:22:14 +0200 Subject: [PATCH 2/2] Update productbatch.class.php --- htdocs/product/class/productbatch.class.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/htdocs/product/class/productbatch.class.php b/htdocs/product/class/productbatch.class.php index f81cf8f326a..3093403d813 100644 --- a/htdocs/product/class/productbatch.class.php +++ b/htdocs/product/class/productbatch.class.php @@ -531,12 +531,11 @@ class Productbatch extends CommonObject $sql .= " FROM ".MAIN_DB_PREFIX."product_lot as pl"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON p.rowid = pl.fk_product"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_batch AS pb ON pl.batch = pb.batch"; - $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_stock AS ps ON ps.rowid = pb.fk_product_stock"; + $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_stock AS ps ON ps.rowid = pb.fk_product_stock AND ps.fk_product = ".((int) $fk_product); $sql .= " WHERE p.entity IN (".getEntity('product').")"; - $sql .= " AND pl.fk_product = ".$fk_product; - $sql .= " AND ps.fk_product = ".$fk_product; + $sql .= " AND pl.fk_product = ".((int) $fk_product); if ($fk_warehouse > 0) { - $sql .= " AND ps.fk_entrepot = ".$fk_warehouse; + $sql .= " AND ps.fk_entrepot = ".((int) $fk_warehouse); } if ($qty_min !== null) { $sql .= " AND pb.qty > ".$qty_min;