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