mirror of
				https://github.com/dromara/RuoYi-Vue-Plus.git
				synced 2025-11-04 08:13:44 +08:00 
			
		
		
		
	fix 修复待办认领后查询数据错误
This commit is contained in:
		@@ -241,13 +241,15 @@ public class ActTaskServiceImpl implements IActTaskService {
 | 
			
		||||
    public TableDataInfo<TaskVo> getPageByTaskWait(TaskBo taskBo, PageQuery pageQuery) {
 | 
			
		||||
        QueryWrapper<TaskVo> queryWrapper = new QueryWrapper<>();
 | 
			
		||||
        List<RoleDTO> roles = LoginHelper.getLoginUser().getRoles();
 | 
			
		||||
        List<String> roleIds = StreamUtils.toList(roles, e -> String.valueOf(e.getRoleId()));
 | 
			
		||||
        String userId = String.valueOf(LoginHelper.getUserId());
 | 
			
		||||
        queryWrapper.eq("t.business_status_", BusinessStatusEnum.WAITING.getStatus());
 | 
			
		||||
        queryWrapper.eq(TenantHelper.isEnable(), "t.tenant_id_", TenantHelper.getTenantId());
 | 
			
		||||
        queryWrapper.and(w1 ->
 | 
			
		||||
            w1.eq("t.assignee_", userId)
 | 
			
		||||
                .or(w2 -> w2.isNull("t.assignee_")
 | 
			
		||||
                    .and(w3 -> w3.eq("t.user_id_", userId).or().in("t.group_id_", StreamUtils.toList(roles, RoleDTO::getRoleId))))
 | 
			
		||||
                    .apply("exists ( select LINK.ID_ from ACT_RU_IDENTITYLINK LINK where LINK.TASK_ID_ = t.ID_ and LINK.TYPE_ = 'candidate' " +
 | 
			
		||||
                        "and (LINK.USER_ID_ = {0} or ( LINK.GROUP_ID_ IN " + getInParam(roleIds) + " ) ))", userId))
 | 
			
		||||
        );
 | 
			
		||||
        if (StringUtils.isNotBlank(taskBo.getName())) {
 | 
			
		||||
            queryWrapper.like("t.name_", taskBo.getName());
 | 
			
		||||
@@ -269,6 +271,19 @@ public class ActTaskServiceImpl implements IActTaskService {
 | 
			
		||||
        return new TableDataInfo<>(taskList, page.getTotal());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private String getInParam(List<String> param) {
 | 
			
		||||
        StringBuilder sb = new StringBuilder();
 | 
			
		||||
        sb.append("(");
 | 
			
		||||
        for (int i = 0; i < param.size(); i++) {
 | 
			
		||||
            sb.append("'").append(param.get(i)).append("'");
 | 
			
		||||
            if (i != param.size() - 1) {
 | 
			
		||||
                sb.append(",");
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        sb.append(")");
 | 
			
		||||
        return sb.toString();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询当前租户所有待办任务
 | 
			
		||||
     *
 | 
			
		||||
 
 | 
			
		||||
@@ -32,15 +32,12 @@
 | 
			
		||||
        select *
 | 
			
		||||
        from (SELECT RES.*,
 | 
			
		||||
                     AHP.BUSINESS_STATUS_,
 | 
			
		||||
                     ARP.NAME_ as processDefinitionName,
 | 
			
		||||
                     ARP.KEY_  as processDefinitionKey,
 | 
			
		||||
                     LINK.USER_ID_,
 | 
			
		||||
                     LINK.GROUP_ID_
 | 
			
		||||
                     ARP.NAME_ AS processDefinitionName,
 | 
			
		||||
                     ARP.KEY_  AS processDefinitionKey
 | 
			
		||||
              FROM ACT_RU_TASK RES
 | 
			
		||||
                       INNER JOIN ACT_HI_PROCINST AHP ON RES.PROC_INST_ID_ = AHP.PROC_INST_ID_
 | 
			
		||||
                       INNER JOIN ACT_RE_PROCDEF ARP ON ARP.ID_ = RES.PROC_DEF_ID_
 | 
			
		||||
                       LEFT JOIN ACT_RU_IDENTITYLINK LINK ON LINK.TASK_ID_ = RES.ID_ AND LINK.TYPE_ = 'candidate'
 | 
			
		||||
              WHERE RES.PARENT_TASK_ID_ is null
 | 
			
		||||
              WHERE RES.PARENT_TASK_ID_ IS NULL
 | 
			
		||||
              ORDER BY RES.CREATE_TIME_ DESC) t ${ew.getCustomSqlSegment}
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user