From 3c2c87364b89de46d12e95abd5bdf8cbd2c6dbf6 Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期三, 12 三月 2025 08:43:23 +0800
Subject: [PATCH] dev-init

---
 ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/QueryUtils.java |   21 ++++++++++++++++++---
 1 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/QueryUtils.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/QueryUtils.java
index ecf8b72..df928dc 100644
--- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/QueryUtils.java
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/QueryUtils.java
@@ -5,7 +5,6 @@
 import lombok.NoArgsConstructor;
 import org.dromara.common.core.utils.SpringUtils;
 import org.dromara.common.tenant.helper.TenantHelper;
-import org.dromara.workflow.domain.vo.ParticipantVo;
 import org.dromara.workflow.domain.vo.TaskVo;
 import org.flowable.engine.ProcessEngine;
 import org.flowable.engine.history.HistoricActivityInstanceQuery;
@@ -13,6 +12,7 @@
 import org.flowable.engine.repository.DeploymentQuery;
 import org.flowable.engine.repository.ModelQuery;
 import org.flowable.engine.repository.ProcessDefinitionQuery;
+import org.flowable.engine.runtime.ProcessInstance;
 import org.flowable.engine.runtime.ProcessInstanceQuery;
 import org.flowable.task.api.Task;
 import org.flowable.task.api.TaskQuery;
@@ -76,6 +76,10 @@
         return hisTaskInstanceQuery().processInstanceId(processInstanceId);
     }
 
+    public static HistoricTaskInstanceQuery hisTaskBusinessKeyQuery(String businessKey) {
+        return hisTaskInstanceQuery().processInstanceBusinessKey(businessKey);
+    }
+
     public static ProcessInstanceQuery instanceQuery() {
         ProcessInstanceQuery query = PROCESS_ENGINE.getRuntimeService().createProcessInstanceQuery();
         if (TenantHelper.isEnable()) {
@@ -86,6 +90,10 @@
 
     public static ProcessInstanceQuery instanceQuery(String processInstanceId) {
         return instanceQuery().processInstanceId(processInstanceId);
+    }
+
+    public static ProcessInstanceQuery businessKeyQuery(String businessKey) {
+        return instanceQuery().processInstanceBusinessKey(businessKey);
     }
 
     public static ProcessInstanceQuery instanceQuery(Set<String> processInstanceIds) {
@@ -102,6 +110,10 @@
 
     public static HistoricProcessInstanceQuery hisInstanceQuery(String processInstanceId) {
         return hisInstanceQuery().processInstanceId(processInstanceId);
+    }
+
+    public static HistoricProcessInstanceQuery hisBusinessKeyQuery(String businessKey) {
+        return hisInstanceQuery().processInstanceBusinessKey(businessKey);
     }
 
     public static HistoricProcessInstanceQuery hisInstanceQuery(Set<String> processInstanceIds) {
@@ -146,9 +158,12 @@
         if (task == null) {
             return null;
         }
+        ProcessInstance processInstance = QueryUtils.instanceQuery(task.getProcessInstanceId()).singleResult();
         TaskVo taskVo = BeanUtil.toBean(task, TaskVo.class);
-        ParticipantVo participantVo = WorkflowUtils.getCurrentTaskParticipant(taskId);
-        taskVo.setParticipantVo(participantVo);
+        taskVo.setBusinessKey(processInstance.getBusinessKey());
+        taskVo.setMultiInstance(WorkflowUtils.isMultiInstance(task.getProcessDefinitionId(), task.getTaskDefinitionKey()) != null);
+        String businessStatus = WorkflowUtils.getBusinessStatus(taskVo.getBusinessKey());
+        taskVo.setBusinessStatus(businessStatus);
         return taskVo;
     }
 }

--
Gitblit v1.9.3