From 4b7737845839f58b56b9e34a1b69955eed1f3ba3 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期四, 07 五月 2020 12:00:09 +0800
Subject: [PATCH] 添加校验部门包含未停用的子部门

---
 ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java |   11 +++++++++++
 ruoyi/src/main/resources/mybatis/system/SysDeptMapper.xml                         |    4 ++++
 ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysDeptMapper.java            |    8 ++++++++
 ruoyi/src/main/java/com/ruoyi/common/constant/UserConstants.java                  |    7 +++++--
 ruoyi/src/main/java/com/ruoyi/project/system/controller/SysDeptController.java    |    6 ++++++
 ruoyi/src/main/java/com/ruoyi/project/system/service/ISysDeptService.java         |    8 ++++++++
 6 files changed, 42 insertions(+), 2 deletions(-)

diff --git a/ruoyi/src/main/java/com/ruoyi/common/constant/UserConstants.java b/ruoyi/src/main/java/com/ruoyi/common/constant/UserConstants.java
index 9164cd2..03f12e7 100644
--- a/ruoyi/src/main/java/com/ruoyi/common/constant/UserConstants.java
+++ b/ruoyi/src/main/java/com/ruoyi/common/constant/UserConstants.java
@@ -19,13 +19,16 @@
     public static final String EXCEPTION = "1";
 
     /** 鐢ㄦ埛灏佺鐘舵�� */
-    public static final String USER_BLOCKED = "1";
+    public static final String USER_DISABLE = "1";
 
     /** 瑙掕壊灏佺鐘舵�� */
-    public static final String ROLE_BLOCKED = "1";
+    public static final String ROLE_DISABLE = "1";
 
     /** 閮ㄩ棬姝e父鐘舵�� */
     public static final String DEPT_NORMAL = "0";
+    
+    /** 閮ㄩ棬鍋滅敤鐘舵�� */
+    public static final String DEPT_DISABLE = "1";
 
     /** 瀛楀吀姝e父鐘舵�� */
     public static final String DICT_NORMAL = "0";
diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/controller/SysDeptController.java b/ruoyi/src/main/java/com/ruoyi/project/system/controller/SysDeptController.java
index 686748a..21b0576 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/controller/SysDeptController.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/controller/SysDeptController.java
@@ -14,6 +14,7 @@
 import org.springframework.web.bind.annotation.RestController;
 import com.ruoyi.common.constant.UserConstants;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
 import com.ruoyi.framework.web.controller.BaseController;
@@ -109,6 +110,11 @@
         {
             return AjaxResult.error("淇敼閮ㄩ棬'" + dept.getDeptName() + "'澶辫触锛屼笂绾ч儴闂ㄤ笉鑳芥槸鑷繁");
         }
+        else if (StringUtils.equals(UserConstants.DEPT_DISABLE, dept.getStatus())
+                && deptService.selectNormalChildrenDeptById(dept.getDeptId()) > 0)
+        {
+            return AjaxResult.error("璇ラ儴闂ㄥ寘鍚湭鍋滅敤鐨勫瓙閮ㄩ棬锛�");
+        }
         dept.setUpdateBy(SecurityUtils.getUsername());
         return toAjax(deptService.updateDept(dept));
     }
diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysDeptMapper.java b/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysDeptMapper.java
index 7dac0cb..113db29 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysDeptMapper.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysDeptMapper.java
@@ -44,6 +44,14 @@
     public List<SysDept> selectChildrenDeptById(Long deptId);
 
     /**
+     * 鏍规嵁ID鏌ヨ鎵�鏈夊瓙閮ㄩ棬锛堟甯哥姸鎬侊級
+     * 
+     * @param deptId 閮ㄩ棬ID
+     * @return 瀛愰儴闂ㄦ暟
+     */
+    public int selectNormalChildrenDeptById(Long deptId);
+
+    /**
      * 鏄惁瀛樺湪瀛愯妭鐐�
      * 
      * @param deptId 閮ㄩ棬ID
diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysDeptService.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysDeptService.java
index 1d8a306..5f59b8a 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysDeptService.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysDeptService.java
@@ -52,6 +52,14 @@
     public SysDept selectDeptById(Long deptId);
 
     /**
+     * 鏍规嵁ID鏌ヨ鎵�鏈夊瓙閮ㄩ棬锛堟甯哥姸鎬侊級
+     * 
+     * @param deptId 閮ㄩ棬ID
+     * @return 瀛愰儴闂ㄦ暟
+     */
+    public int selectNormalChildrenDeptById(Long deptId);
+
+    /**
      * 鏄惁瀛樺湪閮ㄩ棬瀛愯妭鐐�
      * 
      * @param deptId 閮ㄩ棬ID
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 338e2a6..3834898 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
@@ -109,6 +109,17 @@
     }
 
     /**
+     * 鏍规嵁ID鏌ヨ鎵�鏈夊瓙閮ㄩ棬锛堟甯哥姸鎬侊級
+     * 
+     * @param deptId 閮ㄩ棬ID
+     * @return 瀛愰儴闂ㄦ暟
+     */
+    public int selectNormalChildrenDeptById(Long deptId)
+    {
+        return deptMapper.selectNormalChildrenDeptById(deptId);
+    }
+
+    /**
      * 鏄惁瀛樺湪瀛愯妭鐐�
      * 
      * @param deptId 閮ㄩ棬ID
diff --git a/ruoyi/src/main/resources/mybatis/system/SysDeptMapper.xml b/ruoyi/src/main/resources/mybatis/system/SysDeptMapper.xml
index 247bb69..220572d 100644
--- a/ruoyi/src/main/resources/mybatis/system/SysDeptMapper.xml
+++ b/ruoyi/src/main/resources/mybatis/system/SysDeptMapper.xml
@@ -71,6 +71,10 @@
 		select * from sys_dept where find_in_set(#{deptId}, ancestors)
 	</select>
 	
+	<select id="selectNormalChildrenDeptById" parameterType="Long" resultType="java.lang.Integer">
+		select count(*) from sys_dept where status = 0 and del_flag = '0' and find_in_set(#{deptId}, ancestors)
+	</select>
+	
 	<select id="checkDeptNameUnique" resultMap="SysDeptResult">
 	    <include refid="selectDeptVo"/>
 		where dept_name=#{deptName} and parent_id = #{parentId}

--
Gitblit v1.9.3