From b9c032d96e236d9c45ca748be63a327755b82a06 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 20 二月 2025 13:43:55 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java |   45 ++++++++++++++++++++++++++++++++-------------
 1 files changed, 32 insertions(+), 13 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java
index 659effc..f227579 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java
@@ -104,8 +104,16 @@
         TCheckAcceptRecord tCheckAcceptRecord = new TCheckAcceptRecord();
         tCheckAcceptRecord.setContractId(dto.getId());
         tCheckAcceptRecord.setHouseId(contract.getHouseId());
-        tCheckAcceptRecord.setLeaseReason("后台终止");
+        tCheckAcceptRecord.setLeaseReason("后台终止合同");
         tCheckAcceptRecord.setStatus("1");
+        tCheckAcceptRecord.setAcceptanceTime(LocalDateTime.now());
+        LocalDate now = LocalDate.now();
+        String replace = (now + "").replace("-", "");
+        int size = checkAcceptRecordMapper.selectList(new LambdaQueryWrapper<TCheckAcceptRecord>()
+                .likeRight(TCheckAcceptRecord::getAcceptanceTime, LocalDate.now())).size();
+        tCheckAcceptRecord.setCode(replace.substring(2)+String.format("%03d", size+1));
+
+
         checkAcceptRecordMapper.insert(tCheckAcceptRecord);
         // 将所有未缴费账单设置未已失效
         List<TBill> tBills = billMapper.selectList(new LambdaQueryWrapper<TBill>()
@@ -117,7 +125,13 @@
         billService.updateBatchById(tBills);
     }
 
-
+    public static void main(String[] args) {
+//        LocalDate now = LocalDate.now();
+//        String replace = (now + "").replace("-", "");
+//        System.err.println(replace.substring(2));
+//
+//        System.err.println(String.format("%03d",1));
+    }
     @Override
     public CheckAcceptRecordVO getCheckByContractId(String id) {
         CheckAcceptRecordVO checkAcceptRecordVO = new CheckAcceptRecordVO();
@@ -139,7 +153,7 @@
         if (contract==null)return R.fail("合同不存在");
         if (contract.getStatus().equals("4"))return R.fail("该合同已签订");
         contract.setSignature(dto.getSignature());
-        contract.setStatus("2");
+        contract.setStatus("4");
         contractMapper.updateById(contract);
         contract.setFirstPayTime(contract.getStartTime().plusDays(10));
         List<TBill> bills = new ArrayList<>();
@@ -150,7 +164,7 @@
         TBill rentBill = new TBill();
         rentBill.setContractId(contract.getId());
         rentBill.setContractNumber(contract.getContractNumber());
-        rentBill.setPayableFeesTime(firstPayTime);
+        rentBill.setPayableFeesTime(firstPayTime.toLocalDate());
         if (firstPayTime.toLocalDate().equals(LocalDate.now())){
             rentBill.setPayFeesStatus("1");
         }else {
@@ -224,8 +238,9 @@
         depositBill.setContractNumber(contract.getContractNumber());
         depositBill.setPayableFeesMoney(contract.getDeposit());
         depositBill.setOutstandingMoney(depositBill.getPayableFeesMoney());
-
-        depositBill.setPayableFeesTime(firstPayTime);
+        depositBill.setStartTime(contract.getStartPayTime());
+        depositBill.setEndTime(contract.getEndTime());
+        depositBill.setPayableFeesTime(firstPayTime.toLocalDate());
         if (firstPayTime.toLocalDate().equals(LocalDate.now())){
             depositBill.setPayFeesStatus("1");
 
@@ -241,8 +256,10 @@
         try {
             TBill beforeBill = billService.lambdaQuery().eq(TBill::getContractId, contract.getId()).eq(TBill::getBillType, 1).orderByDesc(TBill::getCreateTime)
                     .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())){
-                if (beforeBill.getEndTime().toLocalDate().equals(contract.getEndTime().toLocalDate()))break;
 
                     TBill tBill = new TBill();
                     tBill.setContractId(contract.getId());
@@ -407,11 +424,11 @@
                         }
                         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());
+                            tBill.setPayableFeesTime(contract.getEndTime().toLocalDate());
                         }else{
                             tBill.setPayableFeesTime((contract.getPayType().equals("1")?
-                                    beforeBill.getEndTime().plusMonths(1).withDayOfMonth(15):contract.getPayType().equals("2")?
-                                    beforeBill.getEndTime().plusMonths(3).withDayOfMonth(15):beforeBill.getEndTime().withDayOfMonth(15).plusMonths(12)));
+                                    beforeBill.getEndTime().plusMonths(1).withDayOfMonth(15).toLocalDate():contract.getPayType().equals("2")?
+                                    beforeBill.getEndTime().plusMonths(3).withDayOfMonth(15).toLocalDate():beforeBill.getEndTime().withDayOfMonth(15).plusMonths(12).toLocalDate()));
                         }
                         tBill.setPayFeesStatus("2");
                         tBill.setBillType("1");
@@ -420,6 +437,8 @@
                     }
                     billMapper.insert(tBill);
                 }
+            }
+
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -592,11 +611,11 @@
             }
             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));
+                tBill.setPayableFeesTime(contract.getEndTime().withHour(0).withMinute(0).withSecond(0).toLocalDate());
             }else{
                 tBill.setPayableFeesTime((contract.getPayType().equals("1")?
-                        beforeBill.getEndTime().plusMonths(1).withDayOfMonth(15):contract.getPayType().equals("2")?
-                        beforeBill.getEndTime().plusMonths(3).withDayOfMonth(15):beforeBill.getEndTime().withDayOfMonth(15).plusMonths(12).withHour(0).withMinute(0).withSecond(0)));
+                        beforeBill.getEndTime().plusMonths(1).withDayOfMonth(15).toLocalDate():contract.getPayType().equals("2")?
+                        beforeBill.getEndTime().plusMonths(3).withDayOfMonth(15).toLocalDate():beforeBill.getEndTime().withDayOfMonth(15).plusMonths(12).withHour(0).withMinute(0).withSecond(0).toLocalDate()));
             }
             tBill.setPayFeesStatus("1");
             tBill.setBillType("1");

--
Gitblit v1.7.1