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