From 820fde4dc19a0205ea4a48b8dd08979a8b212f30 Mon Sep 17 00:00:00 2001 From: ZQN <364596817@qq.com> Date: 星期三, 04 九月 2024 11:08:51 +0800 Subject: [PATCH] 信息公式 --- project-system/src/main/java/com/project/system/service/impl/SysDeptServiceImpl.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 48 insertions(+), 8 deletions(-) diff --git a/project-system/src/main/java/com/project/system/service/impl/SysDeptServiceImpl.java b/project-system/src/main/java/com/project/system/service/impl/SysDeptServiceImpl.java index 8d17372..c2ac98b 100644 --- a/project-system/src/main/java/com/project/system/service/impl/SysDeptServiceImpl.java +++ b/project-system/src/main/java/com/project/system/service/impl/SysDeptServiceImpl.java @@ -1,5 +1,8 @@ package com.project.system.service.impl; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.project.common.annotation.DataScope; import com.project.common.constant.UserConstants; import com.project.common.core.domain.TreeSelect; @@ -14,10 +17,11 @@ import com.project.system.mapper.SysDeptMapper; import com.project.system.mapper.SysRoleMapper; import com.project.system.service.ISysDeptService; -import org.springframework.beans.factory.annotation.Autowired; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.stream.Collectors; @@ -28,13 +32,11 @@ * @author project */ @Service -public class SysDeptServiceImpl implements ISysDeptService +@RequiredArgsConstructor +public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> implements ISysDeptService { - @Autowired - private SysDeptMapper deptMapper; - - @Autowired - private SysRoleMapper roleMapper; + private final SysDeptMapper deptMapper; + private final SysRoleMapper roleMapper; /** * 鏌ヨ閮ㄩ棬绠$悊鏁版嵁 @@ -303,7 +305,7 @@ public Long getCheckDeptIdByLoginDeptId(Long deptId) { SysDept loginDept = selectDeptById(deptId); - if (loginDept.getParentId()==100){ + if (loginDept.getDeptId()==100 || loginDept.getParentId()==100){ return loginDept.getDeptId(); } else { return getCheckDeptIdByLoginDeptId(loginDept.getParentId()); @@ -319,6 +321,18 @@ public List<Long> getApplyDeptIdsByLoginUserId(Long userId) { return deptMapper.getApplyDeptIdsByLoginUserId(userId); + } + + @Override + public String getDeptAllName(Long deptId) + { + List<String> names = new ArrayList<>(); + names = getAncestorsNames(deptId, names); + if (CollectionUtil.isEmpty(names)){ + return ""; + } + Collections.reverse(names); + return StrUtil.join("-", names); } /** @@ -363,4 +377,30 @@ { return getChildList(list, t).size() > 0; } + + + /** + * 鑾峰彇绁栫睄names鍒楄〃 + * + * @param deptId 褰撳墠閮ㄩ棬id + * @param names 绁栫睄id鍒楄〃 + * @return names鍒楄〃 + */ + public List<String> getAncestorsNames(long deptId, List<String> names) { + SysDept dept = deptMapper.selectDeptById(deptId); + if (dept == null) { + return names; + } + if (deptId == 100) { + names.add(dept.getDeptName()); + return names; + } + if (dept.getParentId() != null && dept.getParentId() == 100) { + names.add(dept.getDeptName()); + return names; + } else { + names.add(dept.getDeptName()); + return getAncestorsNames(dept.getParentId(), names); + } + } } -- Gitblit v1.9.1