From 6d6a1110a58edd79c70c4bca17f4b5656af74201 Mon Sep 17 00:00:00 2001 From: Codex Date: Tue, 13 Oct 2026 14:20:10 +0800 Subject: [PATCH] fix: calculate packaging suggested quantity from supply --- static/js/app.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/static/js/app.js b/static/js/app.js index 9c78e5b..3e917b8 100644 --- a/static/js/app.js +++ b/static/js/app.js @@ -18229,7 +18229,8 @@ function pendingDetail(productCode) { container.innerHTML = '
暂无包材物料清单
'; return; } - var formalQty = item.formal_order_qty || 0; + var productSuggestedQty = Number(item.suggested_qty) || 0; + var productInTransit = (Number(p['生产在途']) || 0) + (Number(p['采购在途']) || 0); // 读取已保存的包材实际下单数量 var savedBomActuals = {}; var savedBomRemarks = {}; @@ -18262,8 +18263,13 @@ function pendingDetail(productCode) { ''; bom.forEach(function(b) { var matCode = escHtml(b.material_code || ''); - var qty = b.bom_qty || 0; - var orderQty = Math.ceil(formalQty * qty); + var qty = Number(b.bom_qty) || 0; + var orderQty = Math.max(0, Math.ceil( + (productSuggestedQty - productInTransit) * qty + - (Number(b.available_qty) || 0) + - (Number(b.production_in_transit) || 0) + - (Number(b.purchase_in_transit) || 0) + )); // 使用已保存的实际下单数量(包括0),没有保存则用建议值 var actualQty = b.material_code in savedBomActuals ? (savedBomActuals[b.material_code] || 0) : orderQty; tableHtml += '' +