From cd11bc80579a629e8ab6f9ee9e1cd982f4396408 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期三, 12 八月 2026 10:02:07 +0800
Subject: [PATCH] feat:银行流水绑定合同问题 出库单据查看 历史当前逾期新增删除去掉 完成开票隐藏开票按钮 出库业务单据文件类型
---
platformx-business-finance-biz/src/main/resources/mapper/ContractPaymentScheduleMapper.xml | 197 +++++++++++++++++++++++++++++++------------------
1 files changed, 124 insertions(+), 73 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 8f0d3dc..3cd1104 100644
--- a/platformx-business-finance-biz/src/main/resources/mapper/ContractPaymentScheduleMapper.xml
+++ b/platformx-business-finance-biz/src/main/resources/mapper/ContractPaymentScheduleMapper.xml
@@ -50,38 +50,64 @@
</select>
<select id="selectAgingTotal" resultType="com.by4cloud.platformx.business.vo.AgingVo">
SELECT
+ ranges.sort,
ranges.overdue_range,
- COALESCE(SUM(
+ 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
+ ),
+ 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
- LEFT JOIN
- business_customer bc ON c.party_a_id = bc.id
- where
- c.del_flag = '0'
+ SELECT
+ 1 sort,
+ '0-30澶�' AS overdue_range,
+ 0 AS min_days,
+ 30 AS max_days UNION ALL
+ SELECT
+ 2 sort,
+ '31-60澶�',
+ 31,
+ 60 UNION ALL
+ SELECT
+ 3 sort,
+ '61-90澶�',
+ 61,
+ 90 UNION ALL
+ SELECT
+ 4 sort,
+ '91-180澶�',
+ 91,
+ 180 UNION ALL
+ SELECT
+ 5 sort,
+ '181-365澶�',
+ 181,
+ 365 UNION ALL
+ SELECT
+ 6 sort,
+ '1骞翠互涓�',
+ 366,
+ 999999
+ ) 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
+ LEFT JOIN business_customer bc ON c.party_a_id = bc.id
+ WHERE
+ c.del_flag = '0'
<if test="queryDTO.companyId !=null">
- and c.party_a_id = #{queryDTO.companyId}
+ and c.comp_id = #{queryDTO.companyId}
</if>
<if test="queryDTO.areaId !=null">
and bc.area_id = #{queryDTO.areaId}
@@ -93,10 +119,11 @@
and bc.class_id = #{queryDTO.classId}
</if>
GROUP BY
+ ranges.sort,
ranges.overdue_range,
ranges.min_days
ORDER BY
- ranges.min_days;
+ ranges.min_days
</select>
<select id="selectAgingCompanyShip" resultType="com.by4cloud.platformx.business.vo.AgingCompanyVo">
SELECT
@@ -128,6 +155,7 @@
</select>
<select id="selectAgingTotalShip" resultType="com.by4cloud.platformx.business.vo.AgingVo">
SELECT
+ ranges.sort,
ranges.overdue_range,
COALESCE (
sum(amount-paid_amount),
@@ -135,31 +163,37 @@
) 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
- ) ranges
+ SELECT
+ 1 sort,
+ '0-30澶�' AS overdue_range,
+ 0 AS min_days,
+ 30 AS max_days UNION ALL
+ SELECT
+ 2 sort,
+ '31-60澶�',
+ 31,
+ 60 UNION ALL
+ SELECT
+ 3 sort,
+ '61-90澶�',
+ 61,
+ 90 UNION ALL
+ SELECT
+ 4 sort,
+ '91-180澶�',
+ 91,
+ 180 UNION ALL
+ SELECT
+ 5 sort,
+ '181-365澶�',
+ 181,
+ 365 UNION ALL
+ SELECT
+ 6 sort,
+ '1骞翠互涓�',
+ 366,
+ 999999
+ ) ranges
LEFT JOIN contract c ON c.del_flag = '0'
AND DATEDIFF(
CURRENT_DATE,
@@ -173,6 +207,7 @@
</if>
AND EXISTS ( SELECT 1 FROM contract_out_bound cob WHERE cob.del_flag = '0' AND cob.contract_id = c.id )
GROUP BY
+ ranges.sort,
ranges.overdue_range,
ranges.min_days
ORDER BY
@@ -180,6 +215,7 @@
</select>
<select id="selectAgingTotalInvoice" resultType="com.by4cloud.platformx.business.vo.AgingVo">
SELECT
+ ranges.sort,
ranges.overdue_range,
COALESCE (
sum(amount-paid_amount),
@@ -187,31 +223,37 @@
) 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
- ) ranges
+ SELECT
+ 1 sort,
+ '0-30澶�' AS overdue_range,
+ 0 AS min_days,
+ 30 AS max_days UNION ALL
+ SELECT
+ 2 sort,
+ '31-60澶�',
+ 31,
+ 60 UNION ALL
+ SELECT
+ 3 sort,
+ '61-90澶�',
+ 61,
+ 90 UNION ALL
+ SELECT
+ 4 sort,
+ '91-180澶�',
+ 91,
+ 180 UNION ALL
+ SELECT
+ 5 sort,
+ '181-365澶�',
+ 181,
+ 365 UNION ALL
+ SELECT
+ 6 sort,
+ '1骞翠互涓�',
+ 366,
+ 999999
+ ) ranges
LEFT JOIN contract c ON c.del_flag = '0'
AND DATEDIFF(
CURRENT_DATE,
@@ -225,6 +267,7 @@
</if>
AND EXISTS ( SELECT 1 FROM contract_invoice ci WHERE ci.del_flag = '0' AND ci.contract_id = c.id)
GROUP BY
+ ranges.sort,
ranges.overdue_range,
ranges.min_days
ORDER BY
@@ -232,6 +275,7 @@
</select>
<select id="selectAgingTotalScale" resultType="com.by4cloud.platformx.business.vo.AgingVo">
SELECT
+ ranges.sort,
ranges.overdue_range,
COALESCE (
SUM(
@@ -248,26 +292,32 @@
FROM
(
SELECT
+ 1 sort,
'0-30澶�' AS overdue_range,
0 AS min_days,
30 AS max_days UNION ALL
SELECT
+ 2 sort,
'31-60澶�',
31,
60 UNION ALL
SELECT
+ 3 sort,
'61-90澶�',
61,
90 UNION ALL
SELECT
+ 4 sort,
'91-180澶�',
91,
180 UNION ALL
SELECT
+ 5 sort,
'181-365澶�',
181,
365 UNION ALL
SELECT
+ 6 sort,
'1骞翠互涓�',
366,
999999
@@ -284,6 +334,7 @@
and c.party_b_id = #{queryDTO.companyId}
</if>
GROUP BY
+ ranges.sort,
ranges.overdue_range,
ranges.min_days
ORDER BY
--
Gitblit v1.9.1