From 969dc51644ce68a91211628a04dd4de640f4beb8 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 26 三月 2024 14:16:06 +0800
Subject: [PATCH] Merge branch 'Four-Way-Rack' of http://47.97.1.152:5880/r/zy-asrs-master into Four-Way-Rack
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/Utils.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 52 insertions(+), 2 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 5c21a4f..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
@@ -2,8 +2,11 @@
import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.wcs.common.constant.Constants;
+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;
@@ -26,7 +29,8 @@
* @param <R> parentId鐨勭被鍨�
* @return List<T>
*/
- public static <T, R> List<T> toTreeData(List<T> data, R parentId,
+ public static <T, R> List<T> toTreeData(List<T> data,
+ R parentId,
Function<? super T, ? extends R> parentIdMapper,
Function<? super T, ? extends R> idMapper,
BiConsumer<T, List<T>> consumer) {
@@ -36,11 +40,48 @@
if (parentId.equals(dParentId)) {
R dId = idMapper.apply(d);
List<T> children = toTreeData(data, dId, parentIdMapper, idMapper, consumer);
- consumer.accept(d, children);
+ if(children.size() > 0) {
+ consumer.accept(d, children);
+ }
result.add(d);
}
}
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<>();
+// for (T node : data) {
+// List<T> children = childrenGetter.apply(node);
+//
+// if (children != null && !children.isEmpty()) {
+// List<T> newChildren = treeRemove(children, condition, fetcher, childrenGetter, childrenSetter);
+// childrenSetter.accept(node, newChildren);
+// }
+//
+// if (fetcher.apply(node).contains(condition)) {
+// result.add(node);
+// }
+// }
+// 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()) {
+ T next = iterator.next();
+ List<T> children = childrenGetter.apply(next);
+ if (children != null && !children.isEmpty()) {
+ treeRemove(children, condition, fetcher, childrenGetter);
+ } else {
+ if (!fetcher.apply(next).contains(condition)) {
+ iterator.remove();
+ }
+ }
+ }
}
/**
@@ -254,4 +295,13 @@
}
}
+ public static void cors(HttpServletResponse response){
+ // 璺ㄥ煙璁剧疆
+ response.setHeader("Access-Control-Max-Age", "3600");
+ response.setHeader("Access-Control-Allow-Origin", "*");
+ response.setHeader("Access-Control-Allow-Methods", "*");
+ response.setHeader("Access-Control-Allow-Headers", "*");
+ response.setHeader("Access-Control-Expose-Headers", Constants.TOKEN_HEADER_NAME);
+ }
+
}
--
Gitblit v1.9.1