|
|
|
@ -822,7 +822,8 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
|
|
|
|
@Override
|
|
|
|
|
public Long countTaskWaitByCurrentUser() {
|
|
|
|
|
FlowTaskBo flowTaskBo = new FlowTaskBo();
|
|
|
|
|
QueryWrapper<FlowTaskBo> queryWrapper = buildQueryWrapper(flowTaskBo);
|
|
|
|
|
// 为COUNT查询创建不包含ORDER BY的查询包装器
|
|
|
|
|
QueryWrapper<FlowTaskBo> queryWrapper = buildQueryWrapperForCount(flowTaskBo);
|
|
|
|
|
queryWrapper.eq("t.node_type", NodeType.BETWEEN.getKey());
|
|
|
|
|
queryWrapper.in("t.processed_by", SpringUtils.getBean(WorkflowPermissionHandler.class).permissions());
|
|
|
|
|
queryWrapper.in("t.flow_status", BusinessStatusEnum.WAITING.getStatus());
|
|
|
|
@ -837,9 +838,30 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
|
|
|
|
@Override
|
|
|
|
|
public Long countTaskCopyByCurrentUser() {
|
|
|
|
|
FlowTaskBo flowTaskBo = new FlowTaskBo();
|
|
|
|
|
QueryWrapper<FlowTaskBo> queryWrapper = buildQueryWrapper(flowTaskBo);
|
|
|
|
|
// 为COUNT查询创建不包含ORDER BY的查询包装器
|
|
|
|
|
QueryWrapper<FlowTaskBo> queryWrapper = buildQueryWrapperForCount(flowTaskBo);
|
|
|
|
|
queryWrapper.in("t.processed_by", LoginHelper.getUserIdStr());
|
|
|
|
|
return flwTaskMapper.countTaskCopy(queryWrapper);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 为COUNT查询构建查询包装器(不包含ORDER BY条件)
|
|
|
|
|
*
|
|
|
|
|
* @param flowTaskBo 查询条件
|
|
|
|
|
* @return 查询包装器
|
|
|
|
|
*/
|
|
|
|
|
private QueryWrapper<FlowTaskBo> buildQueryWrapperForCount(FlowTaskBo flowTaskBo) {
|
|
|
|
|
QueryWrapper<FlowTaskBo> wrapper = Wrappers.query();
|
|
|
|
|
wrapper.like(StringUtils.isNotBlank(flowTaskBo.getNodeName()), "t.node_name", flowTaskBo.getNodeName());
|
|
|
|
|
wrapper.like(StringUtils.isNotBlank(flowTaskBo.getFlowName()), "t.flow_name", flowTaskBo.getFlowName());
|
|
|
|
|
wrapper.like(StringUtils.isNotBlank(flowTaskBo.getFlowCode()), "t.flow_code", flowTaskBo.getFlowCode());
|
|
|
|
|
wrapper.in(CollUtil.isNotEmpty(flowTaskBo.getCreateByIds()), "t.create_by", flowTaskBo.getCreateByIds());
|
|
|
|
|
if (StringUtils.isNotBlank(flowTaskBo.getCategory())) {
|
|
|
|
|
List<Long> categoryIds = flwCategoryMapper.selectCategoryIdsByParentId(Convert.toLong(flowTaskBo.getCategory()));
|
|
|
|
|
wrapper.in("t.category", StreamUtils.toList(categoryIds, Convert::toStr));
|
|
|
|
|
}
|
|
|
|
|
// 注意:COUNT查询不添加ORDER BY条件,因为在SQL Server中会导致错误
|
|
|
|
|
return wrapper;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|