zhangherong
2025-05-28 23960f90e373266d2cb618b7ab47fe5cfb8fdbd8
art: 设备管理-待办-任务数量统计
已修改5个文件
47 ■■■■■ 文件已修改
lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/controller/AssignStreamFlowController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/mapper/IWorkTaskVoMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/mapper/xml/WorkTaskVoMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/IWorkTaskServiceVo.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/WorkTaskServiceImplVo.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    }
}