合同完成判断

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") @SaCheckPermission("business:task:list")
@GetMapping("/mainFinish") @GetMapping("/mainFinish")
public R<Void> mainFinish(@NotNull Long id) { public R<Void> mainFinish(@NotNull Long id) {
String finish = contractInfoService.finish(psTaskMainService.finishMain(id)); contractInfoService.finish(psTaskMainService.finishMain(id));
if (finish != null){
return R.fail(finish);
}
return R.ok(); return R.ok();
} }

View File

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

View File

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

View File

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

View File

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

View File

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