From 5fa6e6f8410ef9d057174bcff2a3c5038c54a551 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期日, 27 四月 2025 18:41:20 +0800
Subject: [PATCH] bug修改

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java |   88 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 81 insertions(+), 7 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 2a73ac5..7fa182a 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
@@ -324,6 +324,15 @@
     @PostMapping(value = "/confirmSettlement")
     public R<Boolean> confirmSettlement(String id) {
         TContract contract = contractService.getById(id);
+
+        // 查询验收记录
+        long count = checkAcceptRecordService.count(Wrappers.lambdaQuery(TCheckAcceptRecord.class)
+                .eq(TCheckAcceptRecord::getStatus,1)
+                .eq(TCheckAcceptRecord::getContractId, id));
+        if (count == 0) {
+            return R.fail("请先完成验收");
+        }
+
         contract.setStatus("8");
         contractService.updateById(contract);
         // 将所有未缴费账单设置未已失效
@@ -553,13 +562,17 @@
     private BigDecimal extracted(TContract contract,TContractDTO dto) {
         TContractRentType tContractRentType = null;
         if (contract.getIsIncreasing()){
-            tContractRentType = new TContractRentType();
-            tContractRentType.setContractId(contract.getId());
-            tContractRentType.setIncreasingDecreasing(dto.getIncreasingDecreasing());
-            tContractRentType.setIncreasingDecreasingType(dto.getIncreasingDecreasingType());
-            tContractRentType.setNumericalValue(dto.getNumericalValue());
-            tContractRentType.setChangeTime(dto.getChangeTime());
-            tContractRentType.setCycleTime(dto.getCycleTime());
+            tContractRentType = contractRentTypeService.lambdaQuery().eq(TContractRentType::getContractId, contract.getId())
+                    .last("limit 1").one();
+            if (tContractRentType==null){
+                tContractRentType = new TContractRentType();
+                tContractRentType.setContractId(contract.getId());
+                tContractRentType.setIncreasingDecreasing(dto.getIncreasingDecreasing());
+                tContractRentType.setIncreasingDecreasingType(dto.getIncreasingDecreasingType());
+                tContractRentType.setNumericalValue(dto.getNumericalValue());
+                tContractRentType.setChangeTime(dto.getChangeTime());
+                tContractRentType.setCycleTime(dto.getCycleTime());
+            }
         }
         // 生成第一笔账单
         // 第一次应缴费日期
@@ -799,6 +812,67 @@
     @PostMapping("/generateContractPreview")
     public R<String> generateContractPreview(@RequestBody TContractDTO dto)
     {
+        String contractName = dto.getContractName();
+        if (StringUtils.isEmpty(contractName)){
+            return R.fail("合同名称不能为空");
+        }
+        LocalDateTime startTime = dto.getStartTime();
+        if (startTime == null){
+            return R.fail("合同生效日期不能为空");
+        }
+        LocalDateTime endTime = dto.getEndTime();
+        if (endTime == null){
+            return R.fail("合同生效日期不能为空");
+        }
+
+        BigDecimal monthRent = dto.getMonthRent();
+        if (monthRent == null){
+            return R.fail("月租金不能为空");
+        }
+
+        BigDecimal deposit = dto.getDeposit();
+        if (deposit == null){
+            return R.fail("押金不能为空");
+        }
+
+        String payType = dto.getPayType();
+        if (StringUtils.isEmpty(payType)){
+            return R.fail("租金支付方式不能为空");
+        }
+
+        LocalDateTime startPayTime = dto.getStartPayTime();
+        if (startPayTime == null){
+            return R.fail("开始计费日期不能为空");
+        }
+
+        String partyOneName = dto.getPartyOneName();
+        if (StringUtils.isEmpty(partyOneName)){
+            return R.fail("甲方名称不能为空");
+        }
+
+        String partyOnePerson = dto.getPartyOnePerson();
+        if (StringUtils.isEmpty(partyOnePerson)){
+            return R.fail("甲方联系人不能为空");
+        }
+
+        String partyOnePhone = dto.getPartyOnePhone();
+        if (StringUtils.isEmpty(partyOnePhone)){
+            return R.fail("甲方联系电话不能为空");
+        }
+
+        String partyTwoName = dto.getPartyTwoName();
+        if (StringUtils.isEmpty(partyTwoName)){
+            return R.fail("乙方名称不能为空");
+        }
+        String partyTwoPerson = dto.getPartyTwoPerson();
+        if (StringUtils.isEmpty(partyTwoPerson)){
+            return R.fail("乙方联系人不能为空");
+        }
+        String partyTwoPhone = dto.getPartyTwoPhone();
+        if (StringUtils.isEmpty(partyTwoPhone)){
+            return R.fail("乙方联系电话不能为空");
+        }
+
         TContract contract = new TContract();
         BeanUtil.copyProperties(dto,contract);
         return R.ok(generateContract(contract,dto));

--
Gitblit v1.7.1