mirror of
				https://github.com/dromara/RuoYi-Vue-Plus.git
				synced 2025-11-04 08:13:44 +08:00 
			
		
		
		
	update 优化当前任务审批人 添加获取当前任务查询
This commit is contained in:
		@@ -21,6 +21,7 @@ public interface IWorkflowUserService {
 | 
				
			|||||||
     * 分页查询工作流选择加签人员
 | 
					     * 分页查询工作流选择加签人员
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
     * @param sysUserMultiBo 参数
 | 
					     * @param sysUserMultiBo 参数
 | 
				
			||||||
 | 
					     * @param pageQuery      分页
 | 
				
			||||||
     * @return 结果
 | 
					     * @return 结果
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    TableDataInfo<SysUserVo> getPageByAddMultiInstance(SysUserMultiBo sysUserMultiBo, PageQuery pageQuery);
 | 
					    TableDataInfo<SysUserVo> getPageByAddMultiInstance(SysUserMultiBo sysUserMultiBo, PageQuery pageQuery);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -50,7 +50,8 @@ public class WorkflowUserServiceImpl implements IWorkflowUserService {
 | 
				
			|||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 分页查询工作流选择加签人员
 | 
					     * 分页查询工作流选择加签人员
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
     * @param bo 参数
 | 
					     * @param bo        参数
 | 
				
			||||||
 | 
					     * @param pageQuery 分页
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    @SuppressWarnings("unchecked")
 | 
					    @SuppressWarnings("unchecked")
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,12 @@
 | 
				
			|||||||
package org.dromara.workflow.utils;
 | 
					package org.dromara.workflow.utils;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import cn.hutool.core.bean.BeanUtil;
 | 
				
			||||||
import lombok.AccessLevel;
 | 
					import lombok.AccessLevel;
 | 
				
			||||||
import lombok.NoArgsConstructor;
 | 
					import lombok.NoArgsConstructor;
 | 
				
			||||||
import org.dromara.common.core.utils.SpringUtils;
 | 
					import org.dromara.common.core.utils.SpringUtils;
 | 
				
			||||||
import org.dromara.common.tenant.helper.TenantHelper;
 | 
					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.ProcessEngine;
 | 
				
			||||||
import org.flowable.engine.history.HistoricActivityInstanceQuery;
 | 
					import org.flowable.engine.history.HistoricActivityInstanceQuery;
 | 
				
			||||||
import org.flowable.engine.history.HistoricProcessInstanceQuery;
 | 
					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.ModelQuery;
 | 
				
			||||||
import org.flowable.engine.repository.ProcessDefinitionQuery;
 | 
					import org.flowable.engine.repository.ProcessDefinitionQuery;
 | 
				
			||||||
import org.flowable.engine.runtime.ProcessInstanceQuery;
 | 
					import org.flowable.engine.runtime.ProcessInstanceQuery;
 | 
				
			||||||
 | 
					import org.flowable.task.api.Task;
 | 
				
			||||||
import org.flowable.task.api.TaskQuery;
 | 
					import org.flowable.task.api.TaskQuery;
 | 
				
			||||||
import org.flowable.task.api.history.HistoricTaskInstanceQuery;
 | 
					import org.flowable.task.api.history.HistoricTaskInstanceQuery;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -131,4 +135,20 @@ public class QueryUtils {
 | 
				
			|||||||
    public static TaskQuery taskQuery(Collection<String> processInstanceIds) {
 | 
					    public static TaskQuery taskQuery(Collection<String> processInstanceIds) {
 | 
				
			||||||
        return taskQuery().processInstanceIdIn(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;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -155,14 +155,7 @@ public class WorkflowUtils {
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                List<HistoricIdentityLink> candidateList = StreamUtils.filter(linksForTask, e -> FlowConstant.CANDIDATE.equals(e.getType()));
 | 
					                List<HistoricIdentityLink> candidateList = StreamUtils.filter(linksForTask, e -> FlowConstant.CANDIDATE.equals(e.getType()));
 | 
				
			||||||
                List<Long> userIdList = new ArrayList<>();
 | 
					                List<Long> userIdList = StreamUtils.toList(linksForTask, e -> Long.valueOf(e.getUserId()));
 | 
				
			||||||
                for (HistoricIdentityLink historicIdentityLink : linksForTask) {
 | 
					 | 
				
			||||||
                    try {
 | 
					 | 
				
			||||||
                        userIdList.add(Long.valueOf(historicIdentityLink.getUserId()));
 | 
					 | 
				
			||||||
                    } catch (NumberFormatException ignored) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
                List<SysUserVo> sysUsers = WORKFLOW_USER_SERVICE.getUserListByIds(userIdList);
 | 
					                List<SysUserVo> sysUsers = WORKFLOW_USER_SERVICE.getUserListByIds(userIdList);
 | 
				
			||||||
                if (CollUtil.isNotEmpty(sysUsers)) {
 | 
					                if (CollUtil.isNotEmpty(sysUsers)) {
 | 
				
			||||||
                    List<Long> userIds = StreamUtils.toList(sysUsers, SysUserVo::getUserId);
 | 
					                    List<Long> userIds = StreamUtils.toList(sysUsers, SysUserVo::getUserId);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user