From 09f98d8509fb22db2edcc18bdafc0c7ab7c3baa1 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期一, 07 四月 2025 09:12:05 +0800
Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/xizang into dev

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java |   33 ++++++++++++++++++++++++---------
 1 files changed, 24 insertions(+), 9 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 007aa13..2456e4c 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,6 +14,7 @@
 import com.ruoyi.common.constant.DictConstants;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.enums.DisabledEnum;
 import com.ruoyi.common.enums.ProcessCategoryEnum;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.DateUtils;
@@ -370,6 +371,18 @@
         return R.ok(res);
     }
 
+    // 计算两个日期相差天数的方法实现:
+    public static long calculateDaysBetween(LocalDateTime start, LocalDateTime end) {
+        return ChronoUnit.DAYS.between(start, end);
+    }
+
+    public static void main(String[] args) {
+        LocalDateTime start = LocalDateTime.of(2024, 1, 1, 0, 0);
+        LocalDateTime end = LocalDateTime.of(2024, 1, 5, 12, 0);
+        long days = calculateDaysBetween(start, end); // 返回4天(不满一天不计)
+
+    }
+
     private String generateContract(TContract contract) {
         String templateFileName = "1_yzj_租赁合同_个人.docx";
         String contractId = contract.getId();
@@ -379,7 +392,8 @@
         if (StringUtils.isNotEmpty(contractId)) {
             firstBill = billService.lambdaQuery()
                     .eq(TBill::getContractId, contractId)
-                    .orderByDesc(TBill::getStartTime)
+                    .orderByAsc(TBill::getStartTime)
+                    .ne(TBill::getManualAddition, DisabledEnum.YES.getCode())
                     .last("limit 1")
                     .one();
             tCheckAcceptRecord = checkAcceptRecordService.lambdaQuery()
@@ -407,6 +421,7 @@
             fill(templateParam, "bankNumber", tenant.getBankNumber());
             fill(templateParam, "bankName", tenant.getBankName());
             fill(templateParam, "partyTwoName", tenant.getLessee());
+            fill(templateParam, "email", tenant.getEmail());
 
             // 企业、政府机构、国有企业
             if (Objects.nonNull(tenant.getTenantType())
@@ -470,19 +485,19 @@
 
         // 首期租金处理
         if (firstBill != null) {
+            double 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, RoundingMode.DOWN).doubleValue();
             fill(templateParam, "firstRent", "¥" + firstBill.getPayableFeesMoney() + "元");
+            // 其他财务字段
+            fill(templateParam, "firstRentString", "人民币" + NumberToChineseUtils.numberToChinese(firstBill.getPayableFeesMoney().doubleValue()));
         } else {
             fill(templateParam, "firstRent", "");
         }
 
-        // 其他财务字段
-        fill(templateParam, "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, RoundingMode.DOWN).doubleValue()));
 
         fill(templateParam, "firstRentString",
                 "人民币"+NumberToChineseUtils.numberToChinese(

--
Gitblit v1.7.1