From c10d6358b9f014375a13821465bc978d0c0da22e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Wed, 29 May 2024 17:17:08 +0800
Subject: [PATCH] 通过E呼即办数据统计

---
 src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java |   23 ++++++++++++++++-------
 1 files changed, 16 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 bd17e82..a0e13c5 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
@@ -20,10 +20,11 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.logging.log4j.util.Strings;
 import org.springblade.common.cache.SysCache;
-import org.springblade.common.node.TreeStringNode;
-import org.springblade.common.utils.SpringUtils;
+import org.springblade.common.utils.AuthUtils;
 import org.springblade.common.utils.NodeTreeUtil;
+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;
@@ -44,17 +45,14 @@
 import org.springblade.modules.system.entity.Region;
 import org.springblade.modules.system.mapper.DeptMapper;
 import org.springblade.modules.system.node.DeptUserTreeNode;
-import org.springblade.modules.system.node.TreeNode;
 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;
 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;
@@ -90,7 +88,7 @@
 			parentId = 0L;
 		}
 		// 判断数据权限控制,非超管角色只可看到本级及以下数据
-		if (Func.toLong(parentId) == 0L && !AuthUtil.isAdministrator()) {
+		if (Func.toLong(parentId) == 0L && !AuthUtils.isAdministratorOrAdmin(AuthUtil.getUserRole())) {
 			Long deptId = Func.firstLong(AuthUtil.getDeptId());
 			Dept dept = SysCache.getDept(deptId);
 			if (dept != null && dept.getParentId() != 0) {
@@ -115,6 +113,17 @@
 			id = Func.firstLong(AuthUtil.getDeptId());
 		}
 		List<DeptVO> tree = baseMapper.tree(tenantId, id);
+		return ForestNodeMerger.merge(tree);
+	}
+
+	/**
+	 * 机构id
+	 * @param deptId
+	 * @return
+	 */
+	@Override
+	public List<DeptVO> tree(Long deptId) {
+		List<DeptVO> tree = baseMapper.tree("000000", deptId);
 		return ForestNodeMerger.merge(tree);
 	}
 
@@ -191,7 +200,7 @@
 			// 查询当前机构信息
 			DeptVO dept = baseMapper.getDeptById(id);
 			// 如果父机构为物业公司
-			if (dept.getParentName().equals("物业公司")) {
+			if (!Strings.isBlank(dept.getParentName()) && dept.getParentName().equals("物业公司")) {
 				// 删除
 				propertyCompanyService.remove(Wrappers.<PropertyCompanyEntity>update().lambda().eq(PropertyCompanyEntity::getDeptId, id));
 			}

--
Gitblit v1.9.3