From 835e495a985e7ab0f9f3a1a3882255280f1b8f04 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 06 三月 2025 20:52:34 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/xiaochen991015/xizang

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java |   33 ++++++++++++---------------------
 1 files changed, 12 insertions(+), 21 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 73a6b1f..5fa6311 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
@@ -290,7 +290,7 @@
                         rentBill.setEndTime(rentBill.getStartTime().plusMonths(contract.getPayType().equals("1") ? 1 : contract.getPayType().equals("2") ? 3 : 12).with(TemporalAdjusters.lastDayOfMonth()));
                     }
                 } else {
-                    rentBill.setEndTime(contract.getEndTime());
+                    rentBill.setEndTime(rentBill.getStartTime().with(TemporalAdjusters.lastDayOfMonth()));
                 }
                 if (tContractRentType != null && rentBill.getEndTime().isAfter(tContractRentType.getChangeTime())) {
                     long moneyDays = 0;
@@ -365,7 +365,7 @@
                 billService.save(depositBill);
                 // 生成后续账单
                 try {
-                    TBill beforeBill = billService.lambdaQuery().eq(TBill::getContractId, contract.getId()).eq(TBill::getBillType, 1).orderByDesc(TBill::getCreateTime)
+                    TBill beforeBill = billService.lambdaQuery().eq(TBill::getContractId, contract.getId()).eq(TBill::getBillType, 1).orderByDesc(TBill::getStartTime)
                             .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())) {
@@ -491,14 +491,15 @@
                                     tBill.setOutstandingMoney(tBill.getPayableFeesMoney());
 
                                 }
-                                tBill.setContractNumber(contract.getContractNumber());
-                                tBill.setPayFeesStatus("1");
-                                tBill.setBillType("1");
-                                tBill.setStartTime(beforeBill.getEndTime().plusDays(1));
-                                tBill.setEndTime(beforeBill.getEndTime().plusMonths(contract.getPayType().equals("1") ? 1 : contract.getPayType().equals("2") ? 3 : 12).with(TemporalAdjusters.lastDayOfMonth()));
-                                billService.save(tBill);
-                                beforeBill.setEndTime(beforeBill.getEndTime().plusMonths(contract.getPayType().equals("1") ? 1 : contract.getPayType().equals("2") ? 3 : 12).with(TemporalAdjusters.lastDayOfMonth()));
+
                             }
+                            tBill.setContractNumber(contract.getContractNumber());
+                            tBill.setPayFeesStatus("1");
+                            tBill.setBillType("1");
+                            tBill.setStartTime(beforeBill.getEndTime().plusDays(1));
+                            tBill.setEndTime(beforeBill.getEndTime().plusMonths(contract.getPayType().equals("1") ? 1 : contract.getPayType().equals("2") ? 3 : 12).with(TemporalAdjusters.lastDayOfMonth()));
+                            billService.save(tBill);
+                            beforeBill.setEndTime(beforeBill.getEndTime().plusMonths(contract.getPayType().equals("1") ? 1 : contract.getPayType().equals("2") ? 3 : 12).with(TemporalAdjusters.lastDayOfMonth()));
                         }
                     }
                 } catch (Exception e) {
@@ -651,16 +652,14 @@
             }
             case CATEGORY3: {
                 // 合同提前终止审批
-                int submitStatus = status == 0 ? 4 : (status == 1 ? 6 : 5);
+                int submitStatus = status == 0 ? 4 : (status == 1 ? 7 : 5);
                 contractService.updateContractAuditStatus(processParameter.getString("projectId"), submitStatus);
                 // 生成验收记录
                 TContract contract = contractService.getById(processParameter.getString("projectId"));
-                contract.setStatus("7");
                 TCheckAcceptRecord tCheckAcceptRecord = new TCheckAcceptRecord();
                 tCheckAcceptRecord.setContractId(contract.getId());
                 tCheckAcceptRecord.setHouseId(contract.getHouseId());
                 tCheckAcceptRecord.setLeaseReason("后台终止合同");
-                tCheckAcceptRecord.setStatus(false);
                 tCheckAcceptRecord.setAcceptanceTime(LocalDateTime.now());
                 LocalDate now = LocalDate.now();
                 String replace = (now + "").replace("-", "");
@@ -668,16 +667,8 @@
                         .likeRight(TCheckAcceptRecord::getAcceptanceTime, LocalDate.now())).size();
                 tCheckAcceptRecord.setCode(replace.substring(2) + String.format("%03d", size + 1));
 
-
                 checkAcceptRecordMapper.insert(tCheckAcceptRecord);
-                // 将所有未缴费账单设置未已失效
-                List<TBill> tBills = billService.list(new LambdaQueryWrapper<TBill>()
-                        .ne(TBill::getPayFeesStatus, 3)
-                        .eq(TBill::getContractId, contract.getId()));
-                for (TBill tBill : tBills) {
-                    tBill.setPayFeesStatus("5");
-                }
-                billService.updateBatchById(tBills);
+
                 break;
             }
             default:

--
Gitblit v1.7.1