fix 修复待办认领后查询数据错误
This commit is contained in:
parent
b3dbb19afc
commit
731bcc7e93
@ -241,13 +241,15 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
public TableDataInfo<TaskVo> getPageByTaskWait(TaskBo taskBo, PageQuery pageQuery) {
|
public TableDataInfo<TaskVo> getPageByTaskWait(TaskBo taskBo, PageQuery pageQuery) {
|
||||||
QueryWrapper<TaskVo> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<TaskVo> queryWrapper = new QueryWrapper<>();
|
||||||
List<RoleDTO> roles = LoginHelper.getLoginUser().getRoles();
|
List<RoleDTO> roles = LoginHelper.getLoginUser().getRoles();
|
||||||
|
List<String> roleIds = StreamUtils.toList(roles, e -> String.valueOf(e.getRoleId()));
|
||||||
String userId = String.valueOf(LoginHelper.getUserId());
|
String userId = String.valueOf(LoginHelper.getUserId());
|
||||||
queryWrapper.eq("t.business_status_", BusinessStatusEnum.WAITING.getStatus());
|
queryWrapper.eq("t.business_status_", BusinessStatusEnum.WAITING.getStatus());
|
||||||
queryWrapper.eq(TenantHelper.isEnable(), "t.tenant_id_", TenantHelper.getTenantId());
|
queryWrapper.eq(TenantHelper.isEnable(), "t.tenant_id_", TenantHelper.getTenantId());
|
||||||
queryWrapper.and(w1 ->
|
queryWrapper.and(w1 ->
|
||||||
w1.eq("t.assignee_", userId)
|
w1.eq("t.assignee_", userId)
|
||||||
.or(w2 -> w2.isNull("t.assignee_")
|
.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())) {
|
if (StringUtils.isNotBlank(taskBo.getName())) {
|
||||||
queryWrapper.like("t.name_", taskBo.getName());
|
queryWrapper.like("t.name_", taskBo.getName());
|
||||||
@ -269,6 +271,19 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
return new TableDataInfo<>(taskList, page.getTotal());
|
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 *
|
select *
|
||||||
from (SELECT RES.*,
|
from (SELECT RES.*,
|
||||||
AHP.BUSINESS_STATUS_,
|
AHP.BUSINESS_STATUS_,
|
||||||
ARP.NAME_ as processDefinitionName,
|
ARP.NAME_ AS processDefinitionName,
|
||||||
ARP.KEY_ as processDefinitionKey,
|
ARP.KEY_ AS processDefinitionKey
|
||||||
LINK.USER_ID_,
|
|
||||||
LINK.GROUP_ID_
|
|
||||||
FROM ACT_RU_TASK RES
|
FROM ACT_RU_TASK RES
|
||||||
INNER JOIN ACT_HI_PROCINST AHP ON RES.PROC_INST_ID_ = AHP.PROC_INST_ID_
|
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_
|
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}
|
ORDER BY RES.CREATE_TIME_ DESC) t ${ew.getCustomSqlSegment}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user