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