From fa539d8ec0b5f4d974eafff3e4bffe9395932ff4 Mon Sep 17 00:00:00 2001
From: aix <vip_xiaobin810@163.com>
Date: Fri, 12 Jul 2024 15:49:02 +0800
Subject: [PATCH] 支持多部门
---
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/DeptServiceImpl.java | 71 +++++++++++++++++++++++++++++++++++
1 files changed, 71 insertions(+), 0 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 e1b62e9..5382e70 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
@@ -16,10 +16,15 @@
*/
package cn.gistack.system.service.impl;
+import cn.gistack.common.node.DeptUserTreeNode;
+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;
@@ -33,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;
@@ -81,6 +87,19 @@
@Override
public List<DeptVO> tree(String tenantId) {
return ForestNodeMerger.merge(baseMapper.tree(tenantId));
+ }
+
+ @Override
+ public List<DeptVO> treeByParentId(String parentId) {
+ 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.treeByParentId(parentIdList));
}
@Override
@@ -170,4 +189,56 @@
return DeptWrapper.build().listNodeVO(deptList);
}
+ /**
+ * 查询组织机构树数据(下级包含人员信息)
+ * @param treeNode
+ * @return
+ */
+ @Override
+ public List<TreeNode> getDeptAndUserTree(DeptUserTreeNode treeNode) {
+ // 查询数据
+ Map<String, DeptUserTreeNode> deptMap = baseMapper.getDeptMap(treeNode);
+ Map<String, DeptUserTreeNode> userMap = baseMapper.getUserMap(treeNode);
+ deptMap.putAll(userMap);
+ // 处理并返回
+ 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);
+ }
}
--
Gitblit v1.9.3