From 23960f90e373266d2cb618b7ab47fe5cfb8fdbd8 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期三, 28 五月 2025 11:21:31 +0800 Subject: [PATCH] art: 设备管理-待办-任务数量统计 --- lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/mapper/IWorkTaskVoMapper.java | 6 ++++++ lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/mapper/xml/WorkTaskVoMapper.xml | 9 +++++++++ lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/IWorkTaskServiceVo.java | 7 +++++++ lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/WorkTaskServiceImplVo.java | 18 ++++++++++++++---- lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/controller/AssignStreamFlowController.java | 7 +++++++ 5 files changed, 43 insertions(+), 4 deletions(-) diff --git a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/controller/AssignStreamFlowController.java b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/controller/AssignStreamFlowController.java index d41ab56..5ad0a82 100644 --- a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/controller/AssignStreamFlowController.java +++ b/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())); + } } diff --git a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/mapper/IWorkTaskVoMapper.java b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/mapper/IWorkTaskVoMapper.java index 492a969..514180f 100644 --- a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/mapper/IWorkTaskVoMapper.java +++ b/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); } diff --git a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/mapper/xml/WorkTaskVoMapper.xml b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/mapper/xml/WorkTaskVoMapper.xml index e1d69ed..5d9f42d 100644 --- a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/mapper/xml/WorkTaskVoMapper.xml +++ b/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> diff --git a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/IWorkTaskServiceVo.java b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/IWorkTaskServiceVo.java index d69e423..4a3d67e 100644 --- a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/IWorkTaskServiceVo.java +++ b/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); } diff --git a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/WorkTaskServiceImplVo.java b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/WorkTaskServiceImplVo.java index ee8f6ea..a60047e 100644 --- a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/WorkTaskServiceImplVo.java +++ b/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; + } } -- Gitblit v1.9.3