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 | 85 +++++++++++++++++++++++++++++++++++++++---
1 files changed, 79 insertions(+), 6 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 90bdf3c..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
@@ -36,6 +36,8 @@
import org.springblade.modules.community.service.ICommunityService;
import org.springblade.modules.grid.entity.GridEntity;
import org.springblade.modules.grid.service.IGridService;
+import org.springblade.modules.police.entity.PoliceAffairsGridEntity;
+import org.springblade.modules.police.service.IPoliceAffairsGridService;
import org.springblade.modules.property.entity.PropertyCompanyEntity;
import org.springblade.modules.property.service.IPropertyCompanyService;
import org.springblade.modules.system.entity.Dept;
@@ -52,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;
@@ -252,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);
@@ -321,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) {
@@ -340,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());
}
@@ -362,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) {
@@ -406,11 +409,81 @@
@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;
+ }
+
+ /**
+ * 数据处理(社区绑定)-- 处理社区(派出所下)
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Object dataHandleCommunityByPolice() {
+ // 查询所有的派出所
+ QueryWrapper<Dept> wrapper = new QueryWrapper<>();
+ 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());
+ List<PoliceAffairsGridEntity> policeAffairsGridEntityList
+ = SpringUtil.getBean(IPoliceAffairsGridService.class).list(queryWrapper);
+ // 遍历
+ for (PoliceAffairsGridEntity policeAffairsGridEntity : policeAffairsGridEntityList) {
+ Dept deptInfo = new Dept();
+ deptInfo.setTenantId("000000");
+ deptInfo.setDeptName(policeAffairsGridEntity.getCommunityName());
+ deptInfo.setFullName(policeAffairsGridEntity.getCommunityName());
+ deptInfo.setDeptCategory(1);
+ deptInfo.setDeptNature(1);
+ deptInfo.setParentId(dept.getId());
+ deptInfo.setAncestors(dept.getAncestors() + "," + dept.getId());
+ deptInfo.setRegionCode(policeAffairsGridEntity.getJwGridCode());
+ // 保存
+ save(deptInfo);
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 查询对应的派出所
+ *
+ * @param deptId
+ * @return
+ */
+ @Override
+ public Dept getDeptByDeptIds(String deptId) {
+ return baseMapper.getDeptByDeptIds(deptId);
+ }
+
}
--
Gitblit v1.9.3