From efd229f59ecd8aae8e1e9764859824a82bf4b111 Mon Sep 17 00:00:00 2001
From: zhangmei <645025773@qq.com>
Date: 星期三, 19 三月 2025 09:50:11 +0800
Subject: [PATCH] 修改邮件
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java | 83 ++++++++++++++++++++++++++++-------------
1 files changed, 56 insertions(+), 27 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 f24a0cd..8a363c6 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
@@ -92,11 +92,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")){
//发起合同新增审批
@@ -134,7 +136,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);
}
@@ -145,6 +147,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()));
@@ -222,14 +225,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);
@@ -256,7 +259,14 @@
TContract contract = contractService.getById(id);
contract.setStatus("8");
contractService.updateById(contract);
- return R.ok();
+ // 将所有未缴费账单设置未已失效
+ List<TBill> tBills = billService.list(new LambdaQueryWrapper<TBill>()
+ .ne(TBill::getPayFeesStatus, 3)
+ .eq(TBill::getContractId, contract.getId()));
+ for (TBill tBill : tBills) {
+ tBill.setPayFeesStatus("5");
+ }
+ billService.updateBatchById(tBills); return R.ok();
}
@ApiOperation(value = "终止合同剩余未缴费账单列表")
@PostMapping(value = "/contractBillList")
@@ -285,32 +295,51 @@
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²");
- templateParam.put("startTime", DateUtils.localDateTimeToStringYear(contract.getStartTime()));
- templateParam.put("endTime", DateUtils.localDateTimeToStringYear(contract.getEndTime()));
- templateParam.put("monthRent", "¥¥"+contract.getMonthRent()+"元");
- templateParam.put("monthRentString", "人民币"+NumberToChineseUtils.numberToChinese(contract.getMonthRent().setScale(2, BigDecimal.ROUND_DOWN).doubleValue()));
+ 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()+"元");
+ templateParam.put("${monthRentString}", "人民币"+NumberToChineseUtils.numberToChinese(contract.getMonthRent().setScale(2, BigDecimal.ROUND_DOWN).doubleValue()));
String totalYear = Objects.nonNull(contract.getTotalYear())?contract.getTotalYear().toString():"";
- templateParam.put("totalYear", "¥¥"+totalYear+"元");
+ templateParam.put("${totalYear}", "¥"+totalYear+"元");
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)+"元");
- 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()+"元");
- templateParam.put("depositString", NumberToChineseUtils.numberToChinese(contract.getDeposit().setScale(2, BigDecimal.ROUND_DOWN).doubleValue()));
- templateParam.put("partyOnePerson", contract.getPartyOnePerson());
- templateParam.put("partyOnePhone", contract.getPartyOnePhone());
- templateParam.put("partyTwoPerson", contract.getPartyTwoPerson());
- templateParam.put("partyTwoPhone", contract.getPartyTwoPhone());
- String url = wordUtil.generatePdf("/template", "1_yzj_租赁合同.xml", templateParam, "租赁合同", "E:\\");
- System.out.println(url);
+ templateParam.put("${totalYearString}", "人民币"+totalYearString);
+ templateParam.put("${payType}", contract.getPayType().equals("1")?"月":contract.getPayType().equals("2")?"季":"年");
+ 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()+"元");
+ templateParam.put("${depositString}", NumberToChineseUtils.numberToChinese(contract.getDeposit().setScale(2, BigDecimal.ROUND_DOWN).doubleValue()));
+ templateParam.put("${partyOnePerson}", contract.getPartyOnePerson());
+ 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("/usr/local/project/file/", "1_yzj_租赁合同.docx", templateParam, "租赁合同", "/usr/local/project/file/");
res.add(url);
}
--
Gitblit v1.7.1