From d443304829a383dd9ce2ceef5bfdb863adb459c9 Mon Sep 17 00:00:00 2001 From: gssong <1742057357@qq.com> Date: 星期日, 02 六月 2024 09:38:57 +0800 Subject: [PATCH] fix 修复任务查询错误 --- 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..277d3d9 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,10 +5,10 @@ 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; +import org.flowable.engine.history.HistoricProcessInstance; import org.flowable.engine.history.HistoricProcessInstanceQuery; import org.flowable.engine.repository.DeploymentQuery; import org.flowable.engine.repository.ModelQuery; @@ -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; } + HistoricProcessInstance instance = QueryUtils.hisInstanceQuery(task.getProcessInstanceId()).singleResult(); TaskVo taskVo = BeanUtil.toBean(task, TaskVo.class); - ParticipantVo participantVo = WorkflowUtils.getCurrentTaskParticipant(taskId); - taskVo.setParticipantVo(participantVo); + taskVo.setBusinessKey(instance.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