From befe7f238921f08091ba22f8a6c067e9aced28ba Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 04 十一月 2026 11:25:41 +0800
Subject: [PATCH] feat(库存): 库存列表与库存报表支持按采购订单号过滤
---
src/main/resources/mapper/basic/CustomerMapper.xml | 52 +++++++++++++++++++++++++++++++---------------------
1 files changed, 31 insertions(+), 21 deletions(-)
diff --git a/src/main/resources/mapper/basic/CustomerMapper.xml b/src/main/resources/mapper/basic/CustomerMapper.xml
index ffaff4e..24082d2 100644
--- a/src/main/resources/mapper/basic/CustomerMapper.xml
+++ b/src/main/resources/mapper/basic/CustomerMapper.xml
@@ -9,9 +9,9 @@
<select id="listPage" resultType="com.ruoyi.basic.vo.CustomerVo">
select
c.*,
- u.user_name usage_user_name,
+ ifnull(u.nick_name, u.user_name) usage_user_name,
(
- select group_concat(u2.user_name separator ', ')
+ select group_concat(ifnull(u2.nick_name, u2.user_name) separator ', ')
from customer_user cu
left join sys_user u2 on cu.user_id = u2.user_id
where cu.customer_id = c.id
@@ -45,8 +45,9 @@
</if>
<!-- 绉佹捣鏌ヨ锛歵ype = 0锛堢娴峰鎴凤級鎴栬�� type = 1锛堝叕娴峰鎴凤級涓斿凡琚垎閰嶏紝骞朵笖鏄嚜宸遍鐢ㄣ�佽嚜宸卞垱寤烘垨鑰呭叡浜粰鑷繁鐨勫鎴� -->
<if test="c.type != null and c.type == 0">
- and (
- (type = #{c.type} or (type = 1 and is_assigned = 1))
+ and (type = #{c.type} or (type = 1 and is_assigned = 1))
+ <!-- loginUserId 涓虹┖琛ㄧず瓒呯骇绠$悊鍛橈紝涓嶅彈棰嗙敤/鍏变韩鑼冨洿闄愬埗 -->
+ <if test="loginUserId != null">
and (
c.usage_user = #{loginUserId}
or c.create_user = #{loginUserId}
@@ -56,7 +57,7 @@
and cu.user_id = #{loginUserId}
)
)
- )
+ </if>
</if>
</where>
order by c.id desc
@@ -65,9 +66,9 @@
<select id="list" resultType="com.ruoyi.basic.vo.CustomerVo">
select
c.*,
- u.user_name usage_user_name,
+ ifnull(u.nick_name, u.user_name) usage_user_name,
(
- select group_concat(u2.user_name separator ', ')
+ select group_concat(ifnull(u2.nick_name, u2.user_name) separator ', ')
from customer_user cu
left join sys_user u2 on cu.user_id = u2.user_id
where cu.customer_id = c.id
@@ -107,8 +108,9 @@
</if>
<!-- 绉佹捣鏌ヨ锛歵ype = 0锛堢娴峰鎴凤級鎴栬�� type = 1锛堝叕娴峰鎴凤級涓斿凡琚垎閰嶏紝骞朵笖鏄嚜宸遍鐢ㄣ�佽嚜宸卞垱寤烘垨鑰呭叡浜粰鑷繁鐨勫鎴� -->
<if test="c.type != null and c.type == 0">
- and (
- (type = #{c.type} or (type = 1 and is_assigned = 1))
+ and (type = #{c.type} or (type = 1 and is_assigned = 1))
+ <!-- loginUserId 涓虹┖琛ㄧず瓒呯骇绠$悊鍛橈紝涓嶅彈棰嗙敤/鍏变韩鑼冨洿闄愬埗 -->
+ <if test="loginUserId != null">
and (
c.usage_user = #{loginUserId}
or c.create_user = #{loginUserId}
@@ -118,7 +120,7 @@
and cu.user_id = #{loginUserId}
)
)
- )
+ </if>
</if>
</where>
order by c.id desc
@@ -142,7 +144,7 @@
where rm.status=1
group by sl.customer_id
) T4 on T4.customer_id=T1.customer_id
- left join customer c on T1.customer_id = c.id
+ inner join customer c on T1.customer_id = c.id
<where>
<if test="customerName!=null and customerName!=''">
AND c.customer_name LIKE CONCAT('%', #{customerName}, '%')
@@ -161,16 +163,24 @@
IFNULL(T3.returnAmount, 0) AS returnAmount
from sales_ledger sl
left join (
- select
- sl.id,
- sum(ascc.collection_amount) as receiptPaymentAmount
- from account_sales_collection ascc
- left join stock_out_record sor on FIND_IN_SET(sor.id, ascc.stock_out_record_ids) > 0
- left join shipping_info s on sor.record_id = s.id
- LEFT JOIN sales_ledger sl ON s.sales_ledger_id = sl.id
- WHERE sor.record_type='13'
- and sor.approval_status=1
- group by sl.id
+ -- 涓�绗旀敹娆惧彲鑳藉叧鑱斿寮犲嚭搴撳崟锛屽厛鎸夈�屾敹娆惧崟 + 閿�鍞彴璐︺�嶅幓閲嶅啀姹傚拰锛�
+ -- 鍚﹀垯 FIND_IN_SET 灞曞紑鍚庝細鎸夊嚭搴撳崟鏉℃暟鎶婂悓涓�绗旀敹娆鹃噸澶嶇疮鍔�
+ select x.id,
+ sum(x.collection_amount) as receiptPaymentAmount
+ from (
+ select distinct
+ ascc.id as collection_id,
+ ascc.collection_amount,
+ sl.id as id
+ from account_sales_collection ascc
+ left join stock_out_record sor on FIND_IN_SET(sor.id, ascc.stock_out_record_ids) > 0
+ left join shipping_info s on sor.record_id = s.id
+ left join sales_ledger sl on s.sales_ledger_id = sl.id
+ WHERE sor.record_type='13'
+ and sor.approval_status=1
+ ) x
+ where x.id is not null
+ group by x.id
)T1 on T1.id = sl.id
left join (
select sl.id,
--
Gitblit v1.9.3