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 | 72 ++++++++++++++++++++++++++++++++---- 1 files changed, 64 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 bb89e61..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; /** * 鏌ヨ閮ㄩ棬绠$悊鏁版嵁 @@ -294,15 +296,43 @@ return deptMapper.deleteDeptById(deptId); } + /** + * 鏍规嵁鐧诲綍浜洪儴闂ㄨ幏鍙栧鎵规満鏋刬d + * @param deptId 鐧诲綍浜洪儴闂╥d + * @return 瀹℃壒鏈烘瀯id + */ @Override public Long getCheckDeptIdByLoginDeptId(Long deptId) { SysDept loginDept = selectDeptById(deptId); - if (loginDept.getParentId()==101){ + if (loginDept.getDeptId()==100 || loginDept.getParentId()==100){ return loginDept.getDeptId(); } else { return getCheckDeptIdByLoginDeptId(loginDept.getParentId()); } + } + + /** + * 鏍规嵁鐧诲綍浜篿d鑾峰彇绠¤緰鏈烘瀯ids + * @param userId 鐧诲綍浜篿d + * @return 瀹℃壒鏈烘瀯ids + */ + @Override + 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); } /** @@ -347,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