lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/controller/AssignStreamFlowController.java
@@ -172,4 +172,11 @@ in.close(); out.close(); } @ApiOperation(value = "待办-任务数量统计") @GetMapping("/taskCountBySelf") public Result<?> taskCountBySelf() { LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); return Result.OK(workTaskServicevo.taskCountBySelf(user.getUsername())); } } lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/mapper/IWorkTaskVoMapper.java
@@ -11,4 +11,10 @@ IPage<WorkTaskDataVo> taskBySelf(@Param("flowMy") FlowMy flowMy, @Param("page") Page page); /** * 统计我的待办-任务数量 * @param username * @return */ Integer taskCountBySelf(String username); } lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/mapper/xml/WorkTaskVoMapper.xml
@@ -51,4 +51,13 @@ ORDER BY create_time_ DESC </select> <select id="taskCountBySelf" resultType="java.lang.Integer"> SELECT count(atask.id_) FROM act_ru_task AS atask LEFT JOIN flow_my_business fmb on atask.id_ = fmb.task_id LEFT JOIN ACT_RE_PROCDEF pro on atask.PROC_DEF_ID_ = pro.id_ WHERE atask.assignee_ = #{username} OR (atask.assignee_ IS NULL AND fmb.todo_users LIKE CONCAT('%', #{username}, '%')) </select> </mapper> lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/IWorkTaskServiceVo.java
@@ -9,4 +9,11 @@ public interface IWorkTaskServiceVo extends IService<WorkTaskDataVo> { IPage<WorkTaskDataVo> toTaskBySelf(FlowMy flowMy, Page page); /** * 统计我的待办-任务数量 * @param username * @return */ Integer taskCountBySelf(String username); } lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/WorkTaskServiceImplVo.java
@@ -17,19 +17,29 @@ public class WorkTaskServiceImplVo extends ServiceImpl<IWorkTaskVoMapper, WorkTaskDataVo> implements IWorkTaskServiceVo { @Autowired FlowMyBusinessServiceImpl flowMyBusinessService; @Override public IPage<WorkTaskDataVo> toTaskBySelf(FlowMy flowMy, Page page) { IPage<WorkTaskDataVo> workTaskDataVoIPage=baseMapper.taskBySelf(flowMy,page); IPage<WorkTaskDataVo> workTaskDataVoIPage = baseMapper.taskBySelf(flowMy, page); workTaskDataVoIPage.getRecords().forEach(workTaskDataVo -> { HistoricActivityInstance historicActivityInstance=flowMyBusinessService.getPreviousNode(workTaskDataVo.getId()); if (historicActivityInstance != null){ HistoricActivityInstance historicActivityInstance = flowMyBusinessService.getPreviousNode(workTaskDataVo.getId()); if (historicActivityInstance != null) { workTaskDataVo.setPreNode(historicActivityInstance.getActivityName()); workTaskDataVo.setPreNodeAssignee(historicActivityInstance.getAssignee()); } if (StrUtil.isEmpty(workTaskDataVo.getAssignee())){ if (StrUtil.isEmpty(workTaskDataVo.getAssignee())) { workTaskDataVo.setAssignee(flowMy.getUsername()); } }); return workTaskDataVoIPage; } @Override public Integer taskCountBySelf(String username) { Integer count = baseMapper.taskCountBySelf(username); if (count == null) { return 0; } return count; } }