From 838618d0d4a7dd3b585a3a7390fa389e555c9bb0 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期一, 22 六月 2026 15:44:40 +0800
Subject: [PATCH] feat:新增通方公司工业品买卖合同新增
---
platformx-business-finance-biz/src/main/resources/mapper/ContractPaymentScheduleMapper.xml | 62 +++++++++++++++++++++++++++++++
1 files changed, 62 insertions(+), 0 deletions(-)
diff --git a/platformx-business-finance-biz/src/main/resources/mapper/ContractPaymentScheduleMapper.xml b/platformx-business-finance-biz/src/main/resources/mapper/ContractPaymentScheduleMapper.xml
index 94fd082..c3364b2 100644
--- a/platformx-business-finance-biz/src/main/resources/mapper/ContractPaymentScheduleMapper.xml
+++ b/platformx-business-finance-biz/src/main/resources/mapper/ContractPaymentScheduleMapper.xml
@@ -89,6 +89,9 @@
<if test="queryDTO.industryId !=null">
and bc.industry_id = #{queryDTO.industryId}
</if>
+ <if test="queryDTO.classId !=null">
+ and bc.class_id = #{queryDTO.classId}
+ </if>
GROUP BY
ranges.overdue_range,
ranges.min_days
@@ -227,4 +230,63 @@
ORDER BY
ranges.min_days;
</select>
+ <select id="selectAgingTotalScale" resultType="com.by4cloud.platformx.business.vo.AgingVo">
+ SELECT
+ ranges.overdue_range,
+ COALESCE (
+ SUM(
+ CASE
+
+ WHEN cps.payment_status = '0' THEN
+ cps.planned_amount
+ WHEN cps.payment_status = '1' THEN
+ cps.planned_amount - cps.actual_amount ELSE 0
+ END
+ ),
+ 0
+ ) AS total_amount
+ FROM
+ (
+ SELECT
+ '0-30澶�' AS overdue_range,
+ 0 AS min_days,
+ 30 AS max_days UNION ALL
+ SELECT
+ '31-60澶�',
+ 31,
+ 60 UNION ALL
+ SELECT
+ '61-90澶�',
+ 61,
+ 90 UNION ALL
+ SELECT
+ '91-180澶�',
+ 91,
+ 180 UNION ALL
+ SELECT
+ '181-365澶�',
+ 181,
+ 365 UNION ALL
+ SELECT
+ '1骞翠互涓�',
+ 366,
+ 999999
+ ) AS ranges
+ LEFT JOIN contract_payment_schedule cps ON cps.del_flag = '0'
+ AND cps.payment_status NOT IN ( '2', '3' )
+ AND cps.effective_end_date < CURRENT_DATE
+ AND DATEDIFF( CURRENT_DATE, cps.effective_end_date ) BETWEEN ranges.min_days
+ AND ranges.max_days
+ LEFT JOIN contract c ON cps.contract_id = c.id
+ WHERE
+ c.del_flag = '0'
+ <if test="queryDTO.companyId !=null">
+ and c.party_b_id = #{queryDTO.companyId}
+ </if>
+ GROUP BY
+ ranges.overdue_range,
+ ranges.min_days
+ ORDER BY
+ ranges.min_days;
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1