From 002f67c246db00b29fdce791c1e441221830434c Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 07 三月 2025 11:13:16 +0800
Subject: [PATCH] bug修改

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java
index 5c0b238..e9fcb4d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java
@@ -369,6 +369,7 @@
                             .last("limit 1").one();
                     if (!beforeBill.getEndTime().toLocalDate().equals(contract.getEndTime().toLocalDate())) {
                         while (beforeBill.getEndTime().plusMonths(contract.getPayType().equals("1") ? 1 : contract.getPayType().equals("2") ? 3 : 12).isBefore(contract.getEndTime())) {
+                            System.err.println("生成后续账单");
                             TBill tBill = new TBill();
                             tBill.setContractId(contract.getId());
                             tBill.setContractNumber(contract.getContractNumber());
@@ -381,6 +382,7 @@
                             }
                             tBill.setContractId(contract.getId());
                             if (contract.getIsIncreasing()) {
+                                System.err.println("执行递增递减");
                                 if (tContractRentType != null) {
                                     // 如果变过 并且时间在递增递减时间段内
                                     if (contract.getChangeTime() != null) {
@@ -489,9 +491,11 @@
                                 } else {
                                     tBill.setPayableFeesMoney(contract.getChangeRent().multiply(new BigDecimal(contract.getPayType().equals("1") ? 1 : contract.getPayType().equals("2") ? 3 : 12)));
                                     tBill.setOutstandingMoney(tBill.getPayableFeesMoney());
-
                                 }
-
+                            }else {
+                                System.err.println("不执行递增递减");
+                                tBill.setPayableFeesMoney(contract.getChangeRent().multiply(new BigDecimal(contract.getPayType().equals("1") ? 1 : contract.getPayType().equals("2") ? 3 : 12)));
+                                tBill.setOutstandingMoney(tBill.getPayableFeesMoney());
                             }
                             tBill.setContractNumber(contract.getContractNumber());
                             tBill.setPayFeesStatus("1");
@@ -634,11 +638,13 @@
                                 tBill.setOutstandingMoney(tBill.getPayableFeesMoney());
                             }
                         }
+                    }else{
+                        long finalDays = ChronoUnit.DAYS.between(beforeBill.getEndTime(), contract.getEndTime());
+                        tBill.setPayableFeesMoney(contract.getChangeRent().divide(new BigDecimal("30"),2,BigDecimal.ROUND_DOWN).multiply(new BigDecimal(finalDays)));
+                        tBill.setOutstandingMoney(tBill.getPayableFeesMoney());
+                        tBill.setContractNumber(contract.getContractNumber());
                     }
-                    long finalDays = ChronoUnit.DAYS.between(beforeBill.getEndTime(), contract.getEndTime());
-                    tBill.setPayableFeesMoney(contract.getChangeRent().divide(new BigDecimal("30"),2,BigDecimal.ROUND_DOWN).multiply(new BigDecimal(finalDays)));
-                    tBill.setOutstandingMoney(tBill.getPayableFeesMoney());
-                    tBill.setContractNumber(contract.getContractNumber());
+
                     if (beforeBill.getEndTime().plusMonths(contract.getPayType().equals("1") ? 1 : contract.getPayType().equals("2") ? 3 : 12).getDayOfMonth() <= 15) {
                         tBill.setPayableFeesTime(contract.getEndTime().withHour(0).withMinute(0).withSecond(0).toLocalDate());
                     } else {

--
Gitblit v1.7.1