diff --git a/src/main/java/cn/palmte/work/controller/backend/ProcessController.java b/src/main/java/cn/palmte/work/controller/backend/ProcessController.java index 4be9c11..4e408bb 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProcessController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProcessController.java @@ -655,6 +655,11 @@ public class ProcessController { if (!Objects.equals(admin.getId(), applyPersonId)) { throw ErrorMessageException.failed("流程不属于自己"); } + List<ProjectTaskRecord> projectTaskRecords = getProjectTaskRecords(id, process.getProcessType()); + if (projectTaskRecords.size() > 1) { + // 有多个人审核过 + throw ErrorMessageException.failed("流程已经在审核中,不能撤回"); + } processService.revoke(id); } } @@ -690,10 +695,9 @@ public class ProcessController { // ret.add(create("2021-02-03 22:01:12", "系统产品集成部尹浩审核已通过")); // ret.add(create("2021-03-03 22:05:12", "财务部主管何丹审核已通过")); - ProjectProcess process = processService.getById(id); + ProjectProcess process = obtainProjectProcess(id); ProcessType processType = process.getProcessType(); - List<ProjectTaskRecord> projectTaskRecords = projectTaskRecordService.listV2(id, - processType == ProcessType.sale_contract ? ActProjectTypeEnum.SALE_CONTRACT : ActProjectTypeEnum.BUSINESS_PURCHASE); + List<ProjectTaskRecord> projectTaskRecords = getProjectTaskRecords(id, processType); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return projectTaskRecords.stream() .map(item -> { @@ -702,6 +706,11 @@ public class ProcessController { }).collect(Collectors.toList()); } + private List<ProjectTaskRecord> getProjectTaskRecords(int id, ProcessType processType) { + return projectTaskRecordService.listV2(id, + processType == ProcessType.sale_contract ? ActProjectTypeEnum.SALE_CONTRACT : ActProjectTypeEnum.BUSINESS_PURCHASE); + } + private Map<String, String> create(String timestamp, String content) { Map<String, String> map = new HashMap<>(); map.put("content", content);