Commit 9a9e721b50e5e570da0bb79c18cb7d5d911f4772
1 parent
56d280fd
【功能修改】工作流:流程审批详情的“流程记录”,从 timeline 改成 list table
Showing
2 changed files
with
6 additions
and
9 deletions
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmTaskController.java
| ... | ... | @@ -123,18 +123,15 @@ public class BpmTaskController { |
| 123 | 123 | } |
| 124 | 124 | |
| 125 | 125 | // 拼接数据 |
| 126 | - HistoricProcessInstance processInstance = processInstanceService.getHistoricProcessInstance(processInstanceId); | |
| 127 | - // 获得 User 和 Dept Map | |
| 128 | 126 | Set<Long> userIds = convertSetByFlatMap(taskList, task -> |
| 129 | 127 | Stream.of(NumberUtils.parseLong(task.getAssignee()), NumberUtils.parseLong(task.getOwner()))); |
| 130 | - userIds.add(NumberUtils.parseLong(processInstance.getStartUserId())); | |
| 131 | 128 | Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds); |
| 132 | 129 | Map<Long, DeptRespDTO> deptMap = deptApi.getDeptMap( |
| 133 | 130 | convertSet(userMap.values(), AdminUserRespDTO::getDeptId)); |
| 134 | 131 | // 获得 Form Map |
| 135 | 132 | Map<Long, BpmFormDO> formMap = formService.getFormMap( |
| 136 | 133 | convertSet(taskList, task -> NumberUtils.parseLong(task.getFormKey()))); |
| 137 | - return success(BpmTaskConvert.INSTANCE.buildTaskListByProcessInstanceId(taskList, processInstance, | |
| 134 | + return success(BpmTaskConvert.INSTANCE.buildTaskListByProcessInstanceId(taskList, | |
| 138 | 135 | formMap, userMap, deptMap)); |
| 139 | 136 | } |
| 140 | 137 | ... | ... |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmTaskConvert.java
| ... | ... | @@ -9,6 +9,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 9 | 9 | import cn.iocoder.yudao.module.bpm.controller.admin.base.user.UserSimpleBaseVO; |
| 10 | 10 | import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskRespVO; |
| 11 | 11 | import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO; |
| 12 | +import cn.iocoder.yudao.module.bpm.enums.task.BpmTaskStatusEnum; | |
| 12 | 13 | import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.FlowableUtils; |
| 13 | 14 | import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenTaskCreatedReqDTO; |
| 14 | 15 | import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; |
| ... | ... | @@ -78,18 +79,17 @@ public interface BpmTaskConvert { |
| 78 | 79 | } |
| 79 | 80 | |
| 80 | 81 | default List<BpmTaskRespVO> buildTaskListByProcessInstanceId(List<HistoricTaskInstance> taskList, |
| 81 | - HistoricProcessInstance processInstance, | |
| 82 | 82 | Map<Long, BpmFormDO> formMap, |
| 83 | 83 | Map<Long, AdminUserRespDTO> userMap, |
| 84 | 84 | Map<Long, DeptRespDTO> deptMap) { |
| 85 | 85 | return CollectionUtils.convertList(taskList, task -> { |
| 86 | + // 特殊:已取消的任务,不返回 | |
| 86 | 87 | BpmTaskRespVO taskVO = BeanUtils.toBean(task, BpmTaskRespVO.class); |
| 87 | 88 | Integer taskStatus = FlowableUtils.getTaskStatus(task); |
| 89 | + if (BpmTaskStatusEnum.isCancelStatus(taskStatus)) { | |
| 90 | + return null; | |
| 91 | + } | |
| 88 | 92 | taskVO.setStatus(taskStatus).setReason(FlowableUtils.getTaskReason(task)); |
| 89 | - // 流程实例 | |
| 90 | - AdminUserRespDTO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId())); | |
| 91 | - taskVO.setProcessInstance(BeanUtils.toBean(processInstance, BpmTaskRespVO.ProcessInstance.class)); | |
| 92 | - taskVO.getProcessInstance().setStartUser(BeanUtils.toBean(startUser, UserSimpleBaseVO.class)); | |
| 93 | 93 | // 表单信息 |
| 94 | 94 | BpmFormDO form = MapUtil.get(formMap, NumberUtils.parseLong(task.getFormKey()), BpmFormDO.class); |
| 95 | 95 | if (form != null) { | ... | ... |