From f9281b83739ceb938687264dcabd9e2e12acfd56 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期二, 25 三月 2025 15:20:00 +0800 Subject: [PATCH] 修改 # 优化物料分组搜索功能 --- rsf-common/src/main/java/com/vincent/rsf/common/utils/Utils.java | 20 -------------------- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrGroupServiceImpl.java | 10 +++++++++- 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/rsf-common/src/main/java/com/vincent/rsf/common/utils/Utils.java b/rsf-common/src/main/java/com/vincent/rsf/common/utils/Utils.java index 008d82d..6123a36 100644 --- a/rsf-common/src/main/java/com/vincent/rsf/common/utils/Utils.java +++ b/rsf-common/src/main/java/com/vincent/rsf/common/utils/Utils.java @@ -48,26 +48,6 @@ return result; } - public static <T, R> List<T> getAllTree(List<T> data, R parentId, Function<? super T, ? extends R> parentIdMapper, Function<? super T, ? extends R> idMapper, BiConsumer<T, List<T>> consumer) { - List<T> result = new ArrayList<>(); - for (T datum : data) { - R dParentId = parentIdMapper.apply(datum); - R dId = idMapper.apply(datum); - if (dParentId.equals(dId)) { - List<T> children = toTreeData(data, dId, parentIdMapper, idMapper, consumer); - if (!children.isEmpty()) { - consumer.accept(datum, children); - } - result.add(datum); - } - if (dParentId.equals(dId)) { - continue; - } - } - return result; - } - - public static <T> void treeRemove(List<T> list, String condition, Function<? super T, ? extends String> fetcher, Function<T, List<T>> childrenGetter) { Iterator<T> iterator = list.iterator(); while (iterator.hasNext()) { diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrGroupServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrGroupServiceImpl.java index 65b0fe6..eee9eaa 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrGroupServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrGroupServiceImpl.java @@ -37,7 +37,15 @@ List<Long> collect = groups.stream().map(MatnrGroup::getId).collect(Collectors.toList()); List<MatnrGroup> list = this.list(new LambdaQueryWrapper<MatnrGroup>().in(MatnrGroup::getId, collect)); matnrs.addAll(list); - List<MatnrGroup> treeData = Utils.toTreeData(matnrs, 0L, MatnrGroup::getParentId, MatnrGroup::getId, MatnrGroup::setChildren); + if (matnrs.isEmpty()) { + return new ArrayList<>(); + } + MatnrGroup one = this.getOne(new LambdaQueryWrapper<MatnrGroup>().eq(MatnrGroup::getParentId, 0)); + if (Objects.isNull(one)) { + throw new CoolException("椤剁骇鍒嗙粍涓嶅瓨鍦紝璇锋坊鍔犲悗鍐嶆搷浣滐紒锛�"); + } + + List<MatnrGroup> treeData = Utils.toTreeData(matnrs, one.getId(), MatnrGroup::getParentId, MatnrGroup::getId, MatnrGroup::setChildren); return treeData; } else { matnrs = this.list(new LambdaQueryWrapper<MatnrGroup>().orderByAsc(MatnrGroup::getCode)); -- Gitblit v1.9.1