From f955449bf78c8704290b48612218a66e9a7b9eed Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 30 一月 2024 14:29:41 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/Utils.java | 33 +++++++++++++++++++++++++++++++++
1 files changed, 33 insertions(+), 0 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 9db68ff..5c21a4f 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
@@ -3,7 +3,11 @@
import com.zy.asrs.framework.common.Cools;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Optional;
+import java.util.function.BiConsumer;
+import java.util.function.Function;
/**
* Created by vincent on 2023/3/14
@@ -11,6 +15,35 @@
public class Utils {
/**
+ * List杞负鏍戝舰缁撴瀯
+ *
+ * @param data List
+ * @param parentId 椤剁骇鐨刾arentId
+ * @param parentIdMapper 鑾峰彇parentId鐨凢unction
+ * @param idMapper 鑾峰彇id鐨凢unction
+ * @param consumer 璧嬪�糲hildren鐨凜onsumer
+ * @param <T> 鏁版嵁鐨勭被鍨�
+ * @param <R> parentId鐨勭被鍨�
+ * @return List<T>
+ */
+ 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) {
+ List<T> result = new ArrayList<>();
+ for (T d : data) {
+ R dParentId = parentIdMapper.apply(d);
+ if (parentId.equals(dParentId)) {
+ R dId = idMapper.apply(d);
+ List<T> children = toTreeData(data, dId, parentIdMapper, idMapper, consumer);
+ consumer.accept(d, children);
+ result.add(d);
+ }
+ }
+ return result;
+ }
+
+ /**
* 鏁扮粍鍊掑簭
* @param bytes
* @param <T>
--
Gitblit v1.9.1