From a08ec37efc4941ef3d7367936bb441567dd565f3 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Tue, 4 Nov 2025 16:32:09 +0800 Subject: [PATCH] =?UTF-8?q?demand:=20=20=20=20TMS=E7=B3=BB=E7=BB=9F=20-=20?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E8=B4=A6=E5=8D=95=E7=AE=A1=E7=90=86=20-=20?= =?UTF-8?q?=E8=B4=A2=E5=8A=A1=E5=BC=80=E7=A5=A8=E5=A4=84=E7=90=86=20-=20?= =?UTF-8?q?=E5=B7=B2=E5=BC=80=E7=A5=A8=20-=20=E5=AE=9A=E5=88=B6=E5=AF=BC?= =?UTF-8?q?=E5=87=BA-=E5=AE=A2=E6=88=B7=E4=BB=98=E6=AC=BE=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=E3=80=81=E6=94=B6=E6=AC=BE=E7=99=BB=E8=AE=B0=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=E6=8B=BC=E6=8E=A5=E6=97=B6=E6=8C=89=E7=85=A7=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=E4=BB=8E=E5=B0=8F=E5=88=B0=E5=A4=A7=E7=9A=84=E9=A1=BA?= =?UTF-8?q?=E5=BA=8F=E6=8B=BC=E6=8E=A5=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EmisSettleInvoiceRecordServiceImpl.java | 32 +++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleInvoiceRecordServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleInvoiceRecordServiceImpl.java index 8eb2cda3d..8583a5f70 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleInvoiceRecordServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleInvoiceRecordServiceImpl.java @@ -578,7 +578,21 @@ public class EmisSettleInvoiceRecordServiceImpl extends EmisBaseService implemen } // 格式化客户付款日期(格式:2025/10/30 付款2000元 A公司) - for (PaymentGroup group : paymentGroupMap.values()) { + // 按日期从小到大排序 + List sortedPaymentGroups = new ArrayList<>(paymentGroupMap.values()); + sortedPaymentGroups.sort((g1, g2) -> { + if (g1.date == null && g2.date == null) { + return 0; + } + if (g1.date == null) { + return -1; + } + if (g2.date == null) { + return 1; + } + return g1.date.compareTo(g2.date); + }); + for (PaymentGroup group : sortedPaymentGroups) { BigDecimal strippedMoney = group.totalMoney.stripTrailingZeros(); String paymentDateStr = group.dateStr + " 付款" + strippedMoney.toPlainString() + "元"; // 如果客户名称不为空,则追加客户名称 @@ -589,7 +603,21 @@ public class EmisSettleInvoiceRecordServiceImpl extends EmisBaseService implemen } // 格式化收款登记日期(格式:2025/10/30 登记2000元 A公司) - for (PaymentGroup group : registerGroupMap.values()) { + // 按日期从小到大排序 + List sortedRegisterGroups = new ArrayList<>(registerGroupMap.values()); + sortedRegisterGroups.sort((g1, g2) -> { + if (g1.date == null && g2.date == null) { + return 0; + } + if (g1.date == null) { + return -1; + } + if (g2.date == null) { + return 1; + } + return g1.date.compareTo(g2.date); + }); + for (PaymentGroup group : sortedRegisterGroups) { BigDecimal strippedMoney = group.totalMoney.stripTrailingZeros(); String registerDateStr = group.dateStr + " 登记" + strippedMoney.toPlainString() + "元"; // 如果客户名称不为空,则追加客户名称