修改合同:执行中合同修改后重新提交erp;驳回状态合同修改后不修改合同状态为待审核
合同提交审核:驳回状态合同可提交审核,去除待审核状态 合同审核:bpm执行完成重新查询当前审批节点并更新合同审批信息
This commit is contained in:
@@ -917,16 +917,17 @@ public class ContractServiceImpl implements ContractService {
|
||||
if (DictEnum.BSE_CTRT_STS_PUSH_ERROR.getCode().equals(oldContractMainDO.getStatus())) {
|
||||
// “推送失败”的状态编辑后状态变为“待推送”
|
||||
newContractMainDO.setStatus(DictEnum.BSE_CTRT_STS_WAIT_PUSH.getCode());
|
||||
} else if (DictEnum.BSE_CTRT_STS_REJECTED.getCode().equals(oldContractMainDO.getStatus())
|
||||
|| DictEnum.BSE_CTRT_STS_IN_PROGRESS.getCode().equals(oldContractMainDO.getStatus())) {
|
||||
// 其它状态编辑后都为“待审核”
|
||||
newContractMainDO.setStatus(DictEnum.BSE_CTRT_STS_WAIT_AUDIT.getCode());
|
||||
}
|
||||
|
||||
// 更新合同主信息
|
||||
int updateNum = contractMainMapper.updateById(newContractMainDO);
|
||||
contractMainMapper.updateById(newContractMainDO);
|
||||
|
||||
return updateNum > 0;
|
||||
if (DictEnum.BSE_CTRT_STS_IN_PROGRESS.getCode().equals(newContractMainDO.getStatus())) {
|
||||
// 执行中合同重新提交erp
|
||||
submitErp(newContractMainDO.getId());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1025,7 +1026,7 @@ public class ContractServiceImpl implements ContractService {
|
||||
|
||||
// 合同状态校验
|
||||
if (!(DictEnum.BSE_CTRT_STS_DRAFT.getCode().equals(contractMainDO.getStatus())
|
||||
|| DictEnum.BSE_CTRT_STS_WAIT_AUDIT.getCode().equals(contractMainDO.getStatus()))) {
|
||||
|| DictEnum.BSE_CTRT_STS_REJECTED.getCode().equals(contractMainDO.getStatus()))) {
|
||||
|
||||
throw exception(CONTRACT_STATUS_NOT_SUBMIT_APPROVAL,
|
||||
DictEnum.getByCodeAndType(contractMainDO.getStatus(), DictTypeConstants.BSE_CTRT_STS).getLabel());
|
||||
@@ -1128,6 +1129,33 @@ public class ContractServiceImpl implements ContractService {
|
||||
badrDto.setTaskId(undoTask.getId()); // 当前审核任务节点id
|
||||
BpmApprovalDetailRespDTO approvalDetail = bpmProcessInstanceApi.getApprovalDetail(SecurityFrameworkUtils.getLoginUserId(), badrDto).getData();
|
||||
|
||||
// 需要调用bpm 审核接口更新审批中的状态
|
||||
if (DictEnum.BSE_CTRT_STS_WAIT_PUSH.getCode().equals(reqVO.getStatus()) && ObjectUtils.isNotEmpty(undoTask)) {
|
||||
if (approvalDetail.getStatus().equals(BpmProcessInstanceStatusEnum.RUNNING.getStatus())) {
|
||||
BpmTaskApproveReqDTO btarDto = new BpmTaskApproveReqDTO();
|
||||
btarDto.setId(undoTask.getId());
|
||||
btarDto.setReason(reqVO.getReviewOpinion());
|
||||
bpmProcessInstanceApi.approveTask(btarDto);
|
||||
}
|
||||
} else if (DictEnum.BSE_CTRT_STS_REJECTED.getCode().equals(reqVO.getStatus()) && ObjectUtils.isNotEmpty(undoTask)) {
|
||||
if (approvalDetail.getStatus().equals(BpmProcessInstanceStatusEnum.RUNNING.getStatus())) {
|
||||
BpmTaskRejectReqDTO btrrDto = new BpmTaskRejectReqDTO();
|
||||
btrrDto.setId(undoTask.getId());
|
||||
btrrDto.setReason(reqVO.getReviewOpinion());
|
||||
bpmProcessInstanceApi.rejectTask(btrrDto);
|
||||
}
|
||||
}
|
||||
|
||||
// 获取当前流程正在审批的任务节点
|
||||
taskList = bpmTaskApi.getTaskListByProcessInstanceId(contractMainDO.getProcessInstanceId()).getData();
|
||||
undoTask = taskList.get(taskList.size() - 1);
|
||||
|
||||
// 判断是否流程已经通过、驳回
|
||||
badrDto = new BpmApprovalDetailReqDTO();
|
||||
badrDto.setProcessInstanceId(contractMainDO.getProcessInstanceId()); // 流程实例id
|
||||
badrDto.setTaskId(undoTask.getId()); // 当前审核任务节点id
|
||||
approvalDetail = bpmProcessInstanceApi.getApprovalDetail(SecurityFrameworkUtils.getLoginUserId(), badrDto).getData();
|
||||
|
||||
// 更新合同状态,状态需要根据流程的状态进行判断
|
||||
contractMainDO.setReviewOpinion(reqVO.getReviewOpinion());
|
||||
if (approvalDetail.getStatus().equals(BpmProcessInstanceStatusEnum.NOT_START.getStatus())) {
|
||||
@@ -1147,23 +1175,6 @@ public class ContractServiceImpl implements ContractService {
|
||||
}
|
||||
contractMainMapper.updateById(contractMainDO);
|
||||
|
||||
// 需要调用bpm 审核接口更新审批中的状态
|
||||
if (DictEnum.BSE_CTRT_STS_WAIT_PUSH.getCode().equals(reqVO.getStatus()) && ObjectUtils.isNotEmpty(undoTask)) {
|
||||
if (approvalDetail.getStatus().equals(BpmProcessInstanceStatusEnum.RUNNING.getStatus())) {
|
||||
BpmTaskApproveReqDTO btarDto = new BpmTaskApproveReqDTO();
|
||||
btarDto.setId(undoTask.getId());
|
||||
btarDto.setReason(reqVO.getReviewOpinion());
|
||||
bpmProcessInstanceApi.approveTask(btarDto);
|
||||
}
|
||||
} else if (DictEnum.BSE_CTRT_STS_REJECTED.getCode().equals(reqVO.getStatus()) && ObjectUtils.isNotEmpty(undoTask)) {
|
||||
if (approvalDetail.getStatus().equals(BpmProcessInstanceStatusEnum.RUNNING.getStatus())) {
|
||||
BpmTaskRejectReqDTO btrrDto = new BpmTaskRejectReqDTO();
|
||||
btrrDto.setId(undoTask.getId());
|
||||
btrrDto.setReason(reqVO.getReviewOpinion());
|
||||
bpmProcessInstanceApi.rejectTask(btrrDto);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user