From 48594bf1b5e60bee258116ca7ce36c2834477ba6 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 09 六月 2026 10:47:51 +0800
Subject: [PATCH] feat(stock): 添加出入库记录的合同号查询功能

---
 src/main/resources/mapper/stock/StockOutRecordMapper.xml |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/src/main/resources/mapper/stock/StockOutRecordMapper.xml b/src/main/resources/mapper/stock/StockOutRecordMapper.xml
index 4b0233d..7970cd3 100644
--- a/src/main/resources/mapper/stock/StockOutRecordMapper.xml
+++ b/src/main/resources/mapper/stock/StockOutRecordMapper.xml
@@ -32,7 +32,12 @@
             WHEN '1' THEN sor.remark
             WHEN '10' THEN sor.remark
             ELSE NULL
-        END as sourceNo
+        END as sourceNo,
+        CASE sor.record_type
+            WHEN '8' THEN sl.sales_contract_no
+            WHEN '13' THEN sl2.sales_contract_no
+            ELSE NULL
+        END as salesContractNo
         FROM stock_out_record as sor
         LEFT JOIN product_model as pm on sor.product_model_id = pm.id
         LEFT JOIN product as p on pm.product_id = p.id
@@ -54,6 +59,10 @@
             </if>
             <if test="params.recordType != null and params.recordType != ''">
                 and sor.record_type = #{params.recordType}
+            </if>
+            <if test="params.salesContractNo != null and params.salesContractNo != ''">
+                and ((sor.record_type = '8' and sl.sales_contract_no like concat('%',#{params.salesContractNo},'%'))
+                    or (sor.record_type = '13' and sl2.sales_contract_no like concat('%',#{params.salesContractNo},'%')))
             </if>
         </where>
         order by sor.id desc
@@ -73,7 +82,12 @@
             WHEN '1' THEN sor.remark
             WHEN '10' THEN sor.remark
             ELSE NULL
-        END as sourceNo
+        END as sourceNo,
+        CASE sor.record_type
+            WHEN '8' THEN sl.sales_contract_no
+            WHEN '13' THEN sl2.sales_contract_no
+            ELSE NULL
+        END as salesContractNo
         FROM stock_out_record as sor
         LEFT JOIN product_model as pm on sor.product_model_id = pm.id
         LEFT JOIN product as p on pm.product_id = p.id
@@ -96,6 +110,10 @@
             <if test="params.recordType != null and params.recordType != ''">
                 and sor.record_type = #{params.recordType}
             </if>
+            <if test="params.salesContractNo != null and params.salesContractNo != ''">
+                and ((sor.record_type = '8' and sl.sales_contract_no like concat('%',#{params.salesContractNo},'%'))
+                    or (sor.record_type = '13' and sl2.sales_contract_no like concat('%',#{params.salesContractNo},'%')))
+            </if>
         </where>
         order by sor.id desc
     </select>

--
Gitblit v1.9.3