From d36a5483f0287028bf65cfcd69b88543070e7e98 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期四, 28 五月 2026 14:44:27 +0800
Subject: [PATCH] feat:新增房屋租赁/水电代缴合同新增功能 新增逾期出库功能 新增水电代缴合同抄表功能
---
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractServiceImpl.java | 44 ++++++++++++++++++++++++++++++++++++++------
1 files changed, 38 insertions(+), 6 deletions(-)
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractServiceImpl.java
index 029813d..6634811 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractServiceImpl.java
@@ -179,6 +179,19 @@
subjectMatter.setDeliveredQuantity(new BigDecimal("0"));
subjectMatter.setDeliveryStatus(0);
contractSubjectMatterMapper.insert(subjectMatter);
+ //姘寸數绫诲繀椤绘湁鍒濇琛ㄥ彿
+ if (StrUtil.isNotEmpty(contractSubjectMatterAddDTO.getMeterReadCode()) &&
+ ObjUtil.isNotNull(contractSubjectMatterAddDTO.getMeterReadNum())) {
+ meterReadRecordMapper.delete(Wrappers.<MeterReadRecord>lambdaQuery().eq(MeterReadRecord::getContractId, contract.getId()));
+ MeterReadRecord record = BeanUtil.copyProperties(contractSubjectMatterAddDTO, MeterReadRecord.class,"id");
+ record.setContractId(contract.getId());
+ record.setMatterId(subjectMatter.getId());
+ record.setContractName(contract.getContractName());
+ record.setBusGuestId(contract.getPartyAId());
+ record.setBusGuestName(contract.getPartyA());
+ record.setMeterReadTime(new Date());
+ meterReadRecordMapper.insert(record);
+ }
});
}
@@ -506,7 +519,6 @@
PaymentConfirm oiverdueConfirm = paymentConfirmMapper.selectOne(Wrappers.<PaymentConfirm>lambdaQuery().eq(PaymentConfirm::getScheduleId, contractPaymentSchedule.getId())
.eq(PaymentConfirm::getBusinessType, "搴旀敹瓒呮湡"));
if (ObjUtil.isNull(oiverdueConfirm) && overdueConfirm.getTransationAmount().compareTo(new BigDecimal("0")) > 0) {
- overdueConfirm.setCompId(contractPaymentSchedule.getCompId());
paymentConfirmMapper.insert(overdueConfirm);
}
//褰撳墠閫炬湡
@@ -525,7 +537,6 @@
CurrentOverdue overdue = currentOverdueMapper.selectOne(Wrappers.<CurrentOverdue>lambdaQuery().eq(CurrentOverdue::getContractId, currentOverdue.getContractId())
.eq(CurrentOverdue::getScheduleId, currentOverdue.getScheduleId()).last("limit 1"));
if (ObjUtil.isNull(overdue)) {
- currentOverdue.setCompId(contractPaymentSchedule.getCompId());
if (currentOverdue.getReceivableAmount().compareTo(new BigDecimal("0")) > 0) {
currentOverdueMapper.insert(currentOverdue);
}
@@ -607,11 +618,11 @@
Map<String, Object> item = new HashMap<>();
item.put("no", no);
item.put("materialName", contractSubjectMatter.getMaterialName());
- item.put("guige", "");
- item.put("unit", "");
+ item.put("guige", contractSubjectMatter.getSpecification());
+ item.put("unit", contractSubjectMatter.getUnit());
item.put("quantity", contractSubjectMatter.getQuantity());
- item.put("danzhong", "");
- item.put("zongzhong", "");
+ item.put("danzhong", contractSubjectMatter.getSingleWight());
+ item.put("zongzhong", contractSubjectMatter.getTotalWight());
item.put("unitPrice", contractSubjectMatter.getUnitPrice());
item.put("price", contractSubjectMatter.getTotalAmount());
items.add(item);
@@ -689,6 +700,25 @@
record.setBusGuestName(contract.getPartyA());
meterReadRecordMapper.insert(record);
}else {
+ //鍒涘缓鏀舵鑺傜偣
+ //鏌ヨ涓婃鏀舵鑺傜偣
+ ContractPaymentSchedule lastSchedule = contractPaymentScheduleMapper.selectOne(Wrappers.<ContractPaymentSchedule>lambdaQuery()
+ .eq(ContractPaymentSchedule::getContractId,contract.getId())
+ .orderByDesc(ContractPaymentSchedule::getCreateTime).last("limit 1"));
+ ContractPaymentSchedule schedule = new ContractPaymentSchedule();
+ schedule.setStageName("鎴跨绉熻祦缂磋垂");
+ schedule.setContractId(contract.getId());
+ schedule.setContractName(contract.getContractName());
+ schedule.setPlannedAmount(subjectMatter.getUnitPrice().multiply(subjectMatter.getQuantity()));
+ schedule.setEffectiveEndDate(contractExecDate.getExecDate());
+ schedule.setStageOrder(1);
+ if (ObjUtil.isNotNull(lastSchedule)){
+ schedule.setStageOrder(lastSchedule.getStageOrder()+1);
+ }
+ schedule.setPaymentStatus(0);
+ schedule.setActualAmount(new BigDecimal("0"));
+ schedule.setCompId(contract.getCompId());
+ contractPaymentScheduleMapper.insert(schedule);
//鎴垮眿绉熻祦鐢熸垚搴旀敹
PaymentConfirm confirm = new PaymentConfirm();
confirm.setBusinessType("鎴垮眿绉熻祦搴旀敹");
@@ -697,6 +727,8 @@
confirm.setContractId(contract.getId());
confirm.setContractName(contract.getContractName());
confirm.setContractNo(contract.getContractNo());
+ confirm.setScheduleId(schedule.getId());
+ confirm.setScheduleName(schedule.getStageName());
confirm.setConfirmTime(contractExecDate.getExecDate());
confirm.setTransationAmount(subjectMatter.getUnitPrice().multiply(subjectMatter.getQuantity()));
confirm.setTotalAmount(confirm.getTransationAmount().multiply(new BigDecimal("-1")));
--
Gitblit v1.9.1