[fix] Task group queue query all list error (#10237)

Add support query all task queue by not given specific groupId

close: #10102
(cherry picked from commit d8db2b57d2)
This commit is contained in:
Jiajie Zhong 2022-05-25 16:33:23 +08:00 committed by Jiajie Zhong
parent e08b08efdd
commit e663043c91
3 changed files with 39 additions and 25 deletions

View File

@ -297,14 +297,21 @@ public class TaskGroupController extends BaseController {
/** /**
* query task group queue list paging * query task group queue list paging
* *
* @param loginUser login user * @param groupId ID for task group
* @param pageNo page number * @param taskName Task Name
* @param pageSize page size * @param processName Process instance name
* @param status Task queue status
* @param loginUser login user
* @param pageNo page number
* @param pageSize page size
* @return queue list * @return queue list
*/ */
@ApiOperation(value = "queryTasksByGroupId", notes = "QUERY_ALL_TASKS_NOTES") @ApiOperation(value = "queryTasksByGroupId", notes = "QUERY_ALL_TASKS_NOTES")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "groupId", value = "GROUP_ID", required = true, dataType = "Int", example = "1"), @ApiImplicitParam(name = "groupId", value = "GROUP_ID", required = false, dataType = "Int", example = "1", defaultValue = "-1"),
@ApiImplicitParam(name = "taskInstanceName", value = "TASK_INSTANCE_NAME", required = false, dataType = "String", example = "taskName"),
@ApiImplicitParam(name = "processInstanceName", value = "PROCESS_INSTANCE_NAME", required = false, dataType = "String", example = "processName"),
@ApiImplicitParam(name = "status", value = "STATUS", required = false, dataType = "Int", example = "1"),
@ApiImplicitParam(name = "pageNo", value = "PAGE_NO", required = true, dataType = "Int", example = "1"), @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", required = true, dataType = "Int", example = "1"),
@ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", required = true, dataType = "Int", example = "20") @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", required = true, dataType = "Int", example = "20")
}) })
@ -313,7 +320,7 @@ public class TaskGroupController extends BaseController {
@ApiException(QUERY_TASK_GROUP_QUEUE_LIST_ERROR) @ApiException(QUERY_TASK_GROUP_QUEUE_LIST_ERROR)
@AccessLogAnnotation(ignoreRequestArgs = "loginUser") @AccessLogAnnotation(ignoreRequestArgs = "loginUser")
public Result queryTasksByGroupId(@ApiIgnore @RequestAttribute(value = Constants.SESSION_USER) User loginUser, public Result queryTasksByGroupId(@ApiIgnore @RequestAttribute(value = Constants.SESSION_USER) User loginUser,
@RequestParam("groupId") Integer groupId, @RequestParam(value = "groupId", required = false, defaultValue = "-1") Integer groupId,
@RequestParam(value = "taskInstanceName",required = false) String taskName, @RequestParam(value = "taskInstanceName",required = false) String taskName,
@RequestParam(value = "processInstanceName",required = false) String processName, @RequestParam(value = "processInstanceName",required = false) String processName,
@RequestParam(value = "status",required = false) Integer status, @RequestParam(value = "status",required = false) Integer status,

View File

@ -28,10 +28,13 @@ public interface TaskGroupQueueService {
/** /**
* query tasks in task group queue by group id * query tasks in task group queue by group id
* @param loginUser login user * @param loginUser login user
* @param groupId group id * @param groupId group id
* @param pageNo page no * @param taskName Task Name
* @param pageSize page size * @param processName Process instance name
* @param status Task queue status
* @param pageNo page no
* @param pageSize page size
* @return tasks list * @return tasks list
*/ */

View File

@ -134,22 +134,26 @@
left join t_ds_process_definition p_f on process.process_definition_code = p_f.code left join t_ds_process_definition p_f on process.process_definition_code = p_f.code
and process.process_definition_version = p_f.version and process.process_definition_version = p_f.version
join t_ds_project as p on p_f.project_code = p.code join t_ds_project as p on p_f.project_code = p.code
where queue.group_id = #{groupId} <where>
<if test="taskName != null and taskName != ''"> <if test="groupId != null and groupId != -1">
and task_name like concat('%', #{taskName}, '%') queue.group_id = #{groupId}
</if> </if>
<if test="processName != null and processName != ''"> <if test="taskName != null and taskName != ''">
and process.name like concat('%', #{processName}, '%') and task_name like concat('%', #{taskName}, '%')
</if> </if>
<if test="status != null"> <if test="processName != null and processName != ''">
and queue.status =#{status} and process.name like concat('%', #{processName}, '%')
</if> </if>
<if test="projects != null and projects.size() > 0"> <if test="status != null">
and p.code in and queue.status =#{status}
<foreach collection="projects" index="index" item="i" open="(" separator="," close=")"> </if>
#{i.code} <if test="projects != null and projects.size() > 0">
</foreach> and p.code in
</if> <foreach collection="projects" index="index" item="i" open="(" separator="," close=")">
#{i.code}
</foreach>
</if>
</where>
order by queue.update_time desc order by queue.update_time desc
</select> </select>