Commit 1ab15dd1f9e7a0f0f906c060993cd1c4442812c9
1 parent
14a7d637
bpm 我的流程,增加 task 的展示
Showing
16 changed files
with
137 additions
and
87 deletions
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/BpmProcessInstanceController.http
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/workflow/TaskController.java renamed to yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/TaskController.java
| 1 | -package cn.iocoder.yudao.adminserver.modules.bpm.controller.workflow; | |
| 1 | +package cn.iocoder.yudao.adminserver.modules.bpm.controller.task; | |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.workflow.vo.*; | |
| 3 | +import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.*; | |
| 4 | 4 | import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmTaskService; |
| 5 | 5 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 6 | 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/instance/BpmProcessInstancePageItemRespVO.java
| ... | ... | @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty; |
| 5 | 5 | import lombok.Data; |
| 6 | 6 | |
| 7 | 7 | import java.util.Date; |
| 8 | +import java.util.List; | |
| 8 | 9 | |
| 9 | 10 | @ApiModel("流程实例的分页 Item Response VO") |
| 10 | 11 | @Data |
| ... | ... | @@ -34,6 +35,21 @@ public class BpmProcessInstancePageItemRespVO { |
| 34 | 35 | @ApiModelProperty(value = "结束时间", required = true) |
| 35 | 36 | private Date endTime; |
| 36 | 37 | |
| 37 | - // TODO 芋艿:tasks | |
| 38 | + /** | |
| 39 | + * 当前任务 | |
| 40 | + */ | |
| 41 | + private List<Task> tasks; | |
| 42 | + | |
| 43 | + @ApiModel("流程任务") | |
| 44 | + @Data | |
| 45 | + public static class Task { | |
| 46 | + | |
| 47 | + @ApiModelProperty(value = "流程任务的编号", required = true, example = "1024") | |
| 48 | + private String id; | |
| 49 | + | |
| 50 | + @ApiModelProperty(value = "任务名称", required = true, example = "芋道") | |
| 51 | + private String name; | |
| 52 | + | |
| 53 | + } | |
| 38 | 54 | |
| 39 | 55 | } | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/workflow/vo/FileResp.java renamed to yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/FileResp.java
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/workflow/vo/TaskHandleVO.java renamed to yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/TaskHandleVO.java
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/workflow/vo/TaskQueryReqVO.java renamed to yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/TaskQueryReqVO.java
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/workflow/vo/TaskReqVO.java renamed to yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/TaskReqVO.java
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/workflow/vo/TaskStepVO.java renamed to yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/TaskStepVO.java
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/workflow/vo/TodoTaskPageReqVO.java renamed to yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/TodoTaskPageReqVO.java
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/workflow/vo/TodoTaskRespVO.java renamed to yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/TodoTaskRespVO.java
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/task/BpmProcessInstanceConvert.java
| ... | ... | @@ -5,12 +5,15 @@ import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.task.BpmProcessIn |
| 5 | 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 6 | 6 | import org.activiti.engine.repository.ProcessDefinition; |
| 7 | 7 | import org.activiti.engine.runtime.ProcessInstance; |
| 8 | +import org.activiti.engine.task.Task; | |
| 8 | 9 | import org.mapstruct.Mapper; |
| 9 | 10 | import org.mapstruct.Mapping; |
| 10 | 11 | import org.mapstruct.Mappings; |
| 11 | 12 | import org.mapstruct.factory.Mappers; |
| 12 | 13 | |
| 13 | 14 | import java.util.List; |
| 15 | +import java.util.Map; | |
| 16 | +import java.util.function.Consumer; | |
| 14 | 17 | |
| 15 | 18 | /** |
| 16 | 19 | * 流程实例 Convert |
| ... | ... | @@ -32,10 +35,17 @@ public interface BpmProcessInstanceConvert { |
| 32 | 35 | }) |
| 33 | 36 | BpmProcessInstanceExtDO convert(ProcessInstance instance, ProcessDefinition definition); |
| 34 | 37 | |
| 35 | - PageResult<BpmProcessInstancePageItemRespVO> convertPage(PageResult<BpmProcessInstanceExtDO> page); | |
| 38 | + default PageResult<BpmProcessInstancePageItemRespVO> convertPage(PageResult<BpmProcessInstanceExtDO> page, | |
| 39 | + Map<String, List<Task>> taskMap) { | |
| 40 | + List<BpmProcessInstancePageItemRespVO> list = convertList(page.getList()); | |
| 41 | + list.forEach(respVO -> respVO.setTasks(convertList2(taskMap.get(respVO.getId())))); | |
| 42 | + return new PageResult<>(list, page.getTotal()); | |
| 43 | + } | |
| 36 | 44 | |
| 37 | 45 | List<BpmProcessInstancePageItemRespVO> convertList(List<BpmProcessInstanceExtDO> list); |
| 38 | 46 | |
| 47 | + List<BpmProcessInstancePageItemRespVO.Task> convertList2(List<Task> tasks); | |
| 48 | + | |
| 39 | 49 | @Mapping(source = "processInstanceId", target = "id") |
| 40 | 50 | BpmProcessInstancePageItemRespVO convert(BpmProcessInstanceExtDO bean); |
| 41 | 51 | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/task/TaskConvert.java
| 1 | 1 | package cn.iocoder.yudao.adminserver.modules.bpm.convert.task; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.workflow.vo.TaskStepVO; | |
| 4 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.workflow.vo.TodoTaskRespVO; | |
| 3 | +import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.TaskStepVO; | |
| 4 | +import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.TodoTaskRespVO; | |
| 5 | 5 | import org.activiti.api.task.model.Task; |
| 6 | 6 | import org.activiti.engine.history.HistoricActivityInstance; |
| 7 | 7 | import org.activiti.engine.repository.ProcessDefinition; | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/task/BpmTaskService.java
| 1 | 1 | package cn.iocoder.yudao.adminserver.modules.bpm.service.task; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.workflow.vo.*; | |
| 3 | +import cn.hutool.core.collection.CollUtil; | |
| 4 | +import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.*; | |
| 4 | 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 6 | +import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | |
| 7 | +import org.activiti.engine.task.Task; | |
| 5 | 8 | |
| 6 | 9 | import java.util.List; |
| 10 | +import java.util.Map; | |
| 11 | +import java.util.Set; | |
| 7 | 12 | |
| 8 | 13 | /** |
| 9 | - * 工作流用户任务服务接口 | |
| 14 | + * 工作任务 Service 接口 | |
| 15 | + * | |
| 16 | + * @author jason | |
| 17 | + * @author 芋道源码 | |
| 10 | 18 | */ |
| 11 | 19 | public interface BpmTaskService { |
| 12 | 20 | |
| 21 | + /** | |
| 22 | + * 获得流程任务列表 | |
| 23 | + * | |
| 24 | + * @param processInstanceIds 流程实例的编号数组 | |
| 25 | + * @return 流程任务列表 | |
| 26 | + */ | |
| 27 | + List<Task> getTasksByProcessInstanceIds(List<String> processInstanceIds); | |
| 28 | + | |
| 29 | + /** | |
| 30 | + * 获得流程任务 Map | |
| 31 | + * | |
| 32 | + * @param processInstanceIds 流程实例的编号数组 | |
| 33 | + * @return 流程任务 Map | |
| 34 | + */ | |
| 35 | + default Map<String, List<Task>> getTaskMapByProcessInstanceIds(List<String> processInstanceIds) { | |
| 36 | + return CollectionUtils.convertMultiMap(getTasksByProcessInstanceIds(processInstanceIds), | |
| 37 | + Task::getProcessInstanceId); | |
| 38 | + } | |
| 13 | 39 | |
| 14 | 40 | /** |
| 15 | 41 | * 获取当前用户的待办任务, 分页 | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/task/impl/BpmProcessInstanceServiceImpl.java
| ... | ... | @@ -12,9 +12,11 @@ import cn.iocoder.yudao.adminserver.modules.bpm.enums.task.BpmProcessInstanceRes |
| 12 | 12 | import cn.iocoder.yudao.adminserver.modules.bpm.enums.task.BpmProcessInstanceStatusEnum; |
| 13 | 13 | import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmProcessDefinitionService; |
| 14 | 14 | import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmProcessInstanceService; |
| 15 | +import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmTaskService; | |
| 15 | 16 | import cn.iocoder.yudao.adminserver.modules.system.service.user.SysUserService; |
| 16 | 17 | import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO; |
| 17 | 18 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 19 | +import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | |
| 18 | 20 | import lombok.extern.slf4j.Slf4j; |
| 19 | 21 | import org.activiti.engine.HistoryService; |
| 20 | 22 | import org.activiti.engine.RuntimeService; |
| ... | ... | @@ -34,6 +36,7 @@ import java.util.Map; |
| 34 | 36 | import static cn.iocoder.yudao.adminserver.modules.bpm.enums.BpmErrorCodeConstants.PROCESS_DEFINITION_IS_SUSPENDED; |
| 35 | 37 | import static cn.iocoder.yudao.adminserver.modules.bpm.enums.BpmErrorCodeConstants.PROCESS_DEFINITION_NOT_EXISTS; |
| 36 | 38 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 39 | +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; | |
| 37 | 40 | |
| 38 | 41 | /** |
| 39 | 42 | * 流程实例 Service 实现类 |
| ... | ... | @@ -55,7 +58,7 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService |
| 55 | 58 | @Resource |
| 56 | 59 | private RuntimeService runtimeService; |
| 57 | 60 | @Resource |
| 58 | - private TaskService taskService; | |
| 61 | + private BpmTaskService taskService; | |
| 59 | 62 | @Resource |
| 60 | 63 | private HistoryService historyService; |
| 61 | 64 | |
| ... | ... | @@ -88,17 +91,17 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService |
| 88 | 91 | createProcessInstanceExt(instance, definition); |
| 89 | 92 | |
| 90 | 93 | // 添加初始的评论 TODO 芋艿:在思考下 |
| 91 | - Task task = taskService.createTaskQuery().processInstanceId(instance.getId()).singleResult(); | |
| 92 | - if (task != null) { | |
| 93 | - SysUserDO user = userService.getUser(userId); | |
| 94 | - Assert.notNull(user, "用户({})不存在", userId); | |
| 95 | - String type = "normal"; | |
| 96 | - taskService.addComment(task.getId(), instance.getProcessInstanceId(), type, | |
| 97 | - String.format("%s 发起流程申请", user.getNickname())); | |
| 98 | - // TODO 芋艿:应该不用下面两个步骤 | |
| 99 | -// taskService.setAssignee(task.getId(), String.valueOf(userId)); | |
| 100 | -// taskService.complete(task.getId(), variables); | |
| 101 | - } | |
| 94 | +// Task task = taskService.createTaskQuery().processInstanceId(instance.getId()).singleResult(); | |
| 95 | +// if (task != null) { | |
| 96 | +// SysUserDO user = userService.getUser(userId); | |
| 97 | +// Assert.notNull(user, "用户({})不存在", userId); | |
| 98 | +// String type = "normal"; | |
| 99 | +// taskService.addComment(task.getId(), instance.getProcessInstanceId(), type, | |
| 100 | +// String.format("%s 发起流程申请", user.getNickname())); | |
| 101 | +// // TODO 芋艿:应该不用下面两个步骤 | |
| 102 | +//// taskService.setAssignee(task.getId(), String.valueOf(userId)); | |
| 103 | +//// taskService.complete(task.getId(), variables); | |
| 104 | +// } | |
| 102 | 105 | return instance.getId(); |
| 103 | 106 | } |
| 104 | 107 | |
| ... | ... | @@ -123,24 +126,12 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService |
| 123 | 126 | if (CollUtil.isEmpty(pageResult.getList())) { |
| 124 | 127 | return new PageResult<>(pageResult.getTotal()); |
| 125 | 128 | } |
| 126 | - // TODO 芋艿:tasks | |
| 127 | - // 转换返回 | |
| 128 | - return BpmProcessInstanceConvert.INSTANCE.convertPage(pageResult); | |
| 129 | - } | |
| 130 | - | |
| 131 | - public void getMyProcessInstancePage(Long userId) { | |
| 132 | - // id title 所属流程 当前审批环节 状态 结果 创建时间 提交申请时间 【标题、状态】「ActBusiness」 | |
| 133 | - // id title 流程类别 流程版本 提交时间 流程状态 耗时 当前节点 办理 【标题、提交时间】「HistoricProcessInstanceQuery」 | |
| 134 | - | |
| 135 | - // id name 所属流程 流程类别 创建时间 状态 当前审批环节 【标题、流程、时间、状态、结果】 | |
| 136 | - | |
| 137 | - runtimeService.createProcessInstanceQuery().list(); | |
| 138 | - HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery() | |
| 139 | - .startedBy(String.valueOf(userId)) // 发起人是自己 | |
| 140 | - .orderByProcessInstanceStartTime().desc(); // 按照发起时间倒序 | |
| 141 | - List<HistoricProcessInstance> list = historicProcessInstanceQuery.list(); | |
| 142 | - System.out.println("test"); | |
| 143 | 129 | |
| 130 | + // 获得流程 Task Map | |
| 131 | + List<String> processInstanceIds = convertList(pageResult.getList(), BpmProcessInstanceExtDO::getProcessInstanceId); | |
| 132 | + Map<String, List<Task>> taskMap = taskService.getTaskMapByProcessInstanceIds(processInstanceIds); | |
| 133 | + // 转换返回 | |
| 134 | + return BpmProcessInstanceConvert.INSTANCE.convertPage(pageResult, taskMap); | |
| 144 | 135 | } |
| 145 | 136 | |
| 146 | 137 | /** | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/task/impl/BpmTaskServiceImpl.java
| ... | ... | @@ -2,16 +2,13 @@ package cn.iocoder.yudao.adminserver.modules.bpm.service.task.impl; |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.core.io.IoUtil; |
| 5 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.workflow.vo.*; | |
| 5 | +import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.*; | |
| 6 | 6 | import cn.iocoder.yudao.adminserver.modules.bpm.convert.task.TaskConvert; |
| 7 | 7 | import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmTaskService; |
| 8 | 8 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 9 | 9 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 10 | 10 | import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; |
| 11 | 11 | import lombok.extern.slf4j.Slf4j; |
| 12 | -import org.activiti.api.runtime.shared.query.Page; | |
| 13 | -import org.activiti.api.runtime.shared.query.Pageable; | |
| 14 | -import org.activiti.api.task.model.Task; | |
| 15 | 12 | import org.activiti.api.task.model.builders.ClaimTaskPayloadBuilder; |
| 16 | 13 | import org.activiti.api.task.model.builders.TaskPayloadBuilder; |
| 17 | 14 | import org.activiti.api.task.runtime.TaskRuntime; |
| ... | ... | @@ -22,11 +19,13 @@ import org.activiti.bpmn.model.SequenceFlow; |
| 22 | 19 | import org.activiti.engine.HistoryService; |
| 23 | 20 | import org.activiti.engine.RepositoryService; |
| 24 | 21 | import org.activiti.engine.RuntimeService; |
| 22 | +import org.activiti.engine.TaskService; | |
| 25 | 23 | import org.activiti.engine.history.HistoricActivityInstance; |
| 26 | 24 | import org.activiti.engine.history.HistoricProcessInstance; |
| 27 | 25 | import org.activiti.engine.repository.ProcessDefinition; |
| 28 | 26 | import org.activiti.engine.runtime.ProcessInstance; |
| 29 | 27 | import org.activiti.engine.task.Comment; |
| 28 | +import org.activiti.engine.task.Task; | |
| 30 | 29 | import org.activiti.image.ProcessDiagramGenerator; |
| 31 | 30 | import org.springframework.stereotype.Service; |
| 32 | 31 | import org.springframework.transaction.annotation.Transactional; |
| ... | ... | @@ -35,11 +34,7 @@ import org.springframework.util.ObjectUtils; |
| 35 | 34 | import javax.annotation.Resource; |
| 36 | 35 | import java.io.IOException; |
| 37 | 36 | import java.io.InputStream; |
| 38 | -import java.util.ArrayList; | |
| 39 | -import java.util.List; | |
| 40 | -import java.util.Map; | |
| 41 | -import java.util.Optional; | |
| 42 | -import java.util.stream.Collectors; | |
| 37 | +import java.util.*; | |
| 43 | 38 | |
| 44 | 39 | import static cn.iocoder.yudao.adminserver.modules.bpm.enums.BpmErrorCodeConstants.HIGHLIGHT_IMG_ERROR; |
| 45 | 40 | import static cn.iocoder.yudao.adminserver.modules.bpm.enums.BpmErrorCodeConstants.PROCESS_INSTANCE_NOT_EXISTS; |
| ... | ... | @@ -51,34 +46,39 @@ public class BpmTaskServiceImpl implements BpmTaskService { |
| 51 | 46 | |
| 52 | 47 | @Resource |
| 53 | 48 | private TaskRuntime taskRuntime; |
| 54 | - | |
| 55 | 49 | @Resource |
| 56 | - private org.activiti.engine.TaskService activitiTaskService; | |
| 57 | - | |
| 50 | + private TaskService taskService; | |
| 51 | + @Resource | |
| 52 | + private RuntimeService runtimeService; | |
| 58 | 53 | @Resource |
| 59 | 54 | private HistoryService historyService; |
| 60 | - | |
| 61 | 55 | @Resource |
| 62 | 56 | private RepositoryService repositoryService; |
| 63 | 57 | |
| 64 | 58 | @Resource |
| 65 | - private RuntimeService runtimeService; | |
| 66 | - | |
| 67 | - @Resource | |
| 68 | 59 | private ProcessDiagramGenerator processDiagramGenerator; |
| 69 | 60 | |
| 70 | 61 | @Override |
| 62 | + public List<Task> getTasksByProcessInstanceIds(List<String> processInstanceIds) { | |
| 63 | + if (CollUtil.isEmpty(processInstanceIds)) { | |
| 64 | + return Collections.emptyList(); | |
| 65 | + } | |
| 66 | + return taskService.createTaskQuery().processInstanceIdIn(processInstanceIds).list(); | |
| 67 | + } | |
| 68 | + | |
| 69 | + @Override | |
| 71 | 70 | public PageResult<TodoTaskRespVO> getTodoTaskPage(TodoTaskPageReqVO pageReqVO) { |
| 72 | 71 | // TODO @jason:封装一个方法,用于转换成 activiti 的分页对象 |
| 73 | - final Pageable pageable = Pageable.of((pageReqVO.getPageNo() - 1) * pageReqVO.getPageSize(), pageReqVO.getPageSize()); | |
| 74 | - Page<Task> pageTasks = taskRuntime.tasks(pageable); | |
| 75 | - int totalItems = pageTasks.getTotalItems(); | |
| 76 | - List<Task> tasks = pageTasks.getContent(); | |
| 77 | - final List<TodoTaskRespVO> respVOList = tasks.stream().map(task -> { | |
| 78 | - ProcessDefinition definition = repositoryService.getProcessDefinition(task.getProcessDefinitionId()); | |
| 79 | - return TaskConvert.INSTANCE.convert(task, definition); | |
| 80 | - }).collect(Collectors.toList()); | |
| 81 | - return new PageResult<>(respVOList, (long)totalItems); | |
| 72 | +// final Pageable pageable = Pageable.of((pageReqVO.getPageNo() - 1) * pageReqVO.getPageSize(), pageReqVO.getPageSize()); | |
| 73 | +// Page<Task> pageTasks = taskRuntime.tasks(pageable); | |
| 74 | +// int totalItems = pageTasks.getTotalItems(); | |
| 75 | +// List<Task> tasks = pageTasks.getContent(); | |
| 76 | +// final List<TodoTaskRespVO> respVOList = tasks.stream().map(task -> { | |
| 77 | +// ProcessDefinition definition = repositoryService.getProcessDefinition(task.getProcessDefinitionId()); | |
| 78 | +// return TaskConvert.INSTANCE.convert(task, definition); | |
| 79 | +// }).collect(Collectors.toList()); | |
| 80 | +// return new PageResult<>(respVOList, (long)totalItems); | |
| 81 | + return null; | |
| 82 | 82 | } |
| 83 | 83 | |
| 84 | 84 | |
| ... | ... | @@ -95,27 +95,27 @@ public class BpmTaskServiceImpl implements BpmTaskService { |
| 95 | 95 | @Override |
| 96 | 96 | @Transactional |
| 97 | 97 | public void completeTask(TaskReqVO taskReq) { |
| 98 | - final Task task = taskRuntime.task(taskReq.getTaskId()); | |
| 99 | - | |
| 100 | - activitiTaskService.addComment(taskReq.getTaskId(), task.getProcessInstanceId(), taskReq.getComment()); | |
| 101 | - | |
| 102 | - taskRuntime.complete(TaskPayloadBuilder.complete().withTaskId(taskReq.getTaskId()) | |
| 103 | - .withVariables(taskReq.getVariables()) | |
| 104 | - .build()); | |
| 98 | +// final Task task = taskRuntime.task(taskReq.getTaskId()); | |
| 99 | +// | |
| 100 | +// taskService.addComment(taskReq.getTaskId(), task.getProcessInstanceId(), taskReq.getComment()); | |
| 101 | +// | |
| 102 | +// taskRuntime.complete(TaskPayloadBuilder.complete().withTaskId(taskReq.getTaskId()) | |
| 103 | +// .withVariables(taskReq.getVariables()) | |
| 104 | +// .build()); | |
| 105 | 105 | } |
| 106 | 106 | |
| 107 | 107 | |
| 108 | 108 | |
| 109 | 109 | @Override |
| 110 | 110 | public TaskHandleVO getTaskSteps(TaskQueryReqVO taskQuery) { |
| 111 | - TaskHandleVO handleVO = new TaskHandleVO(); | |
| 112 | - final Task task = taskRuntime.task(taskQuery.getTaskId()); | |
| 113 | - List<TaskStepVO> steps = getTaskSteps(task.getProcessInstanceId()); | |
| 114 | - handleVO.setHistoryTask(steps); | |
| 115 | - return handleVO; | |
| 111 | +// TaskHandleVO handleVO = new TaskHandleVO(); | |
| 112 | +// final Task task = taskRuntime.task(taskQuery.getTaskId()); | |
| 113 | +// List<TaskStepVO> steps = getTaskSteps(task.getProcessInstanceId()); | |
| 114 | +// handleVO.setHistoryTask(steps); | |
| 115 | +// return handleVO; | |
| 116 | + return null; | |
| 116 | 117 | } |
| 117 | 118 | |
| 118 | - | |
| 119 | 119 | private List<TaskStepVO> getTaskSteps(String processInstanceId) { |
| 120 | 120 | // 获得已完成的活动 |
| 121 | 121 | List<HistoricActivityInstance> finished = historyService.createHistoricActivityInstanceQuery() |
| ... | ... | @@ -129,7 +129,7 @@ public class BpmTaskServiceImpl implements BpmTaskService { |
| 129 | 129 | TaskStepVO stepVO = TaskConvert.INSTANCE.convert(instance); |
| 130 | 130 | stepVO.setStatus(1); // TODO @jason:1 这个 magic number 要枚举起来。 |
| 131 | 131 | // TODO @jason:可以考虑把 comments 读取后,在统一调用 convert 拼接。另外 Comment 是废弃的类,有没其它可以使用的哈? |
| 132 | - List<Comment> comments = activitiTaskService.getTaskComments(instance.getTaskId()); | |
| 132 | + List<Comment> comments = taskService.getTaskComments(instance.getTaskId()); | |
| 133 | 133 | if (!CollUtil.isEmpty(comments)) { |
| 134 | 134 | stepVO.setComment(Optional.ofNullable(comments.get(0)).map(Comment::getFullMessage).orElse("")); |
| 135 | 135 | } |
| ... | ... | @@ -160,8 +160,9 @@ public class BpmTaskServiceImpl implements BpmTaskService { |
| 160 | 160 | |
| 161 | 161 | @Override |
| 162 | 162 | public TodoTaskRespVO getTaskFormKey(TaskQueryReqVO taskQuery) { |
| 163 | - final Task task = taskRuntime.task(taskQuery.getTaskId()); | |
| 164 | - return TaskConvert.INSTANCE.convert(task); | |
| 163 | +// final Task task = taskRuntime.task(taskQuery.getTaskId()); | |
| 164 | +// return TaskConvert.INSTANCE.convert(task); | |
| 165 | + return null; | |
| 165 | 166 | } |
| 166 | 167 | |
| 167 | 168 | @Override | ... | ... |
yudao-admin-ui/src/views/bpm/process/index.vue
| ... | ... | @@ -54,7 +54,13 @@ |
| 54 | 54 | <span>{{ getDictDataLabel(DICT_TYPE.BPM_MODEL_CATEGORY, scope.row.category) }}</span> |
| 55 | 55 | </template> |
| 56 | 56 | </el-table-column> |
| 57 | - <el-table-column label="当前审批任务" align="center" prop="tasks" /> <!-- TODO 芋艿:待完善 --> | |
| 57 | + <el-table-column label="当前审批任务" align="center" prop="tasks"> | |
| 58 | + <template slot-scope="scope"> | |
| 59 | + <el-button v-for="task in scope.row.tasks" type="text" @click="handleFormDetail(task.id)"> | |
| 60 | + <span>{{ task.name }}</span> | |
| 61 | + </el-button> | |
| 62 | + </template> | |
| 63 | + </el-table-column> | |
| 58 | 64 | <el-table-column label="状态" align="center" prop="status"> |
| 59 | 65 | <template slot-scope="scope"> |
| 60 | 66 | <span> | ... | ... |