From 30d96d8cade0a71dab6d1c084b1b1cac901a7ae1 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Mon, 28 Oct 2024 16:19:53 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E6=A0=91=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/constant/MaterialConstants.java | 3 ++ .../ma/service/impl/TypeServiceImpl.java | 37 +++++++++++++------ 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java index 22664782..04b159e3 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java @@ -16,6 +16,9 @@ public class MaterialConstants { */ public static final String UTF8 = "UTF-8"; + // 树的根节点ID + public static final Long TREE_ROOT_ID = 0L; + /** * 领料任务类型 */ diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeServiceImpl.java index ef3db5a8..f2979499 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeServiceImpl.java @@ -348,18 +348,33 @@ public class TypeServiceImpl implements ITypeService { } // 3.遍历所有配置关联 - for (WhHouseSet whHouseSet : whHouseSets) { - // --- 数据校验 ---- - if (whHouseSet == null || whHouseSet.getTypeId() == null) { continue; } - // 构造函数定义0级Tree对象 - TreeSelect thisTree = new TreeSelect(whHouseSet.getHouseId(),whHouseSet.getHouseName(),0,null); - // 从Map中直接获取对应的1级节点 - TreeSelect oneLevelTree = maTypeMap.get(whHouseSet.getTypeId()); - // 转换为集合存入0级Tree对象中 - thisTree.setChildren(oneLevelTree != null ? Collections.singletonList(oneLevelTree) : null); - // 最后把0级Tree对象存入Result结果集合,返回给前端 +// for (WhHouseSet whHouseSet : whHouseSets) { +// // --- 数据校验 ---- +// if (whHouseSet == null || whHouseSet.getTypeId() == null) { continue; } +// // 构造函数定义0级Tree对象 +// TreeSelect thisTree = new TreeSelect(whHouseSet.getHouseId(),whHouseSet.getHouseName(),0,null); +// // 从Map中直接获取对应的1级节点 +// TreeSelect oneLevelTree = maTypeMap.get(whHouseSet.getTypeId()); +// // 转换为集合存入0级Tree对象中 +// thisTree.setChildren(oneLevelTree != null ? Collections.singletonList(oneLevelTree) : null); +// // 最后把0级Tree对象存入Result结果集合,返回给前端 +// treeSelectResultList.add(thisTree); +// } + + // 3.遍历所有配置关联 + Map> groupedById = whHouseSets.stream().collect(Collectors.groupingBy(WhHouseSet::getHouseId)); + groupedById.forEach((id, itemList) -> { + TreeSelect thisTree = new TreeSelect(itemList.get(0).getHouseId(),itemList.get(0).getHouseName(),0,null); + List children = new ArrayList<>(); + for (WhHouseSet whHouseSet : itemList) { + if (whHouseSet == null || whHouseSet.getTypeId() == null) { continue; } + TreeSelect oneLevelTree = maTypeMap.get(whHouseSet.getTypeId()); + children.add(oneLevelTree != null ? oneLevelTree : null); + } + thisTree.setChildren(children); treeSelectResultList.add(thisTree); - } + }); + return AjaxResult.success(treeSelectResultList); }