From 8b375fe00a241b3a769b82fe3dac8d1c9dce8a02 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Thu, 16 Jun 2022 14:36:07 +0800
Subject: [PATCH] 模拟考试修改

---
 src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java |   50 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 48 insertions(+), 2 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 8763098..2e6202a 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
@@ -110,7 +110,7 @@
 		//获取用户信息,保安,民警
 		if (null!=userId && !userId.equals("")) {
 			UserVO user = baseMapper.getUserInfoById(userId);
-			if (user.getRoleAlias().equals("公安管理员")){
+			if (user.getRoleAlias().equals("公安管理员") || user.getRoleAlias().equals("民警")){
 				//公安管理员又分,如果是派出所,只返回当前值
 				if (user.getDeptName().contains("派出所")){
 					return ForestNodeMerger.merge(baseMapper.lazyTreeCityOne(tenantId, parentId));
@@ -234,8 +234,39 @@
 	 * 懒加载获取部门树形结构,不包含顶级管理员公安局
 	 */
 	@Override
-	public List<DeptVO> securityLazyTree(String jurisdiction, Long parentId) {
+	public List<DeptVO> securityLazyTree(String jurisdiction, Long parentId,Long deptId) {
+		//如果传了deptId
+		if (null!=deptId){
+			//递归查询
+//			recursionDeptInfo(deptVOS, list);
+			//tree 组装并返回
+			return ForestNodeMerger.merge(baseMapper.securityDeptUnitList(null,deptId));
+		}
 		return ForestNodeMerger.merge(baseMapper.securityLazyTree(jurisdiction, parentId));
+	}
+
+	/**
+	 * 递归查询子级菜单
+	 * @param deptVOS
+	 * @param list
+	 * @return
+	 */
+	private List<DeptVO> recursionDeptInfo(List<DeptVO> deptVOS,List<DeptVO> list) {
+		//如果有子级
+		if (list.size()>0){
+			deptVOS.addAll(list);
+			//遍历子级
+			for (int i = 0; i < list.size(); i++) {
+				//查看是否有子级
+				List<DeptVO> childList = baseMapper.securityDeptUnitList(list.get(i).getId(), null);
+				//如果有
+				if (childList.size()>0){
+					//递归
+					recursionDeptInfo(deptVOS,childList);
+				}
+			}
+		}
+		return deptVOS;
 	}
 
 
@@ -344,4 +375,19 @@
 	public List<DeptVO> lazyTreeJurisdiction(String jurisdiction, Long parentId) {
 		return ForestNodeMerger.merge(baseMapper.lazyTreeJurisdiction(jurisdiction,parentId));
 	}
+
+	/**
+	 * 懒加载获取单位树,电子围栏用
+	 * @param type 1:本单位  2:分公司  3:服务单位
+	 * @param deptId
+	 * @return
+	 */
+	@Override
+	public List<DeptVO> lazyTreeRail(Integer type, Long deptId) {
+		//查询本单位
+		if(type==1 || type==2){
+			return ForestNodeMerger.merge(baseMapper.securityDeptUnitList(null,deptId));
+		}
+		return ForestNodeMerger.merge(baseMapper.getDispatchUnitList(deptId));
+	}
 }

--
Gitblit v1.9.3