|
@@ -7,13 +7,16 @@ import cn.iocoder.yudao.framework.common.util.number.NumberUtils;
|
|
|
import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.*;
|
|
import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.*;
|
|
|
import cn.iocoder.yudao.module.bpm.convert.task.BpmTaskConvert;
|
|
import cn.iocoder.yudao.module.bpm.convert.task.BpmTaskConvert;
|
|
|
import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;
|
|
import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;
|
|
|
|
|
+import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO;
|
|
|
import cn.iocoder.yudao.module.bpm.service.definition.BpmFormService;
|
|
import cn.iocoder.yudao.module.bpm.service.definition.BpmFormService;
|
|
|
|
|
+import cn.iocoder.yudao.module.bpm.service.definition.BpmProcessDefinitionService;
|
|
|
import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceService;
|
|
import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceService;
|
|
|
import cn.iocoder.yudao.module.bpm.service.task.BpmTaskService;
|
|
import cn.iocoder.yudao.module.bpm.service.task.BpmTaskService;
|
|
|
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
|
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
|
|
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
|
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
|
|
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
|
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
|
|
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
|
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
|
|
|
|
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
|
import io.swagger.v3.oas.annotations.Parameter;
|
|
import io.swagger.v3.oas.annotations.Parameter;
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
@@ -22,6 +25,7 @@ import org.flowable.engine.history.HistoricProcessInstance;
|
|
|
import org.flowable.engine.runtime.ProcessInstance;
|
|
import org.flowable.engine.runtime.ProcessInstance;
|
|
|
import org.flowable.task.api.Task;
|
|
import org.flowable.task.api.Task;
|
|
|
import org.flowable.task.api.history.HistoricTaskInstance;
|
|
import org.flowable.task.api.history.HistoricTaskInstance;
|
|
|
|
|
+import org.springdoc.api.annotations.ParameterObject;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
@@ -49,6 +53,8 @@ public class BpmTaskController {
|
|
|
@Resource
|
|
@Resource
|
|
|
private BpmProcessInstanceService processInstanceService;
|
|
private BpmProcessInstanceService processInstanceService;
|
|
|
@Resource
|
|
@Resource
|
|
|
|
|
+ private BpmProcessDefinitionService processDefinitionService;
|
|
|
|
|
+ @Resource
|
|
|
private BpmFormService formService;
|
|
private BpmFormService formService;
|
|
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
@@ -56,10 +62,20 @@ public class BpmTaskController {
|
|
|
@Resource
|
|
@Resource
|
|
|
private DeptApi deptApi;
|
|
private DeptApi deptApi;
|
|
|
|
|
|
|
|
|
|
+ @GetMapping("todo-count")
|
|
|
|
|
+ @Operation(summary = "获取我的待办任务数量")
|
|
|
|
|
+ @ApiOperationSupport(order = 1)
|
|
|
|
|
+ @PreAuthorize("@ss.hasPermission('bpm:task:count')")
|
|
|
|
|
+ public CommonResult<Long> getTaskTodoCount(@Valid @ParameterObject BpmTaskPageReqVO pageVO) {
|
|
|
|
|
+ Long todoCount = taskService.getTaskTodoCount(getLoginUserId(), pageVO);
|
|
|
|
|
+ return success(todoCount, "查询我的待办任务数量成功");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@GetMapping("todo-page")
|
|
@GetMapping("todo-page")
|
|
|
@Operation(summary = "获取我的待办任务分页")
|
|
@Operation(summary = "获取我的待办任务分页")
|
|
|
|
|
+ @ApiOperationSupport(order = 2)
|
|
|
@PreAuthorize("@ss.hasPermission('bpm:task:query')")
|
|
@PreAuthorize("@ss.hasPermission('bpm:task:query')")
|
|
|
- public CommonResult<PageResult<BpmTaskRespVO>> getTaskTodoPage(@Valid BpmTaskPageReqVO pageVO) {
|
|
|
|
|
|
|
+ public CommonResult<PageResult<BpmTaskRespVO>> getTaskTodoPage(@Valid @ParameterObject BpmTaskPageReqVO pageVO) {
|
|
|
PageResult<Task> pageResult = taskService.getTaskTodoPage(getLoginUserId(), pageVO);
|
|
PageResult<Task> pageResult = taskService.getTaskTodoPage(getLoginUserId(), pageVO);
|
|
|
if (CollUtil.isEmpty(pageResult.getList())) {
|
|
if (CollUtil.isEmpty(pageResult.getList())) {
|
|
|
return success(PageResult.empty());
|
|
return success(PageResult.empty());
|
|
@@ -70,7 +86,11 @@ public class BpmTaskController {
|
|
|
convertSet(pageResult.getList(), Task::getProcessInstanceId));
|
|
convertSet(pageResult.getList(), Task::getProcessInstanceId));
|
|
|
Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(
|
|
Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(
|
|
|
convertSet(processInstanceMap.values(), instance -> Long.valueOf(instance.getStartUserId())));
|
|
convertSet(processInstanceMap.values(), instance -> Long.valueOf(instance.getStartUserId())));
|
|
|
- return success(BpmTaskConvert.INSTANCE.buildTodoTaskPage(pageResult, processInstanceMap, userMap));
|
|
|
|
|
|
|
+ Map<String, BpmProcessDefinitionExtDO> bpmProcessDefinitionExtDOMap = processDefinitionService.getProcessDefinitionExtMap(
|
|
|
|
|
+ convertSet(processInstanceMap.values(), ProcessInstance::getProcessDefinitionId)
|
|
|
|
|
+ );
|
|
|
|
|
+ PageResult<BpmTaskRespVO> taskRespVOPageResult = BpmTaskConvert.INSTANCE.buildTodoTaskPage(pageResult, processInstanceMap, userMap, bpmProcessDefinitionExtDOMap);
|
|
|
|
|
+ return success(taskRespVOPageResult, "查询我的待办任务成功");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@GetMapping("done-page")
|
|
@GetMapping("done-page")
|