From 2fc198bc8e2867150d7f6635808b0a1c5a15bcbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Zieli=C5=84ski?= Date: Wed, 9 Jul 2025 19:49:38 +0200 Subject: [PATCH] Get stock states from all stocks --- .../productionSchedule/productionSchedule.php | 8 ++------ .../productsBySales/productsBySales.php | 12 +++--------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/modules/EcmReports/BimIT-Reports/productionSchedule/productionSchedule.php b/modules/EcmReports/BimIT-Reports/productionSchedule/productionSchedule.php index a368509a..ce4862ad 100644 --- a/modules/EcmReports/BimIT-Reports/productionSchedule/productionSchedule.php +++ b/modules/EcmReports/BimIT-Reports/productionSchedule/productionSchedule.php @@ -60,7 +60,7 @@ function loadSchedulers($dateFrom = null, $dateTo = null, $ids = null) $query = "SELECT s.id as orderId, s.document_no, s.status, s.parent_name, s.parent_id, s.send_date, s.type, p.code, p.name, ps.ecmproduct_id, ps.description, si.quantity, p.vendor_part_no as kind, p.brand, p.part_no as size, p.shape, - ss.quantity as stockState, si.id as item_id, s.shipping_address_name, ps.production_date, + p.ems_qty_in_stock as stockState, si.id as item_id, s.shipping_address_name, ps.production_date, ps.quantity as scheduledQuantity, ps.id as id, ps.main_id, ps_main.ecmproduct_id as main_product_id, @@ -72,8 +72,6 @@ function loadSchedulers($dateFrom = null, $dateTo = null, $ids = null) ON ps.ecmsale_id = s.id INNER JOIN ecmproducts AS p ON ps.ecmproduct_id = p.id - LEFT JOIN ecmstockstates AS ss - ON ss.product_id = ps.ecmproduct_id AND ss.stock_id = 'c7afd71a-4c3a-bde4-138d-4acaee1644e4' LEFT JOIN productionScheduler AS ps_main ON ps.main_id = ps_main.id LEFT JOIN ecmproducts AS p_main @@ -168,11 +166,9 @@ function getRawMaterials($ids) global $app_list_strings; foreach ($rawMaterials as $raw) { $product = $db->fetchByAssoc($db->query(" - SELECT p.id, p.code, p.name, p.group_ks, p.unit_id, ss.quantity as stockState, + SELECT p.id, p.code, p.name, p.group_ks, p.unit_id, p.ems_qty_in_stock as stockState, GROUP_CONCAT(s.stock_address SEPARATOR ', ') AS stock_addresses FROM ecmproducts AS p - LEFT JOIN ecmstockstates AS ss - ON ss.product_id = p.id AND ss.stock_id = '368479db-22c5-0220-3a14-4bc426b1c709' LEFT JOIN ecmproducts_stock_addresses s ON p.id = s.ecmproduct_id WHERE p.id='" . $raw['ecmproduct_id'] . "' GROUP BY p.id diff --git a/modules/EcmReports/BimIT-Reports/productsBySales/productsBySales.php b/modules/EcmReports/BimIT-Reports/productsBySales/productsBySales.php index a1a576ab..8d1e5a48 100644 --- a/modules/EcmReports/BimIT-Reports/productsBySales/productsBySales.php +++ b/modules/EcmReports/BimIT-Reports/productsBySales/productsBySales.php @@ -29,15 +29,13 @@ if (!isset($_GET['ajaxAction'])) { $allQuery = "SELECT s.id, s.document_no, s.status, s.parent_name, s.parent_id, s.send_date, s.type, s.register_date, s.delivery_date, si.code, si.name, si.ecmproduct_id, si.description, si.quantity, p.vendor_part_no as kind, p.brand, p.part_no as size, p.shape, - ss.quantity as stockState, si.id as item_id, s.shipping_address_name, si.production_date, + p.ems_qty_in_stock as stockState, si.id as item_id, s.shipping_address_name, si.production_date, COUNT(ps.id) AS scheduled FROM ecmsaleitems AS si INNER JOIN ecmsales AS s ON s.id = si.ecmsale_id INNER JOIN ecmproducts AS p ON si.ecmproduct_id = p.id - LEFT JOIN ecmstockstates AS ss - ON ss.product_id = si.ecmproduct_id AND ss.stock_id = 'c7afd71a-4c3a-bde4-138d-4acaee1644e4' LEFT JOIN productionScheduler AS ps ON si.id = ps.ecmsaleitem_id AND ps.deleted=0 WHERE s.delivery_date > '$dateFrom'"; @@ -177,13 +175,11 @@ function getComponents($ids, $dateFrom, $dateTo) $rows = $db->query($productsQuery); $componentsData = array(); while ($r = $db->fetchByAssoc($rows)) { - $componentsQuery = "SELECT p.code, p.name, c.quantity, p.unit_id, c.ecmcomponent_id, ss.quantity as stockState, + $componentsQuery = "SELECT p.code, p.name, c.quantity, p.unit_id, c.ecmcomponent_id, p.ems_qty_in_stock as stockState, p.group_ks, COUNT(ps.id) AS scheduled FROM ecmproductcomponents as c INNER JOIN ecmproducts AS p ON p.id = c.ecmcomponent_id - LEFT JOIN ecmstockstates AS ss - ON ss.product_id = p.id AND ss.stock_id = '368479db-22c5-0220-3a14-4bc426b1c709' LEFT JOIN productionScheduler AS ps ON p.id = ps.ecmproduct_id AND ps.is_component = 1 AND ps.deleted=0 WHERE c.ecmproduct_id = '" . $r['ecmproduct_id'] . "' GROUP BY p.id"; @@ -264,10 +260,8 @@ function getRawMaterials($ids, $cids) $componentRawMaterials = getProductRawMaterials($c['ecmcomponent_id'], $c['quantity']); foreach ($componentRawMaterials as $material) { $product = $db->fetchByAssoc($db->query(" - SELECT p.id, p.code, p.name, p.group_ks, p.unit_id, ss.quantity as stockState + SELECT p.id, p.code, p.name, p.group_ks, p.unit_id, p.ems_qty_in_stock as stockState FROM ecmproducts AS p - LEFT JOIN ecmstockstates AS ss - ON ss.product_id = p.id AND ss.stock_id = '368479db-22c5-0220-3a14-4bc426b1c709' WHERE p.id='" . $material['ecmproduct_id'] . "' ")); $ordered = $db->fetchByAssoc($db->query("SELECT SUM(poi.quantity) as ordered, GROUP_CONCAT(poi.ecmpurchaseorder_id SEPARATOR '|') AS orders