From c4e2c196aad8af656d94bc47e9f1a80bc504b5d7 Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Thu, 14 Mar 2024 18:15:29 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java |   52 ++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 44 insertions(+), 8 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..8da01be 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;
@@ -254,7 +255,7 @@
 				dept.setId(one.getId());
 				flag = updateById(dept);
 			} else {
-				if (dept.getId() > 0) {
+				if (dept.getId() != null && dept.getId() > 0) {
 					flag = updateById(dept);
 				} else {
 					flag = save(dept);
@@ -323,7 +324,7 @@
 	public Object dataHandle() {
 		// 查询所有的社区
 		QueryWrapper<Region> queryWrapper = new QueryWrapper<>();
-		queryWrapper.eq("district_code","361102").eq("region_level",5);
+		queryWrapper.eq("district_code", "361102").eq("region_level", 5);
 		List<Region> list = regionService.list(queryWrapper);
 		// 遍历
 		for (Region region : list) {
@@ -342,7 +343,7 @@
 				QueryWrapper<Dept> deptQueryWrapper = new QueryWrapper<>();
 				deptQueryWrapper.eq("is_deleted", 0).eq("dept_name", region.getTownName());
 				Dept parentDept = getOne(deptQueryWrapper);
-				if (null!=parentDept){
+				if (null != parentDept) {
 					dept.setParentId(parentDept.getId());
 					dept.setAncestors(parentDept.getAncestors() + "," + parentDept.getId());
 				}
@@ -364,7 +365,7 @@
 	public Object dataHandleCommunity() {
 		// 查询所有的社区
 		QueryWrapper<Region> queryWrapper = new QueryWrapper<>();
-		queryWrapper.eq("district_code","361102").eq("region_level",5);
+		queryWrapper.eq("district_code", "361102").eq("region_level", 5);
 		List<Region> list = regionService.list(queryWrapper);
 		// 遍历
 		for (Region region : list) {
@@ -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;
 	}
 
@@ -424,13 +448,13 @@
 	public Object dataHandleCommunityByPolice() {
 		// 查询所有的派出所
 		QueryWrapper<Dept> wrapper = new QueryWrapper<>();
-		wrapper.eq("is_deleted",0).like("dept_name","派出所");
+		wrapper.eq("is_deleted", 0).like("dept_name", "派出所");
 		List<Dept> list = list(wrapper);
 		// 遍历
 		for (Dept dept : list) {
 			// 通过派出所名称查询对应的警务网格信息
 			QueryWrapper<PoliceAffairsGridEntity> queryWrapper = new QueryWrapper<>();
-			queryWrapper.eq("is_deleted",0).eq("pcs_name",dept.getDeptName());
+			queryWrapper.eq("is_deleted", 0).eq("pcs_name", dept.getDeptName());
 			List<PoliceAffairsGridEntity> policeAffairsGridEntityList
 				= SpringUtil.getBean(IPoliceAffairsGridService.class).list(queryWrapper);
 			// 遍历
@@ -450,4 +474,16 @@
 		}
 		return null;
 	}
+
+	/**
+	 * 查询对应的派出所
+	 *
+	 * @param deptId
+	 * @return
+	 */
+	@Override
+	public Dept getDeptByDeptIds(String deptId) {
+		return baseMapper.getDeptByDeptIds(deptId);
+	}
+
 }

--
Gitblit v1.9.3