From 9dbde4037c68738c41f74bac404a66684f2e84bd Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 12 五月 2026 14:00:32 +0800
Subject: [PATCH] refactor(stock): 优化发货状态更新逻辑,支持批量处理

---
 src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 59 insertions(+), 1 deletions(-)

diff --git a/src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml b/src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml
index 8d23060..2152244 100644
--- a/src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml
+++ b/src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml
@@ -18,5 +18,63 @@
         <result column="create_time" property="createTime" />
         <result column="update_time" property="updateTime" />
     </resultMap>
-
+    <sql id="getPurchaseReturnOrderHasAllInfoFormAndColumn">
+        SELECT
+            pro.*,
+            sm.supplier_name as supplier_name,
+            pl.purchase_contract_number as purchase_contract_number
+        FROM purchase_return_orders pro
+                 LEFT JOIN supplier_manage sm ON pro.supplier_id = sm.id
+                 LEFT JOIN purchase_ledger pl ON pl.id = pro.purchase_ledger_id
+    </sql>
+    <select id="listPage" resultType="com.ruoyi.purchase.dto.PurchaseReturnOrderHasAllInfoDto">
+        <include refid="getPurchaseReturnOrderHasAllInfoFormAndColumn"/>
+        <where>
+        <if test="params.no != null and params.no != '' ">
+            AND pro.no LIKE CONCAT('%',#{params.no},'%')
+        </if>
+        <if test="params.deptId != null">
+            AND pro.dept_id = #{params.deptId}
+        </if>
+        <if test="params.deptIds != null and params.deptIds.length > 0">
+            AND pro.dept_id IN
+            <foreach collection="params.deptIds" item="deptId" open="(" separator="," close=")">
+                #{deptId}
+            </foreach>
+        </if>
+        <if test="params.createUser != null">
+            AND pro.create_user = #{params.createUser}
+        </if>
+        </where>
+        ORDER BY pro.create_time DESC
+    </select>
+    <select id="getPurchaseReturnOrderHasAllInfoById"
+            resultType="com.ruoyi.purchase.dto.PurchaseReturnOrderHasAllInfoDto">
+        <include refid="getPurchaseReturnOrderHasAllInfoFormAndColumn"/>
+        where pro.id = #{id}
+    </select>
+    <select id="listPageAccountPurchaseReturn"
+            resultType="com.ruoyi.account.bean.vo.PurchaseReturnVo">
+         select pro.id,
+                pro.no returnNo,
+                sm.supplier_name,
+                pro.prepared_at,
+                pro.total_amount,
+                CASE pro.return_type WHEN 0 THEN '閫�璐ч��娆�' WHEN 1 THEN '鎷掓敹' END AS returnType,
+                pl.purchase_contract_number
+        from purchase_return_orders pro
+                 left join supplier_manage sm on pro.supplier_id = sm.id
+                 left join purchase_ledger pl on pro.purchase_ledger_id = pl.id
+        where 1=1
+            <if test="req.returnNo != null and req.returnNo != ''">
+                and pro.no like concat('%',#{req.returnNo},'%')
+            </if>
+            <if test="req.supplierName != null and req.supplierName != ''">
+                and sm.supplier_name like concat('%',#{req.supplierName},'%')
+            </if>
+            <if test="req.startDate != null and req.endDate != null">
+                AND DATE_FORMAT(pro.prepared_at, '%Y-%m-%d') BETWEEN #{req.startDate} AND #{req.endDate}
+            </if>
+         order by pro.id DESC
+    </select>
 </mapper>

--
Gitblit v1.9.3