From fe3996e9c4f4236d39f8ef468586c31a8a532d55 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Sun, 23 Apr 2023 11:57:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev
---
skjcmanager/skjcmanager-common/src/main/java/cn/gistack/common/utils/NodeTreeUtil.java | 41 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 41 insertions(+), 0 deletions(-)
diff --git a/skjcmanager/skjcmanager-common/src/main/java/cn/gistack/common/utils/NodeTreeUtil.java b/skjcmanager/skjcmanager-common/src/main/java/cn/gistack/common/utils/NodeTreeUtil.java
index 082799b..ca9864a 100644
--- a/skjcmanager/skjcmanager-common/src/main/java/cn/gistack/common/utils/NodeTreeUtil.java
+++ b/skjcmanager/skjcmanager-common/src/main/java/cn/gistack/common/utils/NodeTreeUtil.java
@@ -1,7 +1,9 @@
package cn.gistack.common.utils;
+import cn.gistack.common.node.DeptUserTreeNode;
import cn.gistack.common.node.TreeNode;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -32,6 +34,45 @@
}
/**
+ * map 转 tree 组织机构(父子id不会重复的情况,数据查询来自同一个表)
+ * @param treeMap
+ * @return
+ */
+ public static List<TreeNode> getDeptAndUserNodeTree(Map<String, DeptUserTreeNode> treeMap){
+ List<TreeNode> tree = new ArrayList<>();
+ if (treeMap.size() > 1) {
+ treeMap.forEach((id, treeNode) -> {
+ if (!treeNode.getHasChildren()){
+ // 判断是否有绑定多个部门
+ List<String> asList = Arrays.asList(treeNode.getParentId().split(","));
+ if (asList.size()>1){
+ for (String parentId : asList) {
+ if (treeMap.containsKey(parentId)) {
+ treeMap.get(parentId).getChildren().add(treeNode);
+ } else {
+ tree.add(treeNode);
+ }
+ }
+ }else {
+ if (treeMap.containsKey(treeNode.getParentId())) {
+ treeMap.get(treeNode.getParentId()).getChildren().add(treeNode);
+ } else {
+ tree.add(treeNode);
+ }
+ }
+ }else {
+ if (treeMap.containsKey(treeNode.getParentId())) {
+ treeMap.get(treeNode.getParentId()).getChildren().add(treeNode);
+ } else {
+ tree.add(treeNode);
+ }
+ }
+ });
+ }
+ return tree;
+ }
+
+ /**
* list 转 tree 组织机构
* @param parentList
* @param childrenList
--
Gitblit v1.9.3