From 672320f38b6930d508e2bf6026182cee097ff238 Mon Sep 17 00:00:00 2001 From: songgaoshuai <1742057357@qq.com> Date: Thu, 7 Mar 2024 18:28:41 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=AE=A1=E6=89=B9=E4=BA=BA=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=8E=B7=E5=8F=96=E5=BD=93=E5=89=8D=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/IWorkflowUserService.java | 1 + .../service/impl/WorkflowUserServiceImpl.java | 3 ++- .../dromara/workflow/utils/QueryUtils.java | 20 +++++++++++++++++++ .../dromara/workflow/utils/WorkflowUtils.java | 9 +-------- 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IWorkflowUserService.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IWorkflowUserService.java index c7f178ebd..22639d586 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IWorkflowUserService.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IWorkflowUserService.java @@ -21,6 +21,7 @@ public interface IWorkflowUserService { * 分页查询工作流选择加签人员 * * @param sysUserMultiBo 参数 + * @param pageQuery 分页 * @return 结果 */ TableDataInfo getPageByAddMultiInstance(SysUserMultiBo sysUserMultiBo, PageQuery pageQuery); diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowUserServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowUserServiceImpl.java index 2bc444f92..c4b221df8 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowUserServiceImpl.java @@ -50,7 +50,8 @@ public class WorkflowUserServiceImpl implements IWorkflowUserService { /** * 分页查询工作流选择加签人员 * - * @param bo 参数 + * @param bo 参数 + * @param pageQuery 分页 */ @Override @SuppressWarnings("unchecked") 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 850315fc6..ecf8b728c 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 @@ -1,9 +1,12 @@ package org.dromara.workflow.utils; +import cn.hutool.core.bean.BeanUtil; import lombok.AccessLevel; 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.HistoricProcessInstanceQuery; @@ -11,6 +14,7 @@ import org.flowable.engine.repository.DeploymentQuery; import org.flowable.engine.repository.ModelQuery; import org.flowable.engine.repository.ProcessDefinitionQuery; import org.flowable.engine.runtime.ProcessInstanceQuery; +import org.flowable.task.api.Task; import org.flowable.task.api.TaskQuery; import org.flowable.task.api.history.HistoricTaskInstanceQuery; @@ -131,4 +135,20 @@ public class QueryUtils { public static TaskQuery taskQuery(Collection processInstanceIds) { return taskQuery().processInstanceIdIn(processInstanceIds); } + + /** + * 按照任务id查询当前任务 + * + * @param taskId 任务id + */ + public static TaskVo getTask(String taskId) { + Task task = PROCESS_ENGINE.getTaskService().createTaskQuery().taskId(taskId).singleResult(); + if (task == null) { + return null; + } + TaskVo taskVo = BeanUtil.toBean(task, TaskVo.class); + ParticipantVo participantVo = WorkflowUtils.getCurrentTaskParticipant(taskId); + taskVo.setParticipantVo(participantVo); + return taskVo; + } } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java index 6650d0f81..c9e7f5120 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java @@ -155,14 +155,7 @@ public class WorkflowUtils { } } else { List candidateList = StreamUtils.filter(linksForTask, e -> FlowConstant.CANDIDATE.equals(e.getType())); - List userIdList = new ArrayList<>(); - for (HistoricIdentityLink historicIdentityLink : linksForTask) { - try { - userIdList.add(Long.valueOf(historicIdentityLink.getUserId())); - } catch (NumberFormatException ignored) { - - } - } + List userIdList = StreamUtils.toList(linksForTask, e -> Long.valueOf(e.getUserId())); List sysUsers = WORKFLOW_USER_SERVICE.getUserListByIds(userIdList); if (CollUtil.isNotEmpty(sysUsers)) { List userIds = StreamUtils.toList(sysUsers, SysUserVo::getUserId);