Commit 10af05066c14b82c02ed75d82d27a36709850906
1 parent
d7ae9444
feat: 【工作流】--任务列表只返回顶级任务,拼装成父子关系并返回
Showing
3 changed files
with
22 additions
and
1 deletions
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskRespVO.java
| @@ -5,6 +5,8 @@ import lombok.Data; | @@ -5,6 +5,8 @@ import lombok.Data; | ||
| 5 | import lombok.EqualsAndHashCode; | 5 | import lombok.EqualsAndHashCode; |
| 6 | import lombok.ToString; | 6 | import lombok.ToString; |
| 7 | 7 | ||
| 8 | +import java.util.List; | ||
| 9 | + | ||
| 8 | @Schema(description = "管理后台 - 流程任务的 Response VO") | 10 | @Schema(description = "管理后台 - 流程任务的 Response VO") |
| 9 | @Data | 11 | @Data |
| 10 | @EqualsAndHashCode(callSuper = true) | 12 | @EqualsAndHashCode(callSuper = true) |
| @@ -24,6 +26,9 @@ public class BpmTaskRespVO extends BpmTaskDonePageItemRespVO { | @@ -24,6 +26,9 @@ public class BpmTaskRespVO extends BpmTaskDonePageItemRespVO { | ||
| 24 | */ | 26 | */ |
| 25 | private String parentTaskId; | 27 | private String parentTaskId; |
| 26 | 28 | ||
| 29 | + @Schema(description = "子任务(由加签生成)", requiredMode = Schema.RequiredMode.REQUIRED, example = "childrenTask") | ||
| 30 | + private List<BpmTaskRespVO> children; | ||
| 31 | + | ||
| 27 | @Schema(description = "用户信息") | 32 | @Schema(description = "用户信息") |
| 28 | @Data | 33 | @Data |
| 29 | public static class User { | 34 | public static class User { |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmTaskConvert.java
| 1 | package cn.iocoder.yudao.module.bpm.convert.task; | 1 | package cn.iocoder.yudao.module.bpm.convert.task; |
| 2 | 2 | ||
| 3 | +import cn.hutool.core.collection.CollUtil; | ||
| 3 | import cn.hutool.core.date.LocalDateTimeUtil; | 4 | import cn.hutool.core.date.LocalDateTimeUtil; |
| 4 | import cn.hutool.core.util.StrUtil; | 5 | import cn.hutool.core.util.StrUtil; |
| 5 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | 6 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| @@ -178,4 +179,18 @@ public interface BpmTaskConvert { | @@ -178,4 +179,18 @@ public interface BpmTaskConvert { | ||
| 178 | return bpmTaskSubSignRespVO; | 179 | return bpmTaskSubSignRespVO; |
| 179 | }); | 180 | }); |
| 180 | } | 181 | } |
| 182 | + | ||
| 183 | + /** | ||
| 184 | + * 转换任务为父子级 | ||
| 185 | + * @param result | ||
| 186 | + * @return | ||
| 187 | + */ | ||
| 188 | + default List<BpmTaskRespVO> convertChildrenList(List<BpmTaskRespVO> result){ | ||
| 189 | + List<BpmTaskRespVO> childrenTaskList = CollectionUtils.filterList(result, r -> StrUtil.isNotEmpty(r.getParentTaskId())); | ||
| 190 | + Map<String, List<BpmTaskRespVO>> parentChildrenTaskListMap = CollectionUtils.convertMultiMap(childrenTaskList, BpmTaskRespVO::getParentTaskId); | ||
| 191 | + for (BpmTaskRespVO bpmTaskRespVO : result) { | ||
| 192 | + bpmTaskRespVO.setChildren(parentChildrenTaskListMap.get(bpmTaskRespVO.getId())); | ||
| 193 | + } | ||
| 194 | + return CollectionUtils.filterList(result, r -> StrUtil.isEmpty(r.getParentTaskId())); | ||
| 195 | + } | ||
| 181 | } | 196 | } |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java
| @@ -193,7 +193,8 @@ public class BpmTaskServiceImpl implements BpmTaskService { | @@ -193,7 +193,8 @@ public class BpmTaskServiceImpl implements BpmTaskService { | ||
| 193 | Map<Long, DeptRespDTO> deptMap = deptApi.getDeptMap(convertSet(userMap.values(), AdminUserRespDTO::getDeptId)); | 193 | Map<Long, DeptRespDTO> deptMap = deptApi.getDeptMap(convertSet(userMap.values(), AdminUserRespDTO::getDeptId)); |
| 194 | 194 | ||
| 195 | // 拼接数据 | 195 | // 拼接数据 |
| 196 | - return BpmTaskConvert.INSTANCE.convertList3(tasks, bpmTaskExtDOMap, processInstance, userMap, deptMap); | 196 | + List<BpmTaskRespVO> result = BpmTaskConvert.INSTANCE.convertList3(tasks, bpmTaskExtDOMap, processInstance, userMap, deptMap); |
| 197 | + return BpmTaskConvert.INSTANCE.convertChildrenList(result); | ||
| 197 | } | 198 | } |
| 198 | 199 | ||
| 199 | @Override | 200 | @Override |