From c0e0761eec99d3642b6a1acdcdb5e2b51a481aaf Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Wed, 11 Dec 2024 20:49:28 +0800
Subject: [PATCH] 权限配置

---
 skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/DeptServiceImpl.java |   72 ++++++++++++++++++++++++++++++++++-
 1 files changed, 69 insertions(+), 3 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/DeptServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/DeptServiceImpl.java
index bc9e1c9..46be4eb 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/DeptServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/DeptServiceImpl.java
@@ -20,9 +20,11 @@
 import cn.gistack.common.node.TreeNode;
 import cn.gistack.common.utils.NodeTreeUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+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.springblade.core.log.exception.ServiceException;
+import org.springblade.core.mp.support.Condition;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.node.ForestNodeMerger;
@@ -36,6 +38,7 @@
 import cn.gistack.system.wrapper.DeptWrapper;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -91,15 +94,27 @@
 		if (AuthUtil.isAdministrator() || AuthUtil.isAdmin()) {
 			return ForestNodeMerger.merge(baseMapper.tree(StringPool.EMPTY));
 		}
-		return ForestNodeMerger.merge(baseMapper.treeByParentId(parentId));
+		String [] parentIds = parentId.split(",");
+		List<String> parentIdList = new ArrayList<>();
+		for (String str:parentIds) {
+			parentIdList.add(str);
+		}
+		return ForestNodeMerger.merge(baseMapper.treeByParentId(parentIdList));
 	}
 
 	@Override
-	public List<DeptVO> lazyTree(String tenantId, Long parentId) {
+	public List<DeptVO> lazyTree(String tenantId, String parentIds) {
 		if (AuthUtil.isAdministrator()) {
 			tenantId = StringPool.EMPTY;
 		}
-		return ForestNodeMerger.merge(baseMapper.lazyTree(tenantId, parentId));
+
+		String [] parentIdStr = parentIds.split(",");
+		List<Long> parentIdList = new ArrayList<>();
+		for (String str:parentIdStr) {
+			parentIdList.add(Long.parseLong(str));
+		}
+
+		return ForestNodeMerger.merge(baseMapper.lazyTree(tenantId, parentIdList));
 	}
 
 	@Override
@@ -195,4 +210,55 @@
 		// 处理并返回
 		return NodeTreeUtil.getDeptAndUserNodeTree(deptMap);
 	}
+
+	@Override
+	public int updateAllDept() {
+
+		Dept params = new Dept();
+		params.setAdGrad("9");
+		List<Dept> list = list(Condition.getQueryWrapper(params));
+
+		list.forEach(dept -> {
+			this.submit(dept);
+		});
+		return list.size();
+	}
+
+	@Override
+	public boolean updateDeptByTb(String adCode, String resGuid) {
+		//根据水库编码找到机构
+		QueryWrapper<Dept> query1 = new QueryWrapper<>();
+		query1.eq("RES_GUID",resGuid);
+		Dept resDept = getOne(query1);
+
+		//找到移到哪个行政区划下的机构
+		QueryWrapper<Dept> query2 = new QueryWrapper<>();
+		query2.eq("AD_CODE",adCode);
+		query2.likeRight("ID","42");// 临时处理,后续考虑优化
+		Dept adCodeDept = getOne(query2);
+
+		if (resDept != null && adCodeDept != null){
+			resDept.setParentId(adCodeDept.getId());
+			return this.submit(resDept);
+		}
+		return false;
+	}
+
+	@Override
+	public String getResDept(String deptIds) {
+		return baseMapper.getResDept(deptIds);
+	}
+
+	@Override
+	public List<DeptVO> treeByParentIdNew(String parentId,String precinct) {
+//		if (AuthUtil.isAdministrator() || AuthUtil.isAdmin()) {
+//			return ForestNodeMerger.merge(baseMapper.tree(StringPool.EMPTY));
+//		}
+		String [] parentIds = parentId.split(",");
+		List<String> parentIdList = new ArrayList<>();
+		for (String str:parentIds) {
+			parentIdList.add(str);
+		}
+		return ForestNodeMerger.merge(baseMapper.treeByParentIdNew(parentIdList,precinct));
+	}
 }

--
Gitblit v1.9.3