【问题修复】 同一个人多个待办任务,获取待办任务,优先查询传递的 taskId
This commit is contained in:
parent
9ff56403d6
commit
40b3c49495
|
@ -35,16 +35,16 @@ public interface BpmTaskService {
|
||||||
PageResult<Task> getTaskTodoPage(Long userId, BpmTaskPageReqVO pageReqVO);
|
PageResult<Task> getTaskTodoPage(Long userId, BpmTaskPageReqVO pageReqVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得用户(待办)的任务。
|
* 获得用户(待办)的任务:
|
||||||
* 1、根据 id 查询待办任务
|
* 1. 根据 taskId 查询待办任务
|
||||||
* 2、如果任务不存在,获取指定流程下,首个需要处理任务
|
* 2. 如果任务不存在(或者已审核),获取指定流程下,首个需要处理任务
|
||||||
*
|
*
|
||||||
* @param userId 用户编号
|
* @param userId 用户编号
|
||||||
* @param id 任务编号
|
* @param taskId 任务编号
|
||||||
* @param processInstanceId 流程实例编号
|
* @param processInstanceId 流程实例编号
|
||||||
* @return 待办任务
|
* @return 待办任务
|
||||||
*/
|
*/
|
||||||
BpmTaskRespVO getTodoTask(Long userId, String id, String processInstanceId);
|
BpmTaskRespVO getTodoTask(Long userId, String taskId, String processInstanceId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得已办的流程任务分页
|
* 获得已办的流程任务分页
|
||||||
|
|
|
@ -137,18 +137,18 @@ public class BpmTaskServiceImpl implements BpmTaskService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BpmTaskRespVO getTodoTask(Long userId, String id, String processInstanceId) {
|
public BpmTaskRespVO getTodoTask(Long userId, String taskId, String processInstanceId) {
|
||||||
// 1.1 获取指定的用户待办任务
|
// 1.1 获取指定的用户待办任务
|
||||||
Task todoTask = getMyTodoTask(userId, id);
|
Task todoTask = getMyTodoTask(userId, taskId);
|
||||||
|
// 1.2 获取不到,则获取该流程实例下,第一个用户的待办任务
|
||||||
if (todoTask == null) {
|
if (todoTask == null) {
|
||||||
// 1.2 获取不到,则获取该流程实例下,第一个用户的待办任务
|
todoTask = getMyFirstTodoTask(userId, processInstanceId);
|
||||||
todoTask = getFirstMyTodoTask(userId, processInstanceId);
|
|
||||||
}
|
}
|
||||||
if (todoTask == null) {
|
if (todoTask == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2.查询该任务的子任务
|
// 2. 查询该任务的子任务
|
||||||
List<Task> childrenTasks = getAllChildrenTaskListByParentTaskId(todoTask.getId(), CollUtil.newArrayList(todoTask));
|
List<Task> childrenTasks = getAllChildrenTaskListByParentTaskId(todoTask.getId(), CollUtil.newArrayList(todoTask));
|
||||||
|
|
||||||
// 3. 转换返回
|
// 3. 转换返回
|
||||||
|
@ -169,11 +169,18 @@ public class BpmTaskServiceImpl implements BpmTaskService {
|
||||||
.setNodeType(nodeType).setSignEnable(signEnable).setReasonRequire(reasonRequire);
|
.setNodeType(nodeType).setSignEnable(signEnable).setReasonRequire(reasonRequire);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Task getMyTodoTask(Long userId, String id) {
|
/**
|
||||||
if (StrUtil.isEmpty(id)) {
|
* 获得用户指定 taskId 任务编号的“待办”(未审批、且可审核)的任务
|
||||||
|
*
|
||||||
|
* @param userId 用户编号
|
||||||
|
* @param taskId 任务编号
|
||||||
|
* @return 任务
|
||||||
|
*/
|
||||||
|
private Task getMyTodoTask(Long userId, String taskId) {
|
||||||
|
if (StrUtil.isEmpty(taskId)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
Task task = getTask(id);
|
Task task = getTask(taskId);
|
||||||
if (task == null) {
|
if (task == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -183,7 +190,14 @@ public class BpmTaskServiceImpl implements BpmTaskService {
|
||||||
return task;
|
return task;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Task getFirstMyTodoTask(Long userId, String processInstanceId) {
|
/**
|
||||||
|
* 获得用户指定 processInstanceId 流程编号下的首个“待办”(未审批、且可审核)的任务
|
||||||
|
*
|
||||||
|
* @param userId 用户编号
|
||||||
|
* @param processInstanceId 流程编号
|
||||||
|
* @return 任务
|
||||||
|
*/
|
||||||
|
private Task getMyFirstTodoTask(Long userId, String processInstanceId) {
|
||||||
if (processInstanceId == null) {
|
if (processInstanceId == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue