From ae17fedf4c852aa0a0f87e635231d90a5b88f48e Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 06 三月 2025 16:49:25 +0800
Subject: [PATCH] 权限

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java |   23 ++++++++++++++++++++++-
 1 files changed, 22 insertions(+), 1 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 ea77182..e38938d 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
@@ -97,6 +97,7 @@
             return R.fail("合同编号不可重复");
         }
         dto.setChangeRent(dto.getMonthRent());
+
         contractService.save(dto);
         if (dto.getStatus().equals("2")){
             //发起合同新增审批
@@ -285,12 +286,19 @@
         List<TContract> list = contractService.lambdaQuery().in(TContract::getId, dto.getIds()).list();
         List<String> res = new ArrayList<>();
         for (TContract contract : list) {
+            TBill firstBill = billService.lambdaQuery().eq(TBill::getContractId, contract.getId())
+                    .orderByDesc(TBill::getStartTime).last("limit 1").one();
+
             THouse tHouse = houseService.getById(contract.getHouseId());
             Map<String, Object> templateParam = new HashMap<>(5);
             templateParam.put("partyOneName", contract.getPartyOneName());
             templateParam.put("partyTwoName", contract.getPartyTwoName());
             templateParam.put("houseAddress", tHouse.getHouseAddress());
             templateParam.put("houseArea", tHouse.getHouseArea()+"m²");
+            long between = ChronoUnit.DAYS.between(contract.getStartTime(), contract.getStartPayTime())+1;
+            templateParam.put("day", between);
+            templateParam.put("endTimeFree", DateUtils.localDateTimeToStringYear(contract.getStartPayTime().plusDays(1)));
+            templateParam.put("startPayTime", DateUtils.localDateTimeToStringYear(contract.getStartPayTime()));
             templateParam.put("startTime", DateUtils.localDateTimeToStringYear(contract.getStartTime()));
             templateParam.put("endTime", DateUtils.localDateTimeToStringYear(contract.getEndTime()));
             templateParam.put("monthRent", "¥¥"+contract.getMonthRent()+"元");
@@ -300,7 +308,12 @@
             String totalYearString = StringUtils.isNotEmpty(totalYear)?NumberToChineseUtils.numberToChinese(contract.getTotalYear().setScale(2, BigDecimal.ROUND_DOWN).doubleValue()):"";
             templateParam.put("totalYearString", "人民币"+totalYearString);
             templateParam.put("payType", contract.getPayType().equals("1")?"月":contract.getPayType().equals("2")?"季":"年");
-            templateParam.put("firstRent", "¥"+(contract.getPayType().equals("1")?contract.getMonthRent():contract.getPayType().equals("2")?contract.getMonthRent().multiply(new BigDecimal("3")):contract.getMonthRent().multiply(new BigDecimal("12"))).setScale(2,BigDecimal.ROUND_DOWN)+"元");
+            if(firstBill!=null){
+                templateParam.put("firstRent", "¥"+(firstBill.getPayableFeesMoney())+"元");
+            }else{
+                templateParam.put("firstRent", "");
+
+            }
             templateParam.put("firstRentString", "人民币"+NumberToChineseUtils.numberToChinese((contract.getPayType().equals("1")?contract.getMonthRent():contract.getPayType().equals("2")?contract.getMonthRent().multiply(new BigDecimal("3")):contract.getMonthRent().multiply(new BigDecimal("12")).setScale(2,BigDecimal.ROUND_DOWN)).doubleValue()));
             templateParam.put("nextPayTime", contract.getPayType().equals("1")?"月":contract.getPayType().equals("2")?"季":"年");
             templateParam.put("deposit", "¥"+contract.getDeposit()+"元");
@@ -309,6 +322,14 @@
             templateParam.put("partyOnePhone", contract.getPartyOnePhone());
             templateParam.put("partyTwoPerson", contract.getPartyTwoPerson());
             templateParam.put("partyTwoPhone", contract.getPartyTwoPhone());
+            // 验收时间
+            TCheckAcceptRecord tCheckAcceptRecord = checkAcceptRecordService.lambdaQuery().eq(TCheckAcceptRecord::getContractId, contract.getId()).last("limit 1").one();
+            if (tCheckAcceptRecord!=null &&tCheckAcceptRecord.getCheckTime()!=null ){
+                templateParam.put("checkTime", DateUtils.localDateTimeToStringYear(tCheckAcceptRecord.getCheckTime()));
+            }else{
+                templateParam.put("checkTime", "");
+
+            }
             String url = wordUtil.generatePdf("/template", "1_yzj_租赁合同.xml", templateParam, "租赁合同", "E:\\");
             res.add(url);
         }

--
Gitblit v1.7.1