From f5cc69d226d73878bfb9a67b3835ff1842732ffe Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 23 六月 2026 11:15:23 +0800
Subject: [PATCH] 1.质检规则优化
---
src/main/resources/mapper/sales/SalesLedgerMapper.xml | 31 +++++++++++++++++++++++++++++--
1 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/src/main/resources/mapper/sales/SalesLedgerMapper.xml b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
index 712fd9b..b4562d0 100644
--- a/src/main/resources/mapper/sales/SalesLedgerMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
@@ -45,6 +45,7 @@
<select id="selectSalesLedgerListPage" resultType="com.ruoyi.sales.vo.SalesLedgerVo">
SELECT T1.id,
T1.sales_contract_no,
+ T1.master_contract_no,
T1.customer_contract_no,
T1.project_name,
T1.entry_date,
@@ -62,7 +63,15 @@
T1.payment_method,
T1.delivery_date,
DATEDIFF(T1.delivery_date, CURDATE()) AS delivery_days_diff,
- IFNULL(shipping_status_counts.is_all_shipped, FALSE) AS is_fh
+ IFNULL(shipping_status_counts.is_all_shipped, FALSE) AS is_fh,
+ T3.purchase_contract_number,
+ T3.master_contract_no AS purchaseMasterContractNo,
+ IFNULL(rs.total_return_num, 0) AS returnedQuantity,
+ CASE
+ WHEN IFNULL(rs.total_return_num, 0) = 0 THEN '鏃犻��璐�'
+ WHEN IFNULL(rs.total_return_num, 0) >= IFNULL(shipping_qty.total_qty, 0) THEN '鍏ㄩ儴閫�璐�'
+ ELSE '閮ㄥ垎閫�璐�'
+ END AS returnStatus
FROM sales_ledger T1
LEFT JOIN sys_user T2 ON T1.entry_person = T2.user_id
LEFT JOIN (
@@ -74,6 +83,21 @@
FROM shipping_info
GROUP BY sales_ledger_id
) shipping_status_counts ON T1.id = shipping_status_counts.sales_ledger_id
+ LEFT JOIN purchase_ledger T3 ON T1.purchase_ledger_id = T3.id
+ LEFT JOIN (
+ SELECT si.sales_ledger_id, SUM(sor.stock_out_num) AS total_qty
+ FROM shipping_info si
+ LEFT JOIN stock_out_record sor ON sor.record_id = si.id AND sor.record_type = '13' AND sor.approval_status = 1
+ GROUP BY si.sales_ledger_id
+ ) shipping_qty ON shipping_qty.sales_ledger_id = T1.id
+ LEFT JOIN (
+ SELECT si.sales_ledger_id, SUM(rsp.num) AS total_return_num
+ FROM return_sale_product rsp
+ LEFT JOIN return_management rm ON rm.id = rsp.return_management_id
+ LEFT JOIN shipping_info si ON si.id = rm.shipping_id
+ WHERE rm.status = 1
+ GROUP BY si.sales_ledger_id
+ ) rs ON rs.sales_ledger_id = T1.id
<where>
<if test="salesLedgerDto.customerName != null and salesLedgerDto.customerName != '' ">
@@ -84,6 +108,9 @@
</if>
<if test="salesLedgerDto.salesContractNo != null and salesLedgerDto.salesContractNo != '' ">
AND T1.sales_contract_no LIKE CONCAT('%',#{salesLedgerDto.salesContractNo},'%')
+ </if>
+ <if test="salesLedgerDto.masterContractNo != null and salesLedgerDto.masterContractNo != '' ">
+ AND T1.master_contract_no LIKE CONCAT('%',#{salesLedgerDto.masterContractNo},'%')
</if>
<if test="salesLedgerDto.projectName != null and salesLedgerDto.projectName != '' ">
AND T1.project_name LIKE CONCAT('%',#{salesLedgerDto.projectName},'%')
@@ -137,7 +164,7 @@
and c.customer_name like concat('%',#{customerName},'%')
</if>
</where>
- order by sl.create_time desc
+ order by sl.entry_date desc
</select>
</mapper>
--
Gitblit v1.9.3