Commit 9a9e721b50e5e570da0bb79c18cb7d5d911f4772

Authored by YunaiV
1 parent 56d280fd

【功能修改】工作流:流程审批详情的“流程记录”,从 timeline 改成 list table

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,18 +123,15 @@ public class BpmTaskController {
123 } 123 }
124 124
125 // 拼接数据 125 // 拼接数据
126 - HistoricProcessInstance processInstance = processInstanceService.getHistoricProcessInstance(processInstanceId);  
127 - // 获得 User 和 Dept Map  
128 Set<Long> userIds = convertSetByFlatMap(taskList, task -> 126 Set<Long> userIds = convertSetByFlatMap(taskList, task ->
129 Stream.of(NumberUtils.parseLong(task.getAssignee()), NumberUtils.parseLong(task.getOwner()))); 127 Stream.of(NumberUtils.parseLong(task.getAssignee()), NumberUtils.parseLong(task.getOwner())));
130 - userIds.add(NumberUtils.parseLong(processInstance.getStartUserId()));  
131 Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds); 128 Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds);
132 Map<Long, DeptRespDTO> deptMap = deptApi.getDeptMap( 129 Map<Long, DeptRespDTO> deptMap = deptApi.getDeptMap(
133 convertSet(userMap.values(), AdminUserRespDTO::getDeptId)); 130 convertSet(userMap.values(), AdminUserRespDTO::getDeptId));
134 // 获得 Form Map 131 // 获得 Form Map
135 Map<Long, BpmFormDO> formMap = formService.getFormMap( 132 Map<Long, BpmFormDO> formMap = formService.getFormMap(
136 convertSet(taskList, task -> NumberUtils.parseLong(task.getFormKey()))); 133 convertSet(taskList, task -> NumberUtils.parseLong(task.getFormKey())));
137 - return success(BpmTaskConvert.INSTANCE.buildTaskListByProcessInstanceId(taskList, processInstance, 134 + return success(BpmTaskConvert.INSTANCE.buildTaskListByProcessInstanceId(taskList,
138 formMap, userMap, deptMap)); 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,6 +9,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
9 import cn.iocoder.yudao.module.bpm.controller.admin.base.user.UserSimpleBaseVO; 9 import cn.iocoder.yudao.module.bpm.controller.admin.base.user.UserSimpleBaseVO;
10 import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskRespVO; 10 import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskRespVO;
11 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO; 11 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;
  12 +import cn.iocoder.yudao.module.bpm.enums.task.BpmTaskStatusEnum;
12 import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.FlowableUtils; 13 import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.FlowableUtils;
13 import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenTaskCreatedReqDTO; 14 import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenTaskCreatedReqDTO;
14 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; 15 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
@@ -78,18 +79,17 @@ public interface BpmTaskConvert { @@ -78,18 +79,17 @@ public interface BpmTaskConvert {
78 } 79 }
79 80
80 default List<BpmTaskRespVO> buildTaskListByProcessInstanceId(List<HistoricTaskInstance> taskList, 81 default List<BpmTaskRespVO> buildTaskListByProcessInstanceId(List<HistoricTaskInstance> taskList,
81 - HistoricProcessInstance processInstance,  
82 Map<Long, BpmFormDO> formMap, 82 Map<Long, BpmFormDO> formMap,
83 Map<Long, AdminUserRespDTO> userMap, 83 Map<Long, AdminUserRespDTO> userMap,
84 Map<Long, DeptRespDTO> deptMap) { 84 Map<Long, DeptRespDTO> deptMap) {
85 return CollectionUtils.convertList(taskList, task -> { 85 return CollectionUtils.convertList(taskList, task -> {
  86 + // 特殊:已取消的任务,不返回
86 BpmTaskRespVO taskVO = BeanUtils.toBean(task, BpmTaskRespVO.class); 87 BpmTaskRespVO taskVO = BeanUtils.toBean(task, BpmTaskRespVO.class);
87 Integer taskStatus = FlowableUtils.getTaskStatus(task); 88 Integer taskStatus = FlowableUtils.getTaskStatus(task);
  89 + if (BpmTaskStatusEnum.isCancelStatus(taskStatus)) {
  90 + return null;
  91 + }
88 taskVO.setStatus(taskStatus).setReason(FlowableUtils.getTaskReason(task)); 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 BpmFormDO form = MapUtil.get(formMap, NumberUtils.parseLong(task.getFormKey()), BpmFormDO.class); 94 BpmFormDO form = MapUtil.get(formMap, NumberUtils.parseLong(task.getFormKey()), BpmFormDO.class);
95 if (form != null) { 95 if (form != null) {