From 1b88731ade853a0c911894d0e98242a9db2ac052 Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期一, 29 六月 2026 17:34:33 +0800
Subject: [PATCH] feat(stock): 原材料检测入库也要显示采购的信息

---
 src/main/resources/mapper/stock/StockInRecordMapper.xml |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/src/main/resources/mapper/stock/StockInRecordMapper.xml b/src/main/resources/mapper/stock/StockInRecordMapper.xml
index 04df5e5..795c107 100644
--- a/src/main/resources/mapper/stock/StockInRecordMapper.xml
+++ b/src/main/resources/mapper/stock/StockInRecordMapper.xml
@@ -9,12 +9,17 @@
         pm.model,
         pm.unit,
         u.nick_name as createBy,
-        pl.purchase_contract_number as purchaseContractNumber
+        COALESCE(pl.purchase_contract_number,
+        t6.purchase_contract_number) AS purchaseContractNumber
         FROM stock_in_record as sir
         LEFT JOIN product_model as pm on sir.product_model_id = pm.id
         LEFT JOIN product as p on pm.product_id = p.id
         LEFT JOIN sys_user as u on sir.create_user = u.user_id
         LEFT JOIN purchase_ledger as pl on sir.record_id = pl.id and sir.record_type = '7'
+        left join (SELECT qi.id, pl.purchase_contract_number
+        FROM quality_inspect qi
+        LEFT JOIN purchase_ledger pl ON pl.id = qi.purchase_ledger_id) as t6
+        on t6.id = sir.record_id and sir.record_type = '6'
         <where>
             <if test="params.timeStr != null and params.timeStr != ''">
                 and sir.create_time like concat('%',#{params.timeStr},'%')
@@ -29,7 +34,7 @@
                 and sir.record_type = #{params.recordType}
             </if>
             <if test="params.purchaseContractNumber != null and params.purchaseContractNumber != ''">
-                and pl.purchase_contract_number like concat('%',#{params.purchaseContractNumber},'%')
+                and (pl.purchase_contract_number like concat('%',#{params.purchaseContractNumber},'%') OR t6.purchase_contract_number like concat('%',#{params.purchaseContractNumber},'%') )
             </if>
         </where>
         order by sir.id desc
@@ -41,12 +46,17 @@
         pm.model,
         pm.unit,
         u.nick_name as createBy,
-        pl.purchase_contract_number as purchaseContractNumber
+        COALESCE(pl.purchase_contract_number,
+        t6.purchase_contract_number) AS purchaseContractNumber
         FROM stock_in_record as sir
         LEFT JOIN product_model as pm on sir.product_model_id = pm.id
         LEFT JOIN product as p on pm.product_id = p.id
         LEFT JOIN sys_user as u on sir.create_user = u.user_id
         LEFT JOIN purchase_ledger as pl on sir.record_id = pl.id and sir.record_type = '7'
+        left join (SELECT qi.id, pl.purchase_contract_number
+        FROM quality_inspect qi
+        LEFT JOIN purchase_ledger pl ON pl.id = qi.purchase_ledger_id) as t6
+        on t6.id = sir.record_id and sir.record_type = '6'
         <where>
             <if test="params.timeStr != null and params.timeStr != ''">
                 and sir.create_time like concat('%',#{params.timeStr},'%')
@@ -61,7 +71,7 @@
                 and sir.record_type = #{params.recordType}
             </if>
             <if test="params.purchaseContractNumber != null and params.purchaseContractNumber != ''">
-                and pl.purchase_contract_number like concat('%',#{params.purchaseContractNumber},'%')
+                and (pl.purchase_contract_number like concat('%',#{params.purchaseContractNumber},'%') OR t6.purchase_contract_number like concat('%',#{params.purchaseContractNumber},'%') )
             </if>
         </where>
         order by sir.id desc

--
Gitblit v1.9.3