From e7e6d39b095b6a763e54ab34631171c3de32ec9e Mon Sep 17 00:00:00 2001
From: 李白 <7387820+wjli_13439841639@user.noreply.gitee.com>
Date: 星期五, 15 五月 2026 08:33:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractServiceImpl.java | 83 +++++++++++++++++++++--------------------
1 files changed, 42 insertions(+), 41 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 629e3cb..9f9e4bb 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
@@ -166,19 +166,6 @@
baseMapper.updateById(contract);
ContractPaymentSchedule fitstSchedule = contractPaymentScheduleMapper.selectOne(Wrappers.<ContractPaymentSchedule>lambdaQuery().eq(ContractPaymentSchedule::getContractId,contract.getId())
.orderByAsc(ContractPaymentSchedule::getCreateTime).last("limit 1"));
-// PaymentConfirm entity = new PaymentConfirm();
-// entity.setContractId(contract.getId());
-// entity.setContractName(contract.getContractName());
-// entity.setContractNo(contract.getContractNo());
-// entity.setBusGuestId(contract.getPartyAId());
-// entity.setBusGuestName(contract.getPartyA());
-// entity.setBusinessType(fitstSchedule.getStageName()+"搴旀敹");
-// entity.setTransationAmount(new BigDecimal(fitstSchedule.getPlannedAmount()));
-// entity.setReceivableAmount(new BigDecimal(fitstSchedule.getPlannedAmount()));
-// entity.setTotalAmount(new BigDecimal("0").subtract(new BigDecimal(fitstSchedule.getPlannedAmount())));
-// entity.setConfirmTime(new Date());
-// paymentConfirmMapper.insert(entity);
-
if (fitstSchedule.getStageName().equals("鍚堝悓绛捐")){
//鏂板搴旀敹
PaymentConfirm paymentConfirm = new PaymentConfirm();
@@ -207,43 +194,57 @@
//鏌ヨ鏄惁鏈夊悗缁樁娈�
List<ContractPaymentSchedule> afterSchedule = contractPaymentScheduleMapper.selectList(Wrappers.<ContractPaymentSchedule>lambdaQuery()
.eq(ContractPaymentSchedule::getContractId, fitstSchedule.getContractId())
- .gt(ContractPaymentSchedule::getStageOrder, fitstSchedule.getStageOrder()));
+ .gt(ContractPaymentSchedule::getStageOrder, fitstSchedule.getStageOrder())
+ .orderByAsc(ContractPaymentSchedule::getCreateTime));
if (ArrayUtil.isNotEmpty(afterSchedule.toArray())&&afterSchedule.size()==1){
//鏈�鍚庨樁娈电敓鏁堟椂闂�
ContractPaymentSchedule endSchedule = afterSchedule.get(0);
- endSchedule.setEffectiveDate(DateUtil.offsetDay(new Date(),endSchedule.getAgreedDays()));
- endSchedule.setEffectiveEndDate(contract.getExpirationDate());
- contractPaymentScheduleMapper.updateById(endSchedule);
- //绗竴闃舵鐢熸晥鏃堕棿
- fitstSchedule.setEffectiveDate(DateUtil.offsetDay(new Date(),fitstSchedule.getAgreedDays()));
- fitstSchedule.setEffectiveEndDate(endSchedule.getEffectiveDate());
- contractPaymentScheduleMapper.updateById(fitstSchedule);
+ if (StrUtil.equals(endSchedule.getStageName(),"璐ㄤ繚閲�")){
+ endSchedule.setEffectiveDate(DateUtil.offsetDay(new Date(),endSchedule.getAgreedDays()));
+ endSchedule.setEffectiveEndDate(contract.getExpirationDate());
+ contractPaymentScheduleMapper.updateById(endSchedule);
+ //绗竴闃舵鐢熸晥鏃堕棿
+ fitstSchedule.setEffectiveDate(DateUtil.offsetDay(new Date(),fitstSchedule.getAgreedDays()));
+ fitstSchedule.setEffectiveEndDate(endSchedule.getEffectiveDate());
+ contractPaymentScheduleMapper.updateById(fitstSchedule);
- //鏈�鍚庨樁娈靛簲鏀�
- PaymentConfirm newConfim = new PaymentConfirm();
- newConfim.setBusinessType(endSchedule.getStageName()+"搴旀敹");
- newConfim.setBusGuestId(contract.getPartyAId());
- newConfim.setBusGuestName(contract.getPartyA());
- newConfim.setContractId(contract.getId());
- newConfim.setContractName(contract.getContractName());
- newConfim.setContractNo(contract.getContractNo());
- newConfim.setScheduleId(endSchedule.getId());
- newConfim.setScheduleName(endSchedule.getStageName());
- newConfim.setConfirmTime(new Date());
- newConfim.setTransationAmount(endSchedule.getPlannedAmount());
- newConfim.setReceivableAmount(endSchedule.getPlannedAmount());
- PaymentConfirm lastNewConfirm = paymentConfirmMapper.selectOne(Wrappers.<PaymentConfirm>lambdaQuery().eq(PaymentConfirm::getContractId,contract.getId())
- .orderByDesc(PaymentConfirm::getCreateTime).last("limit 1"));
- BigDecimal lastNewTotal = new BigDecimal("0");
- if(ObjUtil.isNotNull(lastNewConfirm)){
- lastNewTotal = lastNewConfirm.getTotalAmount();
+ //鏈�鍚庨樁娈靛簲鏀�
+ PaymentConfirm newConfim = new PaymentConfirm();
+ newConfim.setBusinessType(endSchedule.getStageName()+"搴旀敹");
+ newConfim.setBusGuestId(contract.getPartyAId());
+ newConfim.setBusGuestName(contract.getPartyA());
+ newConfim.setContractId(contract.getId());
+ newConfim.setContractName(contract.getContractName());
+ newConfim.setContractNo(contract.getContractNo());
+ newConfim.setScheduleId(endSchedule.getId());
+ newConfim.setScheduleName(endSchedule.getStageName());
+ newConfim.setConfirmTime(new Date());
+ newConfim.setTransationAmount(endSchedule.getPlannedAmount());
+ newConfim.setReceivableAmount(endSchedule.getPlannedAmount());
+ PaymentConfirm lastNewConfirm = paymentConfirmMapper.selectOne(Wrappers.<PaymentConfirm>lambdaQuery().eq(PaymentConfirm::getContractId,contract.getId())
+ .orderByDesc(PaymentConfirm::getCreateTime).last("limit 1"));
+ BigDecimal lastNewTotal = new BigDecimal("0");
+ if(ObjUtil.isNotNull(lastNewConfirm)){
+ lastNewTotal = lastNewConfirm.getTotalAmount();
+ }
+ newConfim.setTotalAmount(lastNewTotal.subtract(newConfim.getReceivableAmount()));
+ paymentConfirmMapper.insert(newConfim);
}
- newConfim.setTotalAmount(lastNewTotal.subtract(newConfim.getReceivableAmount()));
- paymentConfirmMapper.insert(newConfim);
+ //鏇存柊鍚堝悓涓嬩釜闃舵
+ contract.setNextScheduleName(endSchedule.getStageName());
+ baseMapper.updateById(contract);
+ }
+ if(ArrayUtil.isNotEmpty(afterSchedule.toArray())&&afterSchedule.size()>1){
+ //鏇存柊鍚堝悓涓嬩釜闃舵
+ contract.setNextScheduleName(afterSchedule.get(0).getStageName());
+ baseMapper.updateById(contract);
}
if(ArrayUtil.isEmpty(afterSchedule.toArray())){
fitstSchedule.setEffectiveEndDate(contract.getExpirationDate());
contractPaymentScheduleMapper.updateById(fitstSchedule);
+ //鏇存柊鍚堝悓涓嬩釜闃舵
+ contract.setNextScheduleName("鏃�");
+ baseMapper.updateById(contract);
}
return Boolean.TRUE;
}
--
Gitblit v1.9.1