From 4088463adf5a33a43b7fddf3f66d65c220acf93d Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期四, 16 七月 2020 16:54:14 +0800
Subject: [PATCH] 定时任务cron表达式验证

---
 ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java |   29 +++++++++++++++++++++++------
 1 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java
index f4e4dec..4e0ef4a 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java
@@ -49,14 +49,19 @@
     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());
+        }
         for (Iterator<SysDept> iterator = depts.iterator(); iterator.hasNext();)
         {
-            SysDept t = (SysDept) iterator.next();
-            // 鏍规嵁浼犲叆鐨勬煇涓埗鑺傜偣ID,閬嶅巻璇ョ埗鑺傜偣鐨勬墍鏈夊瓙鑺傜偣
-            if (t.getParentId() == 0)
+            SysDept dept = (SysDept) iterator.next();
+            // 濡傛灉鏄《绾ц妭鐐�, 閬嶅巻璇ョ埗鑺傜偣鐨勬墍鏈夊瓙鑺傜偣
+            if (!tempList.contains(dept.getParentId()))
             {
-                recursionFn(depts, t);
-                returnList.add(t);
+                recursionFn(depts, dept);
+                returnList.add(dept);
             }
         }
         if (returnList.isEmpty())
@@ -101,6 +106,18 @@
     public SysDept selectDeptById(Long deptId)
     {
         return deptMapper.selectDeptById(deptId);
+    }
+
+    /**
+     * 鏍规嵁ID鏌ヨ鎵�鏈夊瓙閮ㄩ棬锛堟甯哥姸鎬侊級
+     * 
+     * @param deptId 閮ㄩ棬ID
+     * @return 瀛愰儴闂ㄦ暟
+     */
+    @Override
+    public int selectNormalChildrenDeptById(Long deptId)
+    {
+        return deptMapper.selectNormalChildrenDeptById(deptId);
     }
 
     /**
@@ -271,7 +288,7 @@
         while (it.hasNext())
         {
             SysDept n = (SysDept) it.next();
-            if (n.getParentId().longValue() == t.getDeptId().longValue())
+            if (StringUtils.isNotNull(n.getParentId()) && n.getParentId().longValue() == t.getDeptId().longValue())
             {
                 tlist.add(n);
             }

--
Gitblit v1.9.3