From 396bf585bc43c16c944fdc03e9e5efc5a8432aad Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sun, 23 Apr 2023 11:46:27 +0800
Subject: [PATCH] 新增组织机构人员树查询接口

---
 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