From fd6e1e93f65bde3e1c8c15f36b2ff6324d071966 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 21 三月 2025 10:57:13 +0800
Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/xizang

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java |   30 +++++++++++++++++++++++-------
 1 files changed, 23 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 58f8f56..514ee6f 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
@@ -80,6 +80,8 @@
     private StateProcessTemplateService stateProcessTemplateService;
     @Autowired
     private FlwTaskMapper flwTaskMapper;
+    @Autowired
+    private TTenantService tenantService;
 
     @ApiOperation(value = "获取合同分页列表")
     @PostMapping(value = "/contractList")
@@ -92,12 +94,13 @@
     @PostMapping(value = "/addContract")
     @PreAuthorize("@ss.hasPermi('contract:list:add')")
     public R<Boolean> addContract(@Validated @RequestBody TContractDTO dto) {
+        LocalDateTime changeTime = dto.getChangeTime();
         long count = contractService.count(new LambdaQueryWrapper<TContract>().eq(TContract::getContractNumber, dto.getContractNumber()));
         if (count!=0){
             return R.fail("合同编号不可重复");
         }
         dto.setChangeRent(dto.getMonthRent());
-
+        dto.setChangeTime(null);
         contractService.save(dto);
         if (dto.getStatus().equals("2")){
             //发起合同新增审批
@@ -135,7 +138,7 @@
             tContractRentType.setIncreasingDecreasing(dto.getIncreasingDecreasing());
             tContractRentType.setIncreasingDecreasingType(dto.getIncreasingDecreasingType());
             tContractRentType.setNumericalValue(dto.getNumericalValue());
-            tContractRentType.setChangeTime(dto.getChangeTime());
+            tContractRentType.setChangeTime(changeTime);
             tContractRentType.setCycleTime(dto.getCycleTime());
             contractRentTypeService.save(tContractRentType);
         }
@@ -146,6 +149,7 @@
     @PostMapping(value = "/updateContract")
     @PreAuthorize("@ss.hasPermi('contract:list:edit')")
     public R<Boolean> updateContract(@Validated @RequestBody TContractDTO dto) {
+        dto.setChangeTime(null);
         contractService.updateById(dto);
         contractRentTypeService.remove(new LambdaQueryWrapper<TContractRentType>()
                 .eq(TContractRentType::getContractId,dto.getId()));
@@ -223,14 +227,14 @@
         res.setHouse(house);
         List<TBill> list = billService.lambdaQuery()
                 .eq(TBill::getContractId, id)
-                .in(TBill::getPayFeesStatus, Arrays.asList("1,4"))
+                .ne(TBill::getPayFeesStatus, 3)
                 .list();
         BigDecimal payMoney = new BigDecimal("0");
         for (TBill tBill : list) {
-            payMoney = payMoney.add(tBill.getPayFeesMoney()).add(tBill.getPayableFeesPenalty());
+            payMoney = payMoney.add(tBill.getOutstandingMoney()).add(tBill.getPayableFeesPenalty());
         }
         TCheckAcceptRecord tCheckAcceptRecord = checkAcceptRecordService.lambdaQuery().eq(TCheckAcceptRecord::getContractId, id).one();
-        res.setCheckResult(Objects.nonNull(tCheckAcceptRecord)&&Objects.nonNull(tCheckAcceptRecord.getCheckResult())?tCheckAcceptRecord.getCheckResult():false);
+        res.setCheckResult(Objects.nonNull(tCheckAcceptRecord)&&Objects.nonNull(tCheckAcceptRecord.getCheckResult())?tCheckAcceptRecord.getCheckResult():null);
         res.setPayMoney(payMoney);
 
         return R.ok(res);
@@ -293,13 +297,25 @@
         List<TContract> list = contractService.lambdaQuery().in(TContract::getId, dto.getIds()).list();
         List<String> res = new ArrayList<>();
         for (TContract contract : list) {
+            String templateFileName = "1_yzj_租赁合同_个人.docx";
             TBill firstBill = billService.lambdaQuery().eq(TBill::getContractId, contract.getId())
                     .orderByDesc(TBill::getStartTime).last("limit 1").one();
-
+            TTenant tenant = tenantService.getById(contract.getTenantId());
             THouse tHouse = houseService.getById(contract.getHouseId());
             Map<String, Object> templateParam = new HashMap<>(5);
+            templateParam.put("${contractNumber}", contract.getContractNumber());
             templateParam.put("${partyOneName}", contract.getPartyOneName());
             templateParam.put("${partyTwoName}", contract.getPartyTwoName());
+            if (Objects.nonNull(tenant)) {
+                templateParam.put("${mailAddress}", StringUtils.isNotBlank(tenant.getMailAddress()) ? tenant.getMailAddress() : "");
+                templateParam.put("${idCard}", StringUtils.isNotBlank(tenant.getIdCard()) ? tenant.getIdCard() : "");
+                //企业、政府机构、国有企业
+                if (tenant.getTenantType().equals("2") || tenant.getTenantType().equals("5") || tenant.getTenantType().equals("7")){
+                    templateParam.put("${creditCode}", StringUtils.isNotBlank(tenant.getCreditCode()) ? tenant.getCreditCode() : "");
+                    templateParam.put("${legalPerson}", StringUtils.isNotBlank(tenant.getLegalPerson()) ? tenant.getLegalPerson() : "");
+                    templateFileName = "1_yzj_租赁合同_企业.docx";
+                }
+            }
             templateParam.put("${houseAddress}", tHouse.getHouseAddress());
             templateParam.put("${houseArea}", tHouse.getHouseArea()+"m²");
             long between = ChronoUnit.DAYS.between(contract.getStartTime(), contract.getStartPayTime())+1;
@@ -337,7 +353,7 @@
                 templateParam.put("${checkTime}", "");
 
             }
-            String url = wordUtil.generatePdf("/usr/local/project/file/", "1_yzj_租赁合同.docx", templateParam, "租赁合同", "/usr/local/project/file/");
+            String url = wordUtil.generatePdf("/usr/local/project/file/", templateFileName, templateParam, "租赁合同", "/usr/local/project/file/");
             res.add(url);
         }
 

--
Gitblit v1.7.1