撤销流程的时候 会出现 多次撤销 修改API
parent
fdd57a27c2
commit
8299173d46
|
@ -686,7 +686,6 @@ public class ProcessController {
|
|||
@ResponseBody
|
||||
@PostMapping("/revoke/{id}")
|
||||
public void revoke(@PathVariable("id") int id) {
|
||||
// TODO 发起申请的人,在第一个人还没审批的情况下可以撤回
|
||||
Admin admin = getLoginUser();
|
||||
if (isAdministrator(admin)) {
|
||||
processService.revoke(id);
|
||||
|
@ -699,13 +698,23 @@ public class ProcessController {
|
|||
}
|
||||
List<ProjectTaskRecord> projectTaskRecords = getProjectTaskRecords(id, process.getProcessType());
|
||||
if (projectTaskRecords.size() > 1) {
|
||||
// 有多个人审核过
|
||||
throw ErrorMessageException.failed("流程已经在审核中,不能撤回");
|
||||
// 可能存在撤销情况 会出现 多次 -> 提交申请 提交销售合同流程
|
||||
// 第一个审核详情肯定是 提交申请 ,检查最后一个是不是 提交申请 是的话就可以撤回
|
||||
ProjectTaskRecord lastRecord = projectTaskRecords.get(projectTaskRecords.size() - 1);
|
||||
if (!isStartAuditProgress(lastRecord)) {
|
||||
// 有多个人审核过
|
||||
throw ErrorMessageException.failed("流程已经在审核中,不能撤回");
|
||||
}
|
||||
}
|
||||
processService.revoke(id);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isStartAuditProgress(ProjectTaskRecord record) {
|
||||
return Objects.equals("提交申请", record.getTaskName())
|
||||
&& Objects.equals("提交销售合同流程", record.getTaskComment());
|
||||
}
|
||||
|
||||
private ProjectProcess obtainProjectProcess(int id) {
|
||||
ProjectProcess projectProcess = processService.getById(id);
|
||||
if (projectProcess == null) {
|
||||
|
|
Loading…
Reference in New Issue