From fca21683e1b5b906d2514082ddfbae8eb820c9ea Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期五, 15 五月 2026 17:12:55 +0800
Subject: [PATCH] feat:合同模版、出库标的物、合同管理拆分
---
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentConfirmServiceImpl.java | 21 ++++++++++++++++++++-
1 files changed, 20 insertions(+), 1 deletions(-)
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentConfirmServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentConfirmServiceImpl.java
index 8451ea7..41635d1 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentConfirmServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentConfirmServiceImpl.java
@@ -98,6 +98,7 @@
if (ArrayUtil.isNotEmpty(scheduleList.toArray())){
BigDecimal remain = addDTO.getTransationAmount();
for (ContractPaymentSchedule schedule:scheduleList) {
+ BigDecimal lastRemain = remain;
remain = remain.subtract(StrUtil.equals(schedule.getPaymentStatus()+"","0")?schedule.getPlannedAmount():
schedule.getPlannedAmount().subtract(schedule.getActualAmount()));
if (remain.compareTo(new BigDecimal("0"))>=0){
@@ -112,16 +113,34 @@
//鏂板閫炬湡鍘嗗彶
HistoryOverdue historyOverdue = BeanUtil.copyProperties(currentOverdue,HistoryOverdue.class,"id");
historyOverdue.setPaymentTime(addDTO.getConfirmTime());
+ historyOverdue.setCompId(schedule.getCompId());
historyOverdueMapper.insert(historyOverdue);
//鍒犻櫎褰撳墠閫炬湡
currentOverdueMapper.deleteById(currentOverdue);
}
}else {
schedule.setActualAmount(StrUtil.equals(schedule.getPaymentStatus()+"","0")?schedule.getPlannedAmount().add(remain):
- schedule.getPlannedAmount().subtract(schedule.getActualAmount()).add(remain));
+ schedule.getActualAmount().add(lastRemain));
schedule.setPaymentDate(addDTO.getConfirmTime());
schedule.setPaymentStatus(1);
contractPaymentScheduleMapper.updateById(schedule);
+ //鏌ヨ鏄惁鏈夊綋鍓嶉�炬湡
+ CurrentOverdue currentOverdue = currentOverdueMapper.selectOne(Wrappers.<CurrentOverdue>lambdaQuery().eq(CurrentOverdue::getScheduleId,schedule.getId())
+ .eq(CurrentOverdue::getContractId,schedule.getContractId()).last("limit 1"));
+ if (ObjUtil.isNotNull(currentOverdue)){
+ //鏂板閫炬湡鍘嗗彶
+ HistoryOverdue historyOverdue = BeanUtil.copyProperties(currentOverdue,HistoryOverdue.class,"id");
+ historyOverdue.setReceivableAmount(lastRemain);
+ historyOverdue.setPaymentTime(addDTO.getConfirmTime());
+ historyOverdue.setCompId(schedule.getCompId());
+ historyOverdueMapper.insert(historyOverdue);
+ //鏌ヨ鍘嗗彶宸蹭粯閫炬湡閲戦
+ List<HistoryOverdue> historyOverdueList = historyOverdueMapper.selectList(Wrappers.<HistoryOverdue>lambdaQuery().eq(HistoryOverdue::getScheduleId,currentOverdue.getScheduleId()));
+ BigDecimal hisTotal = historyOverdueList.stream().map(item->item.getReceivableAmount()).reduce(BigDecimal.ZERO,BigDecimal::add);
+ //鏇存柊褰撳墠閫炬湡
+ currentOverdue.setReceivableAmount(schedule.getPlannedAmount().subtract(hisTotal));
+ currentOverdueMapper.updateById(currentOverdue);
+ }
break;
}
}
--
Gitblit v1.9.1