From 06cfb877e693d328fdcaa497f0f2a6bb14e17435 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Wed, 24 Jan 2024 11:39:38 +0800
Subject: [PATCH] 机构过滤

---
 src/main/java/org/springblade/modules/system/mapper/DeptMapper.java            |    6 ++++--
 src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml             |    4 ++++
 src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java |   13 ++++++++++---
 3 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
index 6797ece..7844f1b 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
@@ -47,7 +47,7 @@
 	 * @param tenantId
 	 * @return
 	 */
-	List<DeptVO> tree(String tenantId, Long parentId);
+	List<DeptVO> tree(String tenantId, Long parentId, Long id);
 
 	/**
 	 * 懒加载获取树形节点
@@ -68,13 +68,15 @@
 
 	/**
 	 * 查询当前机构信息
+	 *
 	 * @param id
 	 * @return
 	 */
-    DeptVO getDeptById(@Param("id") Long id);
+	DeptVO getDeptById(@Param("id") Long id);
 
 	/**
 	 * 查询网格对应的机构信息(包含父级机构名称)
+	 *
 	 * @return
 	 */
 	List<DeptVO> getGridDeptAndParentList();
diff --git a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
index a96df60..fd241a2 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -75,6 +75,10 @@
         <if test="param2!=null and param2!=''">
             and parent_id = #{param2}
         </if>
+
+        <if test="param3!=null and param3!=''">
+            and id = #{param3}
+        </if>
         ORDER BY sort
     </select>
 
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 c315513..d409db3 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
@@ -100,6 +100,7 @@
 	@Override
 	public List<DeptVO> tree(String tenantId) {
 		Long parentId = null;
+		Long id = null;
 		// 判断数据权限控制,非超管角色只可看到本级及以下数据
 //		if (!AuthUtil.isAdministrator()) {
 //			Long deptId = Func.firstLong(AuthUtil.getDeptId());
@@ -112,8 +113,14 @@
 //			copy = copy.stream().filter(item -> AuthUtil.getDeptId().contains(item.getId().toString())).collect(Collectors.toList());
 //			return copy;
 //		}
+		String userRole = AuthUtil.getUserRole();
+		// 判断物业公司
+		if (userRole.contains("wygly") || userRole.contains("wyxmjl")) {
+			// 获取当前用户的机构
+			id = Func.firstLong(AuthUtil.getDeptId());
+		}
 
-		return ForestNodeMerger.merge(baseMapper.tree(tenantId, parentId));
+		return ForestNodeMerger.merge(baseMapper.tree(tenantId, parentId, id));
 	}
 
 	@Override
@@ -353,8 +360,8 @@
 		List<DeptVO> deptVOS = baseMapper.getGridDeptAndParentList();
 		//遍历处理
 		for (DeptVO deptVO : deptVOS) {
-			GridEntity gridEntity = SpringUtils.getBean(IGridService.class).getGridByNames(deptVO.getDeptName(),deptVO.getParentName());
-			if (null!=gridEntity){
+			GridEntity gridEntity = SpringUtils.getBean(IGridService.class).getGridByNames(deptVO.getDeptName(), deptVO.getParentName());
+			if (null != gridEntity) {
 				deptVO.setRegionCode(gridEntity.getGridCode());
 				// 更新
 				updateById(deptVO);

--
Gitblit v1.9.3