合同完成判断

This commit is contained in:
mx 2024-09-29 11:37:55 +08:00
parent 2c50e16704
commit 85d5e3e453
7 changed files with 16 additions and 17 deletions

View File

@ -119,10 +119,7 @@ public class PsTaskController extends BaseController {
@SaCheckPermission("business:task:list")
@GetMapping("/mainFinish")
public R<Void> mainFinish(@NotNull Long id) {
String finish = contractInfoService.finish(psTaskMainService.finishMain(id));
if (finish != null){
return R.fail(finish);
}
contractInfoService.finish(psTaskMainService.finishMain(id));
return R.ok();
}

View File

@ -168,6 +168,7 @@ public class PsContractInfoVo implements Serializable {
private String rollBackFailDesc;
/**
* 合同回传状态0未回传1已回传
* CommonStatusEnum
*/
private String rollBackStatus;
/**

View File

@ -66,7 +66,7 @@ public interface IPsTaskService {
* @param contractCode 合同编码
* @return
*/
PsTaskMain queryByContractCode(String contractCode);
List<PsTaskMain> queryByContractCode(String contractCode);
PsTaskMain queryByContractCodeAndServiceCompanyId(String contractCode, Long serviceCompanyId);

View File

@ -77,8 +77,8 @@ public class PayContractApproverServiceImpl extends ApproverAbstractServiceImpl
//如果没有过回款记录初始化任务主表,并修改合同状态
// log.info("查询回款记录数量{}任务状态{}", list.size(),info.getContractStatus());
PsTaskMain task = taskMainService.queryByContractCode(psApproverRecord.getContractCode());
if(task == null || task.getId() == null){
List<PsTaskMain> tasks = taskMainService.queryByContractCode(psApproverRecord.getContractCode());
if(tasks.isEmpty() || tasks.get(0).getId() == null){
log.info("任务未初始化,初始化任务主表");
List<PsTaskMain> psTaskMainList = new ArrayList<>();
for (PsCompanyInfoVo psCompanyInfoVo : info.getPsCompanySerivceVo()) {

View File

@ -124,7 +124,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
if (companyInfoBo.getId() == null){
companyInfoService.saveBo(companyInfoBo);
}else{
PsCompanyInfo update = MapstructUtils.convert(bo, PsCompanyInfo.class);
PsCompanyInfo update = MapstructUtils.convert(companyInfoBo, PsCompanyInfo.class);
companyInfoMapper.updateById(update);
for (PsContractBusinessBo psContractBusinessBo : companyInfoBo.getBusinessList()) {
psContractBusinessBo.setCompanyId(companyInfoBo.getId());
@ -488,6 +488,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
makePdf(add, updateBo,true);
finish(updateBo.getContractCode());
}
public ContractStatusEnum calcContractStatus(PsContractInfoBo updateBo){
@ -692,7 +693,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
}
/**
* 合同完成
* 合同检测是否完成
* 回传合同的条件
* 1. 生成合同所选服务类别不包含托管服务非托管业务包括新签续费
* 1. 合同金额 > = 8000元必须回传合同电子签章申请成功后才能回传合同
@ -759,7 +760,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
if(num > 0){
return "还有未完任务";
}
if (info.getResidualMoney().compareTo(BigDecimal.ZERO) <= 0){
if (info.getResidualMoney().compareTo(BigDecimal.ZERO) > 0){
return "还有未回款";
}
PsContractInfo psContractInfo = new PsContractInfo();

View File

@ -234,8 +234,8 @@ public class PsTaskServiceImpl implements IPsTaskService {
* @param contractCode 合同编码
* @return
*/
public PsTaskMain queryByContractCode(String contractCode){
return baseMapper.selectOne(Wrappers.<PsTaskMain>lambdaQuery().eq(PsTaskMain::getContractCode, contractCode)
public List<PsTaskMain> queryByContractCode(String contractCode){
return baseMapper.selectList(Wrappers.<PsTaskMain>lambdaQuery().eq(PsTaskMain::getContractCode, contractCode)
.eq(PsTaskMain::getTaskType,TaskTypeEnum.CONTRACT.getCode()).ne(PsTaskMain::getTaskStatus,TaskStatusEnum.CANCEL.getCode()));
}
@ -263,12 +263,12 @@ public class PsTaskServiceImpl implements IPsTaskService {
// log.error("任务已完成,无法修改");
// throw new ServiceException("任务已完成,无法修改");
// }
customerId=taskMain.getCustomId();
companyId=taskMain.getCompanyId();
customerId = taskMain.getCustomId();
companyId = taskMain.getCompanyId();
}else if(StringUtils.isNotBlank(save.getContractCode())){
PsContractInfo con = contractInfoMapper.selectOne(Wrappers.<PsContractInfo>lambdaQuery().eq(PsContractInfo::getContractCode, save.getContractCode()));
customerId=con.getCustomId();
companyId=con.getCompanyId();
customerId = con.getCustomId();
companyId = con.getCompanyId();
}else{
log.error("必传参数为空");
throw new ServiceException("必传参数为空");

View File

@ -24,7 +24,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
com.legal_person_idcard com_legal_person_idcard,
com.legal_person_phone com_legal_person_phone,
com.customer_num com_customer_num,
cus.id cus_id,
cus.id cus_id,
cus.custom_name cus_custom_name ,
cus.custom_mobile cus_custom_mobile,
cus.custom_status cus_custom_status,