From 3467fa64f4be6efc9b742913419e7c3a501c541b Mon Sep 17 00:00:00 2001
From: ZQN <364596817@qq.com>
Date: 星期四, 20 六月 2024 16:52:21 +0800
Subject: [PATCH] 云片短信对接,审批流程优化

---
 project-system/src/main/java/com/project/system/service/impl/SysDeptServiceImpl.java |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 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 9d3b4be..a582612 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,7 @@
 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;
@@ -19,6 +21,7 @@
 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;
@@ -320,6 +323,18 @@
         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);
+    }
+
     /**
      * 閫掑綊鍒楄〃
      */
@@ -362,4 +377,26 @@
     {
         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 = this.getById(deptId);
+        if (dept == null) {
+            return new ArrayList<>();
+        }
+        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