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 |   51 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 49 insertions(+), 2 deletions(-)

diff --git a/src/main/resources/mapper/stock/StockInRecordMapper.xml b/src/main/resources/mapper/stock/StockInRecordMapper.xml
index 0eee4f3..795c107 100644
--- a/src/main/resources/mapper/stock/StockInRecordMapper.xml
+++ b/src/main/resources/mapper/stock/StockInRecordMapper.xml
@@ -5,14 +5,21 @@
     <select id="listPage" resultType="com.ruoyi.stock.dto.StockInRecordDto">
         SELECT
         sir.*,
-        p.product_name as productName,
+        p.product_name as product_name,
         pm.model,
         pm.unit,
-        u.nick_name as createBy
+        u.nick_name as createBy,
+        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},'%')
@@ -26,6 +33,46 @@
             <if test="params.recordType != null and params.recordType != ''">
                 and sir.record_type = #{params.recordType}
             </if>
+            <if test="params.purchaseContractNumber != null and 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
+    </select>
+    <select id="listStockInRecordExportData" resultType="com.ruoyi.stock.execl.StockInRecordExportData">
+        SELECT
+        sir.*,
+        p.product_name as product_name,
+        pm.model,
+        pm.unit,
+        u.nick_name as createBy,
+        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},'%')
+            </if>
+            <if test="params.productName != null and params.productName != ''">
+                and p.product_name like concat('%',#{params.productName},'%')
+            </if>
+            <if test="params.type != null and params.type != ''">
+                and sir.type = #{params.type}
+            </if>
+            <if test="params.recordType != null and params.recordType != ''">
+                and sir.record_type = #{params.recordType}
+            </if>
+            <if test="params.purchaseContractNumber != null and 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
     </select>

--
Gitblit v1.9.3