From b3b566ebdfed4005aaa513da3d5d2fd3924903cc Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Wed, 31 Jan 2024 16:17:54 +0800
Subject: [PATCH] 拿不到地址总表数据,不设置网格信息
---
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java | 107 ++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 84 insertions(+), 23 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 bfdea32..cd269ee 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
@@ -22,19 +22,27 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.common.cache.SysCache;
import org.springblade.common.node.TreeStringNode;
+import org.springblade.common.utils.SpringUtils;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.node.ForestNodeMerger;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.core.tool.utils.StringPool;
+import org.springblade.modules.community.entity.CommunityEntity;
+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.property.entity.PropertyCompanyEntity;
import org.springblade.modules.property.service.IPropertyCompanyService;
import org.springblade.modules.system.entity.Dept;
+import org.springblade.modules.system.entity.Region;
import org.springblade.modules.system.mapper.DeptMapper;
import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.service.IRegionService;
+import org.springblade.modules.system.vo.DeptDetailVO;
import org.springblade.modules.system.vo.DeptVO;
import org.springblade.modules.system.wrapper.DeptWrapper;
import org.springframework.beans.factory.annotation.Autowired;
@@ -95,21 +103,13 @@
@Override
public List<DeptVO> tree(String tenantId) {
- Long parentId = null;
+ Long id = null;
// 判断数据权限控制,非超管角色只可看到本级及以下数据
-// if (!AuthUtil.isAdministrator()) {
-// Long deptId = Func.firstLong(AuthUtil.getDeptId());
-// Dept dept = SysCache.getDept(deptId);
-// if (dept.getParentId() != 0) {
-// parentId = dept.getParentId();
-// }
-// List<DeptVO> merge = ForestNodeMerger.merge(baseMapper.tree(tenantId, parentId));
-// List<DeptVO> copy = BeanUtil.copy(merge, DeptVO.class);
-// copy = copy.stream().filter(item -> AuthUtil.getDeptId().contains(item.getId().toString())).collect(Collectors.toList());
-// return copy;
-// }
-
- return ForestNodeMerger.merge(baseMapper.tree(tenantId, parentId));
+ if (!AuthUtil.isAdmin()) {
+ id = Func.firstLong(AuthUtil.getDeptId());
+ }
+ List<DeptVO> tree = baseMapper.tree(tenantId, id);
+ return ForestNodeMerger.merge(tree);
}
@Override
@@ -125,7 +125,7 @@
// parentId = dept.getParentId();
// }
// }
- if (Func.toLong(parentId) == 0L && !AuthUtil.isAdministrator()) {
+ if (Func.toLong(parentId) == 0L && !AuthUtil.isAdmin()) {
Long deptId = Func.firstLong(AuthUtil.getDeptId());
Dept dept = SysCache.getDept(deptId);
if (dept.getParentId() != 0) {
@@ -316,24 +316,85 @@
@Override
@Transactional(rollbackFor = Exception.class)
public Object dataHandle() {
- // 查询未绑定的网格
- List<TreeStringNode> list = regionService.getTree(null);
+ // 查询所有的社区
+ QueryWrapper<Region> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("district_code","361102").eq("region_level",5);
+ List<Region> list = regionService.list(queryWrapper);
// 遍历
- for (TreeStringNode treeStringNode : list) {
+ for (Region region : list) {
// 查询是否已创建
QueryWrapper<Dept> wrapper = new QueryWrapper<>();
- wrapper.eq("is_deleted", 0).eq("dept_name", treeStringNode.getName());
+ wrapper.eq("is_deleted", 0).eq("dept_name", region.getName());
Dept one = getOne(wrapper);
if (null == one) {
// 新增
Dept dept = new Dept();
- dept.setParentId(1733066387113734145L);
- dept.setFullName(treeStringNode.getName());
- dept.setDeptName(treeStringNode.getName());
+ dept.setFullName(region.getName());
+ dept.setDeptName(region.getName());
dept.setDeptCategory(1);
dept.setTenantId("000000");
+ // 查询上级id
+ QueryWrapper<Dept> deptQueryWrapper = new QueryWrapper<>();
+ deptQueryWrapper.eq("is_deleted", 0).eq("dept_name", region.getTownName());
+ Dept parentDept = getOne(deptQueryWrapper);
+ if (null!=parentDept){
+ dept.setParentId(parentDept.getId());
+ dept.setAncestors(parentDept.getAncestors() + "," + parentDept.getId());
+ }
+ dept.setRegionCode(region.getCode());
// 新增
- save(dept);
+ saveOrUpdate(dept);
+ // 插入社区表数据
+ }
+ }
+ return null;
+ }
+
+
+ /**
+ * 数据处理(社区绑定)--处理机构
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Object dataHandleCommunity() {
+ // 查询所有的社区
+ QueryWrapper<Region> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("district_code","361102").eq("region_level",5);
+ List<Region> list = regionService.list(queryWrapper);
+ // 遍历
+ for (Region region : list) {
+ // 查询是否已创建
+ QueryWrapper<CommunityEntity> wrapper = new QueryWrapper<>();
+ wrapper.eq("is_deleted", 0).eq("name", region.getName());
+ CommunityEntity one = SpringUtil.getBean(ICommunityService.class).getOne(wrapper);
+ if (null == one) {
+ // 新增
+ CommunityEntity communityEntity = new CommunityEntity();
+ communityEntity.setStreetCode(region.getTownCode());
+ communityEntity.setName(region.getName());
+ communityEntity.setCode(region.getCode());
+ // 新增
+ SpringUtil.getBean(ICommunityService.class).save(communityEntity);
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 数据处理(区域网格编号绑定)
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Object dataRegionGridCodeBindHandle() {
+ // 查询网格对应的机构信息(包含父级机构名称)
+ List<DeptVO> deptVOS = baseMapper.getGridDeptAndParentList();
+ //遍历处理
+ for (DeptVO deptVO : deptVOS) {
+ GridEntity gridEntity = SpringUtils.getBean(IGridService.class).getGridByNames(deptVO.getDeptName(), deptVO.getParentName());
+ if (null != gridEntity) {
+ deptVO.setRegionCode(gridEntity.getGridCode());
+ // 更新
+ updateById(deptVO);
}
}
return null;
--
Gitblit v1.9.3