From ebf0db91e09be33fcbfe97ed5b91965dc2e61dfd Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期四, 01 八月 2024 10:54:26 +0800
Subject: [PATCH] 1. 托盘管理 2. 入库通知档导入功能 3. 工作档明细 新增来源单据类型及单据编号 4. 库存明细统计表 增加一栏ERP数量(需跟ERP确认接口实现方式)。 5. 存货档案、单据管理、库存管理可以支持模糊搜索(各个单据界面)。
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/Utils.java | 26 +++++++++++---------------
1 files changed, 11 insertions(+), 15 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/Utils.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/Utils.java
index fca97c6..0ac4c2a 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/Utils.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/Utils.java
@@ -6,11 +6,11 @@
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Function;
-import java.util.function.Predicate;
/**
* Created by vincent on 2023/3/14
@@ -69,23 +69,19 @@
// return result;
// }
- public static <T> List<T> treeRemove(List<T> data, String condition,
- Function<? super T, ? extends String> fetcher,
- Function<T, List<T>> childrenGetter,
- BiConsumer<T, List<T>> childrenSetter) {
- List<T> result = new ArrayList<>();
- Predicate<T> predicate = node -> fetcher.apply(node).contains(condition);
- for (T node : data) {
- List<T> children = childrenGetter.apply(node);
+ 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()) {
+ T next = iterator.next();
+ List<T> children = childrenGetter.apply(next);
if (children != null && !children.isEmpty()) {
- List<T> newChildren = treeRemove(children, condition, fetcher, childrenGetter, childrenSetter);
- childrenSetter.accept(node, newChildren);
- }
- if (predicate.test(node)) {
- result.add(node);
+ treeRemove(children, condition, fetcher, childrenGetter);
+ } else {
+ if (!fetcher.apply(next).contains(condition)) {
+ iterator.remove();
+ }
}
}
- return result;
}
/**
--
Gitblit v1.9.1