From 99a1086e763ee8be458b8e450f4d36222263ade3 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Sat, 20 Jan 2024 14:06:03 +0800
Subject: [PATCH] 添加物业公司,新增物业公司账号

---
 src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 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 070d0b2..231c67f 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
@@ -31,7 +31,6 @@
 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.UserDept;
 import org.springblade.modules.system.mapper.DeptMapper;
 import org.springblade.modules.system.service.IDeptService;
 import org.springblade.modules.system.service.IRegionService;
@@ -99,6 +98,14 @@
 	public List<DeptVO> lazyTree(String tenantId, Long parentId) {
 		if (AuthUtil.isAdministrator()) {
 			tenantId = StringPool.EMPTY;
+		}
+		// 判断数据权限控制,非超管角色只可看到本级及以下数据
+		if (Func.toLong(parentId) == 0L && !AuthUtil.isAdministrator()) {
+			Long deptId = Func.firstLong(AuthUtil.getDeptId());
+			Dept dept = SysCache.getDept(deptId);
+			if (dept.getParentId() != 0) {
+				parentId = dept.getParentId();
+			}
 		}
 		return ForestNodeMerger.merge(baseMapper.lazyTree(tenantId, parentId));
 	}
@@ -201,16 +208,16 @@
 		queryWrapper.eq("is_deleted",0).eq("id", dept.getParentId());
 		Dept parentDept = getOne(queryWrapper);
 		// 如果父机构为物业公司
-		if (parentDept.getDeptName().equals("物业公司")){
+		if (parentDept != null && parentDept.getDeptName().equals("物业公司")) {
 			// 查询当前
 			QueryWrapper<Dept> wrapper = new QueryWrapper<>();
-			wrapper.eq("is_deleted",0)
-				.eq("dept_name",dept.getDeptName());
+			wrapper.eq("is_deleted", 0)
+				.eq("dept_name", dept.getDeptName());
 			Dept one = getOne(wrapper);
-			if (null!=one){
+			if (null != one) {
 				dept.setId(one.getId());
 				flag = updateById(dept);
-			}else {
+			} else {
 				flag = save(dept);
 			}
 			//保存物业公司信息
@@ -274,7 +281,7 @@
 	@Transactional(rollbackFor = Exception.class)
 	public Object dataHandle() {
 		// 查询未绑定的网格
-		List<TreeStringNode> list = regionService.getTree("361102005");
+		List<TreeStringNode> list = regionService.getTree(null);
 		// 遍历
 		for (TreeStringNode treeStringNode : list) {
 			// 查询是否已创建

--
Gitblit v1.9.3