This commit is contained in:
1073413548 2024-09-06 13:27:33 +08:00
parent 5e82848c2d
commit d7781e355f
5 changed files with 52 additions and 7 deletions

View File

@ -238,4 +238,9 @@ public class PsContractInfoVo implements Serializable {
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date renewalDate;
/**
* 合同完成时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private Date finishDate;
}

View File

@ -1,6 +1,8 @@
package com.pusong.business.domain.vo;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pusong.business.domain.PsSalary;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
@ -55,7 +57,8 @@ public class PsSalaryVo implements Serializable {
/**
* 提成日期
*/
private String salaryDate;
@JsonFormat(pattern = "yyyy-MM")
private Date salaryDate;
/**
* 合同数量

View File

@ -44,7 +44,7 @@ public interface IPsContractInfoService {
* @return 合同基本信息
*/
PsContractInfoVo queryInfoByCustomId(Long customerId);
void fillMoney(PsContractInfoVo vo);
List<PsContractInfo> queryByCode(Long customId, String code, String status);
/**
* 分页查询合同基本信息列表

View File

@ -1,17 +1,26 @@
package com.pusong.business.service.approver.impl;
import com.pusong.business.domain.PsApproverRecord;
import com.pusong.business.domain.PsContractPay;
import com.pusong.business.domain.PsTaskMain;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.pusong.business.domain.*;
import com.pusong.business.domain.vo.PsContractInfoVo;
import com.pusong.business.enums.ApproverTypeEnum;
import com.pusong.business.enums.ContractStatusEnum;
import com.pusong.business.enums.PayStatusEnum;
import com.pusong.business.enums.TaskStatusEnum;
import com.pusong.business.mapper.PsApproverRecordMapper;
import com.pusong.business.mapper.PsContractPayMapper;
import com.pusong.business.mapper.PsTaskAppointMapper;
import com.pusong.business.mapper.PsTaskMainMapper;
import com.pusong.business.service.IPsContractInfoService;
import com.pusong.business.service.IPsTaskService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
/**
* 退款审批()
*/
@ -23,7 +32,11 @@ public class ReturnApproverServiceImpl extends ApproverAbstractServiceImpl {
public String approverType() {
return ApproverTypeEnum.RETURN.getCode();
}
private final PsApproverRecordMapper recordMapper;
private final PsContractPayMapper baseMapper;
private final IPsContractInfoService contractInfoService;
private final PsTaskMainMapper taskMainMapper;
private final PsTaskAppointMapper taskAppointMapper;
/**
* 1 审批成功 退款审批成功
@ -32,9 +45,32 @@ public class ReturnApproverServiceImpl extends ApproverAbstractServiceImpl {
@Override
public void success(PsApproverRecord psApproverRecord) {
PsContractPay info = baseMapper.selectById(psApproverRecord.getBusinessId());
PsContractInfo contract = contractInfoService.queryByCode(null, info.getContractCode(), null).get(0);
//装填金额
PsContractInfoVo vo = new PsContractInfoVo();
vo.setContractCode(contract.getContractCode());
vo.setContractAmount(contract.getContractAmount());
contractInfoService.fillMoney(vo);
//退款后金额小于0的话合同状态变为带回款
if(vo.getResidualMoney().compareTo(info.getMoney()) <= 0){
//合同回退到待回款
PsContractInfo con = new PsContractInfo();
con.setContractCode(contract.getContractCode());
con.setContractStatus(ContractStatusEnum.CREATE.getCode());
contractInfoService.updateByCode(con);
//主任务作废
taskMainMapper.update(Wrappers.<PsTaskMain>lambdaUpdate().set(PsTaskMain::getTaskStatus,TaskStatusEnum.CANCEL.getCode()).eq(PsTaskMain::getContractCode, contract.getContractCode()));
//子任务作废
List<PsTaskAppoint> list = taskAppointMapper.selectList(Wrappers.<PsTaskAppoint>lambdaQuery().select(PsTaskAppoint::getId).eq(PsTaskAppoint::getContractCode, contract.getContractCode()));
if(CollectionUtils.isNotEmpty(list)){
List<String> ids = list.stream().map(PsTaskAppoint::getId).map(Objects::toString).toList();
taskAppointMapper.update(Wrappers.<PsTaskAppoint>lambdaUpdate().set(PsTaskAppoint::getAppointStatus,TaskStatusEnum.AppointStatusEnum.CANCEL.getCode()).eq(PsTaskAppoint::getContractCode, contract.getContractCode()));
//子任务审批删除
recordMapper.delete(Wrappers.<PsApproverRecord>lambdaQuery().in(PsApproverRecord::getBusinessId, ids));
}
}
info.setPayStatus(PayStatusEnum.PAYING.getCode());
baseMapper.updateById(info);
}
/**

View File

@ -511,6 +511,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
//支付金额
PsContractInfoVo vo = new PsContractInfoVo();
vo.setContractCode(contractCode);
vo.setContractAmount(contractInfo.getContractAmount());
this.fillMoney(vo);
List<PsContractPayVo> payVoList = vo.getContractPayVoList().stream()
.filter(item -> StringUtils.equals("1", item.getBusinessType())).toList();
@ -655,7 +656,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
}
return vo;
}
private void fillMoney(PsContractInfoVo vo){
public void fillMoney(PsContractInfoVo vo){
//装填回款记录
List<PsContractPayVo> payList = contractPayService.queryListByContractCode(vo.getContractCode(),null,PayStatusEnum.SUCCESS);
vo.setContractPayVoList(payList);