From 0ee46d33cc339f3fd17593e6bfe2f033afe6019a Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期三, 17 六月 2026 15:14:13 +0800
Subject: [PATCH] feat:合同新增时显示供应属性 出库新增根据合同出库 资金账目新增时间条件检索 新增延期出货菜单
---
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/MeterReadRecordServiceImpl.java | 36 +++++++++++++++++++++++++-----------
1 files changed, 25 insertions(+), 11 deletions(-)
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/MeterReadRecordServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/MeterReadRecordServiceImpl.java
index ffcb0f5..90ac7f2 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/MeterReadRecordServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/MeterReadRecordServiceImpl.java
@@ -4,14 +4,8 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.business.dto.MeterReadRecordUpdateDTO;
-import com.by4cloud.platformx.business.entity.Contract;
-import com.by4cloud.platformx.business.entity.ContractSubjectMatter;
-import com.by4cloud.platformx.business.entity.MeterReadRecord;
-import com.by4cloud.platformx.business.entity.PaymentConfirm;
-import com.by4cloud.platformx.business.mapper.ContractMapper;
-import com.by4cloud.platformx.business.mapper.ContractSubjectMatterMapper;
-import com.by4cloud.platformx.business.mapper.MeterReadRecordMapper;
-import com.by4cloud.platformx.business.mapper.PaymentConfirmMapper;
+import com.by4cloud.platformx.business.entity.*;
+import com.by4cloud.platformx.business.mapper.*;
import com.by4cloud.platformx.business.service.MeterReadRecordService;
import com.by4cloud.platformx.common.core.util.R;
import lombok.RequiredArgsConstructor;
@@ -31,6 +25,7 @@
private final ContractMapper contractMapper;
private final ContractSubjectMatterMapper contractSubjectMatterMapper;
+ private final ContractPaymentScheduleMapper contractPaymentScheduleMapper;
private final PaymentConfirmMapper paymentConfirmMapper;
@Override
@@ -40,10 +35,10 @@
.eq(MeterReadRecord::getMeterReadCode,updateDTO.getMeterReadCode()).lt(MeterReadRecord::getCreateTime,record.getCreateTime())
.orderByDesc(MeterReadRecord::getCreateTime).last("limit 1"));
if(ObjUtil.isNull(lastRecord)){
- return R.failed("鏃犳渶杩戞妱鍙疯褰�");
+ return R.failed("鏃犳渶杩戞妱琛ㄨ褰�");
}
- if (updateDTO.getMeterReadNum().compareTo(lastRecord.getMeterReadNum())<0){
- return R.failed("鎶勫彿鏁板瓧涓嶈兘姣斾笂娆″皯");
+ if (updateDTO.getMeterReadNum().compareTo(lastRecord.getMeterReadNum())<=0){
+ return R.failed("鎶勮〃鏁板瓧涓嶈兘姣斾笂娆″皯");
}
record.setMeterReadTime(updateDTO.getMeterReadTime());
record.setMeterReadNum(updateDTO.getMeterReadNum());
@@ -56,6 +51,25 @@
if(ObjUtil.isNull(lastRecord)){
R.failed("鏃犲悎鍚屼俊鎭紝璇疯仈绯绘妧鏈汉鍛�");
}
+ //鍒涘缓鏀舵鑺傜偣
+ //鏌ヨ涓婃鏀舵鑺傜偣
+ ContractPaymentSchedule lastSchedule = contractPaymentScheduleMapper.selectOne(Wrappers.<ContractPaymentSchedule>lambdaQuery()
+ .eq(ContractPaymentSchedule::getContractId,contract.getId())
+ .orderByDesc(ContractPaymentSchedule::getCreateTime).last("limit 1"));
+ ContractPaymentSchedule schedule = new ContractPaymentSchedule();
+ schedule.setStageName("姘寸數浠g即");
+ schedule.setContractId(contract.getId());
+ schedule.setContractName(contract.getContractName());
+ schedule.setPlannedAmount(subjectMatter.getUnitPrice().multiply(updateDTO.getMeterReadNum().subtract(lastRecord.getMeterReadNum())));
+ schedule.setEffectiveEndDate(updateDTO.getMeterReadTime());
+ schedule.setStageOrder(1);
+ if (ObjUtil.isNotNull(lastSchedule)){
+ schedule.setStageOrder(lastSchedule.getStageOrder()+1);
+ }
+ schedule.setPaymentStatus(0);
+ schedule.setActualAmount(new BigDecimal("0"));
+ contractPaymentScheduleMapper.insert(schedule);
+ //鎴垮眿绉熻祦鐢熸垚搴旀敹
PaymentConfirm confirm = new PaymentConfirm();
confirm.setBusinessType(subjectMatter.getMaterialInternalName()+"搴旀敹");
confirm.setBusGuestId(contract.getPartyAId());
--
Gitblit v1.9.1