From 0dc15775095a25797daf376e47999f0c11486e75 Mon Sep 17 00:00:00 2001
From: luofl <1442745593@qq.com>
Date: 星期一, 07 四月 2025 22:17:13 +0800
Subject: [PATCH] 修改bug
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java | 42 ++++++++++++++++++++++++++++++++++--------
1 files changed, 34 insertions(+), 8 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 2824697..f78860a 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
@@ -525,6 +525,8 @@
depositBill.setBillType("2");
contractService.updateById(contract);
+ rentBill.setBusinessDeptId(contract.getBusinessDeptId());
+ depositBill.setBusinessDeptId(contract.getBusinessDeptId());
billService.save(rentBill);
billService.save(depositBill);
// 生成后续账单
@@ -744,6 +746,7 @@
tBill.setContractNumber(contract.getContractNumber());
tBill.setPayFeesStatus("1");
tBill.setBillType("1");
+ tBill.setBusinessDeptId(contract.getBusinessDeptId());
billService.save(tBill);
beforeBill.setEndTime(beforeBill.getEndTime().plusMonths(contract.getPayType().equals("1") ? 1 : contract.getPayType().equals("2") ? 3 : 12).with(TemporalAdjusters.lastDayOfMonth()));
@@ -952,10 +955,16 @@
BigDecimal originalMoney = new BigDecimal("0");
// 不需要涨租金的时间段
long originalDays = 0;
- if (tBill.getStartTime().with(TemporalAdjusters.lastDayOfMonth()).isBefore(tBill.getEndTime())){
- originalDays = Math.abs(ChronoUnit.DAYS.between(tBill.getStartTime(), tBill.getStartTime().with(TemporalAdjusters.lastDayOfMonth())));
+ if (tBill.getStartTime().getDayOfMonth()==1&&(tBill.getStartTime().with(TemporalAdjusters.lastDayOfMonth()).toLocalDate().isAfter(tBill.getEndTime().toLocalDate())||tBill.getStartTime().with(TemporalAdjusters.lastDayOfMonth()).toLocalDate().equals(tBill.getEndTime().toLocalDate()))){
+ // 计算整月
+ originalMoney = originalMoney.add(contract.getChangeRent());
}else{
- originalDays = Math.abs(ChronoUnit.DAYS.between(tBill.getStartTime(), tBill.getEndTime()));
+ // 计算天
+ if (tBill.getStartTime().with(TemporalAdjusters.lastDayOfMonth()).isBefore(tBill.getEndTime())){
+ originalDays = Math.abs(ChronoUnit.DAYS.between(tBill.getStartTime(), tBill.getStartTime().with(TemporalAdjusters.lastDayOfMonth())))+1;
+ }else{
+ originalDays = Math.abs(ChronoUnit.DAYS.between(tBill.getStartTime(), tBill.getEndTime()))+1;
+ }
}
originalMoney = originalMoney.add(contract.getChangeRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(originalDays)));
LocalDateTime originalTime = tBill.getStartTime().with(TemporalAdjusters.lastDayOfMonth()).plusDays(1);
@@ -980,12 +989,24 @@
BigDecimal originalMoney = new BigDecimal("0");
// 不需要涨租金的时间段
long originalDays = 0;
- if (tBill.getStartTime().with(TemporalAdjusters.lastDayOfMonth()).isBefore(tBill.getEndTime())){
- originalDays = Math.abs(ChronoUnit.DAYS.between(tBill.getStartTime(), tBill.getStartTime().with(TemporalAdjusters.lastDayOfMonth())))+1;
+ if (tBill.getStartTime().getDayOfMonth()==1
+ &&
+ (
+ tBill.getStartTime().with(TemporalAdjusters.lastDayOfMonth()).toLocalDate().isBefore(tBill.getEndTime().toLocalDate())
+ ||tBill.getStartTime().with(TemporalAdjusters.lastDayOfMonth()).toLocalDate().equals(tBill.getEndTime().toLocalDate())
+ )
+ ){
+ // 计算整月
+ originalMoney = originalMoney.add(contract.getChangeRent());
}else{
- originalDays = Math.abs(ChronoUnit.DAYS.between(tBill.getStartTime(), tBill.getEndTime()))+1;
+ // 计算天
+ if (tBill.getStartTime().with(TemporalAdjusters.lastDayOfMonth()).isBefore(tBill.getEndTime())){
+ originalDays = Math.abs(ChronoUnit.DAYS.between(tBill.getStartTime(), tBill.getStartTime().with(TemporalAdjusters.lastDayOfMonth())))+1;
+ }else{
+ originalDays = Math.abs(ChronoUnit.DAYS.between(tBill.getStartTime(), tBill.getEndTime()))+1;
+ }
+ originalMoney = originalMoney.add(contract.getChangeRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(originalDays)));
}
- originalMoney = originalMoney.add(contract.getChangeRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(originalDays)));
LocalDateTime originalTime = tBill.getStartTime().with(TemporalAdjusters.lastDayOfMonth()).plusDays(1);
while(true){
if (originalTime.isBefore(tBill.getEndTime())){
@@ -999,7 +1020,7 @@
break;
}
}
- if (originalTime.isBefore(tBill.getEndTime())){
+ if (originalTime.isBefore(tBill.getEndTime())||originalTime.toLocalDate().equals(tBill.getEndTime().toLocalDate())){
long tempOriginal = ChronoUnit.DAYS.between(originalTime,tBill.getEndTime())+1;
originalMoney = originalMoney.add(contract.getChangeRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(tempOriginal)));
}
@@ -1014,6 +1035,7 @@
// } else {
tBill.setPayableFeesTime(tBill.getStartTime().withDayOfMonth(15).toLocalDate());
// }
+ tBill.setBusinessDeptId(contract.getBusinessDeptId());
billService.save(tBill);
}
}
@@ -1028,6 +1050,10 @@
//更新合同结束时间
contract.setEndTime(contract.getTerminateTime());
contractService.updateById(contract);
+ // 修改房屋状态
+ THouse house = houseService.getById(contract.getHouseId());
+ house.setLeaseStatus("1");
+ houseService.updateById(house);
TCheckAcceptRecord tCheckAcceptRecord = new TCheckAcceptRecord();
tCheckAcceptRecord.setContractId(contract.getId());
--
Gitblit v1.7.1