From 8d4ee2e7f05b09551c265265ebe3e41ad2fb400b Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Fri, 01 Mar 2024 15:50:37 +0800
Subject: [PATCH] bug 修復

---
 src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java |   39 +++++++++++++++++++++++++++++++++++++--
 1 files changed, 37 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
index 9e51e45..3127d74 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -54,6 +54,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -408,11 +409,34 @@
 	@Override
 	public List<DeptUserTreeNode> getDeptAndUserTree(DeptUserTreeNode treeNode) {
 		// 查询数据
-		Map<String, DeptUserTreeNode> deptMap = baseMapper.getDeptMap(treeNode);
+//		Map<String, DeptUserTreeNode> deptMap = baseMapper.getDeptMap(treeNode);
+
+		Map<String, DeptUserTreeNode> deptMap = baseMapper.getDeptMapAndChildren(treeNode);
 		Map<String, DeptUserTreeNode> userMap = baseMapper.getUserMap(treeNode);
 		deptMap.putAll(userMap);
 		List<DeptUserTreeNode> deptAndUserNodeTree = NodeTreeUtil.getDeptAndUserNodeTree(deptMap);
-		// 处理并返回
+		return deptAndUserNodeTree;
+	}
+
+	@Override
+	public Object getDeptAndUserTreeLazyTree(DeptUserTreeNode treeNode) {
+
+		//传一个部门id,查询出该部门的下一级部门
+		Map<String, DeptUserTreeNode> deptMap = baseMapper.getDeptMapAndChild(treeNode);
+
+		String deptIds = "";
+		int count = 0;
+		for (String key:deptMap.keySet()){
+			count++;
+			deptIds += key;
+			if (count<deptMap.size()){
+				deptIds +=",";
+			}
+		}
+
+		Map<String, DeptUserTreeNode> userMap = baseMapper.getUserMapByDeptIds(deptIds);
+		deptMap.putAll(userMap);
+		List<DeptUserTreeNode> deptAndUserNodeTree = NodeTreeUtil.getDeptAndUserNodeTree(deptMap);
 		return deptAndUserNodeTree;
 	}
 
@@ -450,4 +474,15 @@
 		}
 		return null;
 	}
+
+	/**
+	 * 查询对应的派出所
+	 * @param deptId
+	 * @return
+	 */
+	@Override
+	public Dept getDeptByDeptIds(String deptId) {
+		return baseMapper.getDeptByDeptIds(deptId);
+	}
+
 }

--
Gitblit v1.9.3