From b83811618d78d7a9832b325334b7a35cd6a3b64b Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 08 六月 2026 13:21:01 +0800
Subject: [PATCH] 采购台账手动入库,保存差额;入库审核 重新计算含水量

---
 src/main/resources/mapper/stock/StockInRecordMapper.xml |   34 +++++++++++++++++++++++++++++++---
 1 files changed, 31 insertions(+), 3 deletions(-)

diff --git a/src/main/resources/mapper/stock/StockInRecordMapper.xml b/src/main/resources/mapper/stock/StockInRecordMapper.xml
index a3bf3f9..b46ffc6 100644
--- a/src/main/resources/mapper/stock/StockInRecordMapper.xml
+++ b/src/main/resources/mapper/stock/StockInRecordMapper.xml
@@ -16,6 +16,10 @@
         )
         SELECT
         sir.*,
+        CASE
+            WHEN sir.theory_stock_in_num IS NULL THEN NULL
+            ELSE sir.theory_stock_in_num - sir.stock_in_num
+        END AS differenceNum,
         p.product_name as product_name,
         pm.model,
         pm.unit,
@@ -137,6 +141,10 @@
     <select id="listStockInRecordExportData" resultType="com.ruoyi.stock.execl.StockInRecordExportData">
         SELECT
         sir.*,
+        CASE
+            WHEN sir.theory_stock_in_num IS NULL THEN NULL
+            ELSE sir.theory_stock_in_num - sir.stock_in_num
+        END AS differenceNum,
         p.product_name as product_name,
         pm.model,
         pm.unit,
@@ -169,6 +177,12 @@
             DATE(sir.create_time) AS inboundDate,
             p.product_name,
             pm.model as specification_model,
+            sir.theory_stock_in_num,
+            sir.stock_in_num,
+            CASE
+                WHEN sir.theory_stock_in_num IS NULL THEN NULL
+                ELSE sir.theory_stock_in_num - sir.stock_in_num
+            END AS differenceNum,
             sir.stock_in_num * slp.tax_inclusive_unit_price AS InboundAmount,
             pl.purchase_contract_number
             FROM stock_in_record sir
@@ -177,12 +191,26 @@
             -- 鍔ㄦ�佸叧鑱旈噰璐紙鑷姩閫傞厤 7 鍜� 10锛�
             LEFT JOIN purchase_ledger pl
             ON pl.id = IF(sir.record_type = 7, sir.record_id, qi.purchase_ledger_id)
-            -- 浜у搧鍏宠仈涓嶅姩
-            LEFT JOIN sales_ledger_product slp ON pl.id = slp.sales_ledger_id
+            LEFT JOIN sales_ledger_product slp
+                ON slp.type = 2
+                AND (
+                    (sir.record_type = 7
+                        AND slp.sales_ledger_id = pl.id
+                        AND (
+                            (sir.batch_no IS NOT NULL AND sir.batch_no LIKE CONCAT('%-', slp.id))
+                            OR (sir.batch_no IS NULL AND slp.product_model_id = sir.product_model_id)
+                        )
+                    )
+                    OR
+                    (sir.record_type = 10
+                        AND slp.sales_ledger_id = pl.id
+                        AND slp.product_model_id = sir.product_model_id
+                    )
+                )
             LEFT JOIN product_model pm ON sir.product_model_id = pm.id
             LEFT JOIN product p ON pm.product_id = p.id
             -- 鏉′欢
-        WHERE sir.approval_status = 1 AND slp.type = 2
+        WHERE sir.approval_status = 1
         AND sir.record_type IN ('7','10')
         <if test="req.inboundBatches != null and req.inboundBatches != ''">
             AND sir.inbound_batches LIKE CONCAT('%',#{req.inboundBatches},'%')

--
Gitblit v1.9.3