update 当确收收入的金额=待确收金额时,后一个阶段的确收日期 覆盖 预计到账日期字段。

This commit is contained in:
lijiarao
2024-02-26 10:31:20 +08:00
parent 485793a8ad
commit 6abc1d32af
2 changed files with 31 additions and 1 deletions
@@ -1,7 +1,10 @@
package com.jero.payment.service.impl; package com.jero.payment.service.impl;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.enums.PaymentStatusEnum;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.config.StaticConfig; import com.jero.config.StaticConfig;
import com.jero.contract.common.PayIncomeContractCommon; import com.jero.contract.common.PayIncomeContractCommon;
@@ -30,6 +33,7 @@ import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@@ -76,12 +80,20 @@ public class PayConfirmPaymentRecordService extends ServiceImpl<PayConfirmPaymen
private void updateConfirmAmount(PayConfirmPaymentRecord payConfirmPaymentRecord) { private void updateConfirmAmount(PayConfirmPaymentRecord payConfirmPaymentRecord) {
String projectId = payConfirmPaymentRecord.getProjectId(); String projectId = payConfirmPaymentRecord.getProjectId();
String projectType = payConfirmPaymentRecord.getProjectType(); String projectType = payConfirmPaymentRecord.getProjectType();
//查询最新的记录
LambdaQueryWrapper<PayConfirmPaymentRecord> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayConfirmPaymentRecord::getProjectId,projectId);
wrapper.orderByDesc(PayConfirmPaymentRecord::getCreateTime);
wrapper.last("limit 1");
PayConfirmPaymentRecord lastData = baseMapper.selectOne(wrapper);
Date paymentDate = lastData.getPaymentDate();
//获得金额的和 //获得金额的和
PayConfirmPaymentRecord confirmPaymentRecord = baseMapper.selectOneByProjectIdAndProjectType(projectId, projectType); PayConfirmPaymentRecord confirmPaymentRecord = baseMapper.selectOneByProjectIdAndProjectType(projectId, projectType);
BigDecimal confirmAmount = confirmPaymentRecord.getAmountReceived(); BigDecimal confirmAmount = confirmPaymentRecord.getAmountReceived();
BigDecimal noTaxAmount = confirmPaymentRecord.getNoTaxAmount(); BigDecimal noTaxAmount = confirmPaymentRecord.getNoTaxAmount();
BigDecimal tax = confirmPaymentRecord.getTax(); BigDecimal tax = confirmPaymentRecord.getTax();
Integer affirmIncome; Integer affirmIncome = null;
switch (projectType){ switch (projectType){
// 普通项目 // 普通项目
@@ -97,6 +109,10 @@ public class PayConfirmPaymentRecordService extends ServiceImpl<PayConfirmPaymen
payCommonProject.setConfirmNoTaxAmount(noTaxAmount); payCommonProject.setConfirmNoTaxAmount(noTaxAmount);
affirmIncome = getAffirmIncome(payCommonProject.getReceivableAmount(), confirmAmount); affirmIncome = getAffirmIncome(payCommonProject.getReceivableAmount(), confirmAmount);
payCommonProject.setAffirmIncome(affirmIncome); payCommonProject.setAffirmIncome(affirmIncome);
//如果确收收入的金额=待确收金额时,当前填入的确收日期 覆盖 预计到账日期字段
if (Integer.valueOf(1).equals(affirmIncome)){
payCommonProject.setEstimatedArrivalDate(DateUtil.formatDate(paymentDate));
}
payCommonProjectMapper.updateById(payCommonProject); payCommonProjectMapper.updateById(payCommonProject);
break; break;
@@ -112,6 +128,10 @@ public class PayConfirmPaymentRecordService extends ServiceImpl<PayConfirmPaymen
payWorking.setConfirmNoTaxAmount(noTaxAmount); payWorking.setConfirmNoTaxAmount(noTaxAmount);
affirmIncome = getAffirmIncome(payWorking.getReceivableAmount(), confirmAmount); affirmIncome = getAffirmIncome(payWorking.getReceivableAmount(), confirmAmount);
payWorking.setAffirmIncome(affirmIncome); payWorking.setAffirmIncome(affirmIncome);
//如果确收收入的金额=待确收金额时,当前填入的确收日期 覆盖 预计到账日期字段
if (Integer.valueOf(1).equals(affirmIncome)){
payWorking.setEstimatedArrivalDate(DateUtil.formatDate(paymentDate));
}
payWorkingGroupSubItemMapper.updateById(payWorking); payWorkingGroupSubItemMapper.updateById(payWorking);
break; break;
@@ -128,6 +148,10 @@ public class PayConfirmPaymentRecordService extends ServiceImpl<PayConfirmPaymen
meeting.setConfirmNoTaxAmount(noTaxAmount); meeting.setConfirmNoTaxAmount(noTaxAmount);
affirmIncome = getAffirmIncome(meeting.getAmountReceivable(), confirmAmount); affirmIncome = getAffirmIncome(meeting.getAmountReceivable(), confirmAmount);
meeting.setAffirmIncome(affirmIncome); meeting.setAffirmIncome(affirmIncome);
//如果确收收入的金额=待确收金额时,当前填入的确收日期 覆盖 预计到账日期字段
if (Integer.valueOf(1).equals(affirmIncome)){
meeting.setEstimatedArrivalDate(paymentDate);
}
payMeetingSituationMapper.updateById(meeting); payMeetingSituationMapper.updateById(meeting);
break; break;
@@ -144,6 +168,10 @@ public class PayConfirmPaymentRecordService extends ServiceImpl<PayConfirmPaymen
member.setConfirmNoTaxAmount(noTaxAmount); member.setConfirmNoTaxAmount(noTaxAmount);
affirmIncome = getAffirmIncome(member.getAmountReceivable(), confirmAmount); affirmIncome = getAffirmIncome(member.getAmountReceivable(), confirmAmount);
member.setAffirmIncome(affirmIncome); member.setAffirmIncome(affirmIncome);
//如果确收收入的金额=待确收金额时,当前填入的确收日期 覆盖 预计到账日期字段
if (Integer.valueOf(1).equals(affirmIncome)){
member.setEstimatedArrivalDate(DateUtil.formatDate(paymentDate));
}
payMemberProjectSubitemMapper.updateById(member); payMemberProjectSubitemMapper.updateById(member);
break; break;
@@ -276,6 +276,7 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
* 删除 * 删除
* @param payPaymentRecord * @param payPaymentRecord
*/ */
@Override
public void delete(PayPaymentRecord payPaymentRecord){ public void delete(PayPaymentRecord payPaymentRecord){
if(!PaymentStatusEnum.REJECTED.getCode().equals(payPaymentRecord.getPaymentStatus())){ if(!PaymentStatusEnum.REJECTED.getCode().equals(payPaymentRecord.getPaymentStatus())){
throw new JeroBootException("只有拒绝的才可删除"); throw new JeroBootException("只有拒绝的才可删除");
@@ -290,6 +291,7 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
* 编辑 * 编辑
* @param payPaymentRecord * @param payPaymentRecord
*/ */
@Override
public void edit(PayPaymentRecord payPaymentRecord){ public void edit(PayPaymentRecord payPaymentRecord){
if(!PaymentStatusEnum.REJECTED.getCode().equals(payPaymentRecord.getPaymentStatus())){ if(!PaymentStatusEnum.REJECTED.getCode().equals(payPaymentRecord.getPaymentStatus())){
throw new JeroBootException("只有拒绝的才可编辑"); throw new JeroBootException("只有拒绝的才可编辑");