From 12f73bafbe361f78d68a35de83ca3b3b4d4e0224 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期五, 14 二月 2025 16:27:43 +0800 Subject: [PATCH] 查询待办任务时,判断是否挂起状态 --- common/src/main/java/com/ycl/common/enums/business/TaskStatusEnum.java | 3 ++- business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java | 9 ++++++++- business/src/main/java/com/ycl/service/ProcessLogService.java | 9 +++++++++ business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java | 9 +++++++++ 4 files changed, 28 insertions(+), 2 deletions(-) diff --git a/business/src/main/java/com/ycl/service/ProcessLogService.java b/business/src/main/java/com/ycl/service/ProcessLogService.java index 319bb4f..923854c 100644 --- a/business/src/main/java/com/ycl/service/ProcessLogService.java +++ b/business/src/main/java/com/ycl/service/ProcessLogService.java @@ -70,6 +70,15 @@ Boolean taskDelegation(String processInstanceId, String taskId); /** + * 妫�鏌ヤ换鍔℃槸鍚︽寕璧� + * + * @param taskId 浠诲姟id + * @param processInsId 娴佺▼瀹炰緥id + * @return true 鎸傝捣鐨� false娌℃寕璧� + */ + Boolean taskIsHangup(String taskId, String processInsId); + + /** * 娴佺▼鎺ㄨ繘鏃ュ織 * * @param query diff --git a/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java index 2d31b69..7997fbd 100644 --- a/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java @@ -137,6 +137,15 @@ return CollectionUtils.isNotEmpty(list); } + @Override + public Boolean taskIsHangup(String taskId, String processInsId) { + Long num = new LambdaQueryChainWrapper<>(baseMapper) + .eq(ProcessLog::getProcessInsId, processInsId) + .eq(ProcessLog::getTaskId, taskId) + .in(ProcessLog::getEventType, ProcessLogEventTypeEnum.HANGUP, ProcessLogEventTypeEnum.CANCEL_HANGUP) + .count(); + return num % 2 != 0; + } @Override public Result projectProcessLogPage(ProcessLogQuery query) { diff --git a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java index 80385fa..6ac5ced 100644 --- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java @@ -409,7 +409,10 @@ } } } - + // 妫�鏌ユ槸鍚︽寕璧� + if (processLogService.taskIsHangup(task.getId(), task.getProcessInstanceId())) { + taskVO.setTaskStatus(TaskStatusEnum.HANGUP); + } this.distinctVo(taskVO); vos.add(taskVO); } @@ -755,6 +758,10 @@ for (Task task : taskList) { CustomerTaskVO taskVO = new CustomerTaskVO(); this.setRuntimeTaskInfo(task, taskVO, projectId); + // 妫�鏌ユ槸鍚︽寕璧� + if (processLogService.taskIsHangup(task.getId(), task.getProcessInstanceId())) { + taskVO.setTaskStatus(TaskStatusEnum.HANGUP); + } vos.add(taskVO); } result.put("taskList", vos); diff --git a/common/src/main/java/com/ycl/common/enums/business/TaskStatusEnum.java b/common/src/main/java/com/ycl/common/enums/business/TaskStatusEnum.java index a942187..4502b0c 100644 --- a/common/src/main/java/com/ycl/common/enums/business/TaskStatusEnum.java +++ b/common/src/main/java/com/ycl/common/enums/business/TaskStatusEnum.java @@ -14,7 +14,8 @@ NOT_START("not_start", "鏈紑濮�"), TODO("todo", "寰呭姙"), - FINISHED("finished", "宸插畬鎴�") + FINISHED("finished", "宸插畬鎴�"), + HANGUP("HANGUP", "鎸傝捣"), ; private final String value; -- Gitblit v1.8.0