update 优化当前任务审批人 添加获取当前任务查询

This commit is contained in:
songgaoshuai 2024-03-07 18:28:41 +08:00
parent f3cd3bb63f
commit 672320f38b
4 changed files with 24 additions and 9 deletions

View File

@ -21,6 +21,7 @@ public interface IWorkflowUserService {
* 分页查询工作流选择加签人员
*
* @param sysUserMultiBo 参数
* @param pageQuery 分页
* @return 结果
*/
TableDataInfo<SysUserVo> getPageByAddMultiInstance(SysUserMultiBo sysUserMultiBo, PageQuery pageQuery);

View File

@ -50,7 +50,8 @@ public class WorkflowUserServiceImpl implements IWorkflowUserService {
/**
* 分页查询工作流选择加签人员
*
* @param bo 参数
* @param bo 参数
* @param pageQuery 分页
*/
@Override
@SuppressWarnings("unchecked")

View File

@ -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<String> 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;
}
}

View File

@ -155,14 +155,7 @@ public class WorkflowUtils {
}
} else {
List<HistoricIdentityLink> candidateList = StreamUtils.filter(linksForTask, e -> FlowConstant.CANDIDATE.equals(e.getType()));
List<Long> userIdList = new ArrayList<>();
for (HistoricIdentityLink historicIdentityLink : linksForTask) {
try {
userIdList.add(Long.valueOf(historicIdentityLink.getUserId()));
} catch (NumberFormatException ignored) {
}
}
List<Long> userIdList = StreamUtils.toList(linksForTask, e -> Long.valueOf(e.getUserId()));
List<SysUserVo> sysUsers = WORKFLOW_USER_SERVICE.getUserListByIds(userIdList);
if (CollUtil.isNotEmpty(sysUsers)) {
List<Long> userIds = StreamUtils.toList(sysUsers, SysUserVo::getUserId);