From 6cc2da03e03d597da09fd979b4474481c129aa6f Mon Sep 17 00:00:00 2001
From: wangql <937675070@qq.com>
Date: 星期二, 23 四月 2024 10:18:50 +0800
Subject: [PATCH] update 优化工作流模块的集合工具类,统一为CollUtil

---
 ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowUserServiceImpl.java |   44 +++++++++++++++++++++-----------------------
 1 files changed, 21 insertions(+), 23 deletions(-)

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 e30e553..23dd1b6 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
@@ -1,7 +1,6 @@
 package org.dromara.workflow.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -12,7 +11,6 @@
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.common.tenant.helper.TenantHelper;
 import org.dromara.system.domain.SysUser;
 import org.dromara.system.domain.SysUserRole;
 import org.dromara.system.domain.bo.SysUserBo;
@@ -23,9 +21,9 @@
 import org.dromara.workflow.domain.vo.MultiInstanceVo;
 import org.dromara.workflow.domain.vo.TaskVo;
 import org.dromara.workflow.service.IWorkflowUserService;
+import org.dromara.workflow.utils.QueryUtils;
 import org.dromara.workflow.utils.WorkflowUtils;
 import org.flowable.engine.RuntimeService;
-import org.flowable.engine.TaskService;
 import org.flowable.engine.impl.bpmn.behavior.ParallelMultiInstanceBehavior;
 import org.flowable.engine.impl.bpmn.behavior.SequentialMultiInstanceBehavior;
 import org.flowable.task.api.Task;
@@ -46,18 +44,18 @@
 
     private final SysUserMapper sysUserMapper;
     private final SysUserRoleMapper sysUserRoleMapper;
-    private final TaskService taskService;
     private final RuntimeService runtimeService;
 
     /**
      * 鍒嗛〉鏌ヨ宸ヤ綔娴侀�夋嫨鍔犵浜哄憳
      *
-     * @param sysUserMultiBo 鍙傛暟
+     * @param bo        鍙傛暟
+     * @param pageQuery 鍒嗛〉
      */
     @Override
     @SuppressWarnings("unchecked")
-    public TableDataInfo<SysUserVo> getWorkflowAddMultiInstanceByPage(SysUserMultiBo sysUserMultiBo) {
-        Task task = taskService.createTaskQuery().taskId(sysUserMultiBo.getTaskId()).singleResult();
+    public TableDataInfo<SysUserVo> getPageByAddMultiInstance(SysUserMultiBo bo, PageQuery pageQuery) {
+        Task task = QueryUtils.taskQuery().taskId(bo.getTaskId()).singleResult();
         if (task == null) {
             throw new ServiceException("浠诲姟涓嶅瓨鍦�");
         }
@@ -67,19 +65,19 @@
         }
         LambdaQueryWrapper<SysUser> queryWrapper = Wrappers.lambdaQuery();
         //妫�绱㈡潯浠�
-        queryWrapper.eq(StringUtils.isNotEmpty(sysUserMultiBo.getDeptId()), SysUser::getDeptId, sysUserMultiBo.getDeptId());
+        queryWrapper.eq(StringUtils.isNotEmpty(bo.getDeptId()), SysUser::getDeptId, bo.getDeptId());
         queryWrapper.eq(SysUser::getStatus, UserStatus.OK.getCode());
         if (multiInstance.getType() instanceof SequentialMultiInstanceBehavior) {
             List<Long> assigneeList = (List<Long>) runtimeService.getVariable(task.getExecutionId(), multiInstance.getAssigneeList());
-            queryWrapper.notIn(CollectionUtil.isNotEmpty(assigneeList), SysUser::getUserId, assigneeList);
+            queryWrapper.notIn(CollUtil.isNotEmpty(assigneeList), SysUser::getUserId, assigneeList);
         } else {
-            List<Task> list = taskService.createTaskQuery().processInstanceId(task.getProcessInstanceId()).list();
+            List<Task> list = QueryUtils.taskQuery(task.getProcessInstanceId()).list();
             List<Long> userIds = StreamUtils.toList(list, e -> Long.valueOf(e.getAssignee()));
-            queryWrapper.notIn(CollectionUtil.isNotEmpty(userIds), SysUser::getUserId, userIds);
+            queryWrapper.notIn(CollUtil.isNotEmpty(userIds), SysUser::getUserId, userIds);
         }
-        queryWrapper.like(StringUtils.isNotEmpty(sysUserMultiBo.getUserName()), SysUser::getUserName, sysUserMultiBo.getUserName());
-        queryWrapper.like(StringUtils.isNotEmpty(sysUserMultiBo.getNickName()), SysUser::getNickName, sysUserMultiBo.getNickName());
-        Page<SysUser> page = new Page<>(sysUserMultiBo.getPageNum(), sysUserMultiBo.getPageSize());
+        queryWrapper.like(StringUtils.isNotEmpty(bo.getUserName()), SysUser::getUserName, bo.getUserName());
+        queryWrapper.like(StringUtils.isNotEmpty(bo.getNickName()), SysUser::getNickName, bo.getNickName());
+        Page<SysUser> page = new Page<>(pageQuery.getFirstNum(), pageQuery.getPageSize());
         Page<SysUserVo> userPage = sysUserMapper.selectVoPage(page, queryWrapper);
         return TableDataInfo.build(recordPage(userPage));
     }
@@ -91,9 +89,9 @@
      */
     @Override
     @SuppressWarnings("unchecked")
-    public List<TaskVo> getWorkflowDeleteMultiInstanceList(String taskId) {
-        Task task = taskService.createTaskQuery().taskTenantId(TenantHelper.getTenantId()).taskId(taskId).singleResult();
-        List<Task> taskList = taskService.createTaskQuery().taskTenantId(TenantHelper.getTenantId()).processInstanceId(task.getProcessInstanceId()).list();
+    public List<TaskVo> getListByDeleteMultiInstance(String taskId) {
+        Task task = QueryUtils.taskQuery().taskId(taskId).singleResult();
+        List<Task> taskList = QueryUtils.taskQuery(task.getProcessInstanceId()).list();
         MultiInstanceVo multiInstance = WorkflowUtils.isMultiInstance(task.getProcessDefinitionId(), task.getTaskDefinitionKey());
         List<TaskVo> taskListVo = new ArrayList<>();
         if (multiInstance == null) {
@@ -110,7 +108,7 @@
         if (multiInstance.getType() instanceof SequentialMultiInstanceBehavior) {
             List<Long> userIds = StreamUtils.filter(assigneeList, e -> !String.valueOf(e).equals(task.getAssignee()));
             List<SysUserVo> sysUsers = null;
-            if (CollectionUtil.isNotEmpty(userIds)) {
+            if (CollUtil.isNotEmpty(userIds)) {
                 sysUsers = sysUserMapper.selectVoBatchIds(userIds);
             }
             for (Long userId : userIds) {
@@ -120,7 +118,7 @@
                 taskVo.setProcessInstanceId(task.getProcessInstanceId());
                 taskVo.setName(task.getName());
                 taskVo.setAssignee(userId);
-                if (CollectionUtil.isNotEmpty(sysUsers)) {
+                if (CollUtil.isNotEmpty(sysUsers)) {
                     sysUsers.stream().filter(u -> u.getUserId().toString().equals(userId.toString())).findFirst().ifPresent(u -> taskVo.setAssigneeName(u.getNickName()));
                 }
                 taskListVo.add(taskVo);
@@ -128,10 +126,10 @@
             return taskListVo;
         } else if (multiInstance.getType() instanceof ParallelMultiInstanceBehavior) {
             List<Task> tasks = StreamUtils.filter(taskList, e -> StringUtils.isBlank(e.getParentTaskId()) && !e.getExecutionId().equals(task.getExecutionId()) && e.getTaskDefinitionKey().equals(task.getTaskDefinitionKey()));
-            if (CollectionUtil.isNotEmpty(tasks)) {
+            if (CollUtil.isNotEmpty(tasks)) {
                 List<Long> userIds = StreamUtils.toList(tasks, e -> Long.valueOf(e.getAssignee()));
                 List<SysUserVo> sysUsers = null;
-                if (CollectionUtil.isNotEmpty(userIds)) {
+                if (CollUtil.isNotEmpty(userIds)) {
                     sysUsers = sysUserMapper.selectVoBatchIds(userIds);
                 }
                 for (Task t : tasks) {
@@ -141,7 +139,7 @@
                     taskVo.setProcessInstanceId(t.getProcessInstanceId());
                     taskVo.setName(t.getName());
                     taskVo.setAssignee(Long.valueOf(t.getAssignee()));
-                    if (CollectionUtil.isNotEmpty(sysUsers)) {
+                    if (CollUtil.isNotEmpty(sysUsers)) {
                         sysUsers.stream().filter(u -> u.getUserId().toString().equals(t.getAssignee())).findFirst().ifPresent(e -> taskVo.setAssigneeName(e.getNickName()));
                     }
                     taskListVo.add(taskVo);
@@ -204,7 +202,7 @@
      * @param pageQuery 鍒嗛〉
      */
     @Override
-    public TableDataInfo<SysUserVo> getUserListByPage(SysUserBo sysUserBo, PageQuery pageQuery) {
+    public TableDataInfo<SysUserVo> getPageByUserList(SysUserBo sysUserBo, PageQuery pageQuery) {
         LambdaQueryWrapper<SysUser> queryWrapper = Wrappers.lambdaQuery();
         queryWrapper.eq(sysUserBo.getDeptId() != null, SysUser::getDeptId, sysUserBo.getDeptId());
         queryWrapper.eq(SysUser::getStatus, UserStatus.OK.getCode());

--
Gitblit v1.9.3