From 1f8155cf95e47648115aecd775397a8def8c773a Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 18 二月 2025 11:25:57 +0800
Subject: [PATCH] 小程序登录

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java |  105 ++--------------------------------------------------
 1 files changed, 4 insertions(+), 101 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java
index 979451b..9e0ecac 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java
@@ -14,10 +14,7 @@
 import com.ruoyi.common.utils.DictUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.WebUtils;
-import com.ruoyi.system.dto.SetContractDto;
-import com.ruoyi.system.dto.TContractDTO;
-import com.ruoyi.system.dto.THouseDTO;
-import com.ruoyi.system.dto.TerminateContractDTO;
+import com.ruoyi.system.dto.*;
 import com.ruoyi.system.export.ContractExport;
 import com.ruoyi.system.export.OpticalInspectionExport;
 import com.ruoyi.system.model.*;
@@ -77,103 +74,9 @@
     @ApiOperation(value = "测试生成账单")
     @PostMapping(value = "/testBill")
     public R testBill(String id) {
-        TContract contract = contractService.getById(id);
-        // 查询所有已签订的合同并且未生成第一笔账单的
-
-        List<TBill> bills = new ArrayList<>();
-        List<TContractRentType> contractRentTypes = contractRentTypeService.list();
-            contract.setFirstPayTime(contract.getStartTime().plusDays(10));
-            // 第一次应缴费日期
-            LocalDateTime firstPayTime = contract.getStartTime().plusDays(10).withHour(0).withMinute(0).withSecond(0);
-            TBill rentBill = new TBill();
-            rentBill.setContractId(contract.getId());
-            rentBill.setContractNumber(contract.getContractNumber());
-            rentBill.setPayableFeesTime(firstPayTime);
-            rentBill.setPayFeesStatus("1");
-            rentBill.setBillType("1");
-            rentBill.setStartTime(contract.getStartPayTime());
-            TContractRentType tContractRentType = contractRentTypes.stream().filter(e -> e.getContractId().equals(contract.getId())).findFirst().orElse(null);
-
-            if (tContractRentType!=null && contract.getStartPayTime().plusMonths(contract.getPayType().equals("1")? 1:contract.getPayType().equals("2")? 3:12).isAfter(tContractRentType.getChangeTime())){
-                // 计算租金变动的天数
-                long moneyDays = ChronoUnit.DAYS.between(tContractRentType.getChangeTime(), contract.getStartPayTime().plusMonths(contract.getPayType().equals("1")? 1:contract.getPayType().equals("2")? 3:12))+1L;
-                contract.setChangeTime(LocalDateTime.now());
-                // 递增递减的租金
-                BigDecimal contractRentTypeMoney = new BigDecimal("0");
-                // 不递增递减的租金
-                BigDecimal originalMoney = new BigDecimal("0");
-                // 原租金
-                switch (tContractRentType.getIncreasingDecreasingType()){
-                    case 1:
-                        switch (tContractRentType.getIncreasingDecreasing()){
-                            case 1:
-                                contractRentTypeMoney =contractRentTypeMoney.add(contract.getChangeRent().multiply(new BigDecimal(100).add(tContractRentType.getNumericalValue())).divide(new BigDecimal(100),2,BigDecimal.ROUND_DOWN).divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(moneyDays)));
-                                contract.setChangeRent(contractRentTypeMoney);
-                                break;
-                            case 2:
-                                contractRentTypeMoney = contractRentTypeMoney.add(contract.getChangeRent().multiply((new BigDecimal(100).subtract(tContractRentType.getNumericalValue()))).divide(new BigDecimal(100),2,BigDecimal.ROUND_DOWN).divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(moneyDays)).divide(new BigDecimal(contract.getPayType().equals("1")? 1:contract.getPayType().equals("2")? 3:12),2,BigDecimal.ROUND_DOWN));
-                                contract.setChangeRent(contractRentTypeMoney);
-                                break;
-                        }
-                        break;
-                    case 2:
-                        switch (tContractRentType.getIncreasingDecreasing()){
-                            case 1:
-                                contractRentTypeMoney =contractRentTypeMoney.add(contract.getChangeRent().add(tContractRentType.getNumericalValue())).divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(moneyDays));
-                                contract.setChangeRent(contractRentTypeMoney);
-                                break;
-                            case 2:
-                                contractRentTypeMoney = contractRentTypeMoney.add(contract.getChangeRent().subtract(tContractRentType.getNumericalValue())).divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(moneyDays));
-                                contract.setChangeRent(contractRentTypeMoney);
-
-                                break;
-                        }
-                        break;
-                }
-                // 不需要涨租金的时间段
-                if (contract.getFirstPayTime().isBefore(tContractRentType.getChangeTime())){
-                    long originalDays = ChronoUnit.DAYS.between(contract.getFirstPayTime(), tContractRentType.getChangeTime());
-                    originalMoney=originalMoney.add(contract.getMonthRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN))
-                            .multiply(new BigDecimal(originalDays));
-                    rentBill.setPayableFeesMoney(contractRentTypeMoney.add(originalMoney));
-                    rentBill.setOutstandingMoney(rentBill.getPayableFeesMoney());
-                }else{
-                    rentBill.setPayableFeesMoney(contractRentTypeMoney);
-                    rentBill.setOutstandingMoney(rentBill.getPayableFeesMoney());
-                }
-
-                if (contract.getFirstPayTime().plusMonths(contract.getPayType().equals("1")? 1:contract.getPayType().equals("2")? 3:12).isAfter(contract.getEndTime())){
-                    rentBill.setEndTime(contract.getFirstPayTime().plusMonths(contract.getPayType().equals("1")? 1:contract.getPayType().equals("2")? 3:12));
-                }else{
-                    rentBill.setEndTime(contract.getEndTime());
-                }
-            }else{
-                if (contract.getFirstPayTime().plusMonths(contract.getPayType().equals("1")? 1:contract.getPayType().equals("2")? 3:12).isAfter(contract.getEndTime())){
-                    rentBill.setEndTime(contract.getFirstPayTime().plusMonths(contract.getPayType().equals("1")? 1:contract.getPayType().equals("2")? 3:12));
-                }else{
-                    rentBill.setEndTime(contract.getEndTime());
-                }
-                // 不走递增递减
-                long allDays = ChronoUnit.DAYS.between(contract.getFirstPayTime(), rentBill.getEndTime());
-                rentBill.setPayableFeesMoney(contract.getMonthRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(allDays)));
-                rentBill.setOutstandingMoney(rentBill.getPayableFeesMoney());
-
-            }
-            // 租金账单
-            bills.add(rentBill);
-            // 押金账单
-            TBill depositBill = new TBill();
-            depositBill.setContractId(contract.getId());
-            depositBill.setContractNumber(contract.getContractNumber());
-            depositBill.setPayableFeesMoney(contract.getDeposit());
-            depositBill.setOutstandingMoney(depositBill.getPayableFeesMoney());
-
-            depositBill.setPayableFeesTime(firstPayTime);
-            depositBill.setPayFeesStatus("1");
-            depositBill.setBillType("2");
-        contractService.updateById(contract);
-        billService.save(rentBill);
-        billService.save(depositBill);
+        SignContractDTO signContractDTO = new SignContractDTO();
+        signContractDTO.setId(id);
+        contractService.signContract(signContractDTO);
         return R.ok();
     }
     @ApiOperation(value = "获取合同分页列表")

--
Gitblit v1.7.1