From 1cbbb341d22e3c46b15af65b6f97d738bae7ca95 Mon Sep 17 00:00:00 2001 From: yangbin <yangbin> Date: 星期二, 20 五月 2025 10:46:57 +0800 Subject: [PATCH] 自动化 --- lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/utils/TreeBuilder.java | 29 +++++++++++++++++------------ 1 files changed, 17 insertions(+), 12 deletions(-) diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/utils/TreeBuilder.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/utils/TreeBuilder.java index fed3ea5..6a2c903 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/utils/TreeBuilder.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/utils/TreeBuilder.java @@ -1,10 +1,14 @@ package org.jeecg.modules.dnc.utils; -import it.unimi.dsi.fastutil.longs.*; +import it.unimi.dsi.fastutil.longs.Long2IntMap; +import it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap; +import it.unimi.dsi.fastutil.longs.Long2ObjectMap; +import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap; import org.jeecg.modules.dnc.entity.ProductMix; import java.util.*; -import java.util.concurrent.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentLinkedQueue; import java.util.stream.Collectors; public class TreeBuilder { @@ -46,19 +50,19 @@ // 1. 鏋勫缓閭绘帴琛紙鐖惰妭鐐� -> 瀛愯妭鐐瑰垪琛級 Long2ObjectMap<List<Long>> adjacencyList = new Long2ObjectOpenHashMap<>(nodes.size()); nodes.forEach(node -> { - long parentId = node.getParentId(); + Long parentId = node.getParentId(); adjacencyList.computeIfAbsent(parentId, k -> new ArrayList<>()) .add(node.getId()); }); // 2. 鍒濆鍖栧叆搴﹁鏁板櫒 Long2IntMap inDegree = new Long2IntOpenHashMap(); - nodes.forEach(node -> inDegree.put(node.getId(), 0)); + nodes.forEach(node -> inDegree.put(node.getId().longValue(), 0)); // 3. 璁$畻鍏ュ害 nodes.forEach(node -> { if (node.getParentId() != 0 && nodeMap.containsKey(node.getParentId())) { - inDegree.put(node.getId(), inDegree.get(node.getId()) + 1); + inDegree.put(node.getId().longValue(), inDegree.get(node.getId()) + 1); } }); @@ -87,11 +91,11 @@ }); } - // 6. 寰幆妫�娴� - if (sorted.size() != nodes.size()) { - handleSortingFailure(nodes, sorted, nodeMap); - return Collections.emptyList(); - } +// // 6. 寰幆妫�娴� +// if (sorted.size() != nodes.size()) { +// handleSortingFailure(nodes, sorted, nodeMap); +// return Collections.emptyList(); +// } return sorted; } @@ -106,7 +110,8 @@ node.getParentId(), node.getName(), node.getCode(), - node.getType() + node.getType(), + node.getCreateTime() ); treeMap.put(newNode.getId(), newNode); }); @@ -178,4 +183,4 @@ public Long2ObjectMap<ProductMix> getNodeMap() { return nodeMap; } public List<ProductMix> getValidNodes() { return validNodes; } } -} \ No newline at end of file +} -- Gitblit v1.9.3