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