From f605b84620bf35bb02a2ee5ef2086c164b520e67 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 16 一月 2026 16:16:36 +0800
Subject: [PATCH] 浪潮对接单点登录:MES制造执行系统功能迁移
---
src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java | 50 ++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 40 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java b/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java
index 59d13a3..12c8cdf 100644
--- a/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java
+++ b/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java
@@ -4,6 +4,8 @@
import java.util.Iterator;
import java.util.List;
import java.util.stream.Collectors;
+
+import cn.hutool.core.util.ObjectUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.common.constant.UserConstants;
@@ -42,10 +44,23 @@
* @return 閮ㄩ棬淇℃伅闆嗗悎
*/
@Override
- @DataScope(deptAlias = "d")
+ @DataScope(tenantIdFelid = "d")
public List<SysDept> selectDeptList(SysDept dept)
{
return deptMapper.selectDeptList(dept);
+ }
+
+ /**
+ * 鏌ヨ閮ㄩ棬鏍戠粨鏋勪俊鎭�
+ *
+ * @param dept 閮ㄩ棬淇℃伅
+ * @return 閮ㄩ棬鏍戜俊鎭泦鍚�
+ */
+ @Override
+ public List<TreeSelect> selectDeptTreeList(SysDept dept)
+ {
+ List<SysDept> depts = SpringUtils.getAopProxy(this).selectDeptList(dept);
+ return buildDeptTreeSelect(depts);
}
/**
@@ -58,11 +73,7 @@
public List<SysDept> buildDeptTree(List<SysDept> depts)
{
List<SysDept> returnList = new ArrayList<SysDept>();
- List<Long> tempList = new ArrayList<Long>();
- for (SysDept dept : depts)
- {
- tempList.add(dept.getDeptId());
- }
+ List<Long> tempList = depts.stream().map(SysDept::getDeptId).collect(Collectors.toList());
for (SysDept dept : depts)
{
// 濡傛灉鏄《绾ц妭鐐�, 閬嶅巻璇ョ埗鑺傜偣鐨勬墍鏈夊瓙鑺傜偣
@@ -162,7 +173,7 @@
* @return 缁撴灉
*/
@Override
- public String checkDeptNameUnique(SysDept dept)
+ public boolean checkDeptNameUnique(SysDept dept)
{
Long deptId = StringUtils.isNull(dept.getDeptId()) ? -1L : dept.getDeptId();
SysDept info = deptMapper.checkDeptNameUnique(dept.getDeptName(), dept.getParentId());
@@ -181,7 +192,7 @@
@Override
public void checkDeptDataScope(Long deptId)
{
- if (!SysUser.isAdmin(SecurityUtils.getUserId()))
+ if (!SysUser.isAdmin(SecurityUtils.getUserId()) && StringUtils.isNotNull(deptId))
{
SysDept dept = new SysDept();
dept.setDeptId(deptId);
@@ -204,11 +215,15 @@
{
SysDept info = deptMapper.selectDeptById(dept.getParentId());
// 濡傛灉鐖惰妭鐐逛笉涓烘甯哥姸鎬�,鍒欎笉鍏佽鏂板瀛愯妭鐐�
- if (!UserConstants.DEPT_NORMAL.equals(info.getStatus()))
+ if (ObjectUtil.isNotNull(info) && !UserConstants.DEPT_NORMAL.equals(info.getStatus()))
{
throw new ServiceException("閮ㄩ棬鍋滅敤锛屼笉鍏佽鏂板");
}
- dept.setAncestors(info.getAncestors() + "," + dept.getParentId());
+ if(ObjectUtil.isNotNull(info) && 0L!=dept.getParentId()){
+ dept.setAncestors(info.getAncestors() + "," + dept.getParentId());
+ }else{
+ dept.setAncestors("0");
+ }
return deptMapper.insertDept(dept);
}
@@ -252,6 +267,11 @@
deptMapper.updateDeptStatusNormal(deptIds);
}
+ @Override
+ public SysDept selectDeptByDeptName(String deptName) {
+ return deptMapper.selectDeptByDeptName(deptName);
+ }
+
/**
* 淇敼瀛愬厓绱犲叧绯�
*
@@ -285,6 +305,16 @@
}
/**
+ * 鏌ヨ椤跺眰閮ㄩ棬id
+ * @param deptId
+ * @return
+ */
+ @Override
+ public Long maxLevelDeptId(Long deptId) {
+ return deptMapper.maxLevelDeptId(deptId);
+ }
+
+ /**
* 閫掑綊鍒楄〃
*/
private void recursionFn(List<SysDept> list, SysDept t)
--
Gitblit v1.9.3