| 
					
				 | 
			
			
				@@ -1,10 +1,15 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package com.ruoyi.web.controller.system;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.Iterator;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.List;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.common.annotation.Log;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.common.constant.UserConstants;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.common.core.controller.BaseController;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.common.core.domain.AjaxResult;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.common.core.domain.entity.SysDept;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.common.enums.BusinessType;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.common.utils.StringUtils;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.system.service.ISysDeptService;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.apache.commons.lang3.ArrayUtils;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.beans.factory.annotation.Autowired;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import org.springframework.security.access.prepost.PreAuthorize;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.validation.annotation.Validated;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.web.bind.annotation.DeleteMapping;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.web.bind.annotation.GetMapping;
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -14,34 +19,26 @@ import org.springframework.web.bind.annotation.PutMapping; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.web.bind.annotation.RequestBody;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.web.bind.annotation.RequestMapping;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.web.bind.annotation.RestController;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.ruoyi.common.annotation.Log;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.ruoyi.common.constant.UserConstants;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.ruoyi.common.core.controller.BaseController;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.ruoyi.common.core.domain.AjaxResult;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.ruoyi.common.core.domain.entity.SysDept;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.ruoyi.common.enums.BusinessType;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.ruoyi.common.utils.StringUtils;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.ruoyi.system.service.ISysDeptService;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Iterator;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.List;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /**
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 部门信息
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @author ruoyi
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @RestController
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @RequestMapping("/system/dept")
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-public class SysDeptController extends BaseController
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class SysDeptController extends BaseController {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private ISysDeptService deptService;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /**
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 获取部门列表
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @PreAuthorize("@ss.hasPermi('system:dept:list')")
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @GetMapping("/list")
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public AjaxResult list(SysDept dept)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public AjaxResult list(SysDept dept) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<SysDept> depts = deptService.selectDeptList(dept);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return AjaxResult.success(depts);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -49,18 +46,14 @@ public class SysDeptController extends BaseController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /**
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 查询部门列表(排除节点)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @PreAuthorize("@ss.hasPermi('system:dept:list')")
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @GetMapping("/list/exclude/{deptId}")
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public AjaxResult excludeChild(@PathVariable(value = "deptId", required = false) Long deptId)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public AjaxResult excludeChild(@PathVariable(value = "deptId", required = false) Long deptId) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<SysDept> depts = deptService.selectDeptList(new SysDept());
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Iterator<SysDept> it = depts.iterator();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        while (it.hasNext())
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        while (it.hasNext()) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             SysDept d = (SysDept) it.next();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (d.getDeptId().intValue() == deptId
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    || ArrayUtils.contains(StringUtils.split(d.getAncestors(), ","), deptId + ""))
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    || ArrayUtils.contains(StringUtils.split(d.getAncestors(), ","), deptId + "")) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 it.remove();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -70,10 +63,8 @@ public class SysDeptController extends BaseController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /**
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 根据部门编号获取详细信息
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @PreAuthorize("@ss.hasPermi('system:dept:query')")
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @GetMapping(value = "/{deptId}")
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public AjaxResult getInfo(@PathVariable Long deptId)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public AjaxResult getInfo(@PathVariable Long deptId) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         deptService.checkDeptDataScope(deptId);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return AjaxResult.success(deptService.selectDeptById(deptId));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -82,8 +73,7 @@ public class SysDeptController extends BaseController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 获取部门下拉树列表
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @GetMapping("/treeselect")
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public AjaxResult treeselect(SysDept dept)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public AjaxResult treeselect(SysDept dept) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<SysDept> depts = deptService.selectDeptList(dept);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return AjaxResult.success(deptService.buildDeptTreeSelect(depts));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -92,8 +82,7 @@ public class SysDeptController extends BaseController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 加载对应角色部门列表树
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @GetMapping(value = "/roleDeptTreeselect/{roleId}")
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public AjaxResult roleDeptTreeselect(@PathVariable("roleId") Long roleId)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public AjaxResult roleDeptTreeselect(@PathVariable("roleId") Long roleId) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<SysDept> depts = deptService.selectDeptList(new SysDept());
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         AjaxResult ajax = AjaxResult.success();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ajax.put("checkedKeys", deptService.selectDeptListByRoleId(roleId));
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -104,13 +93,10 @@ public class SysDeptController extends BaseController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /**
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 新增部门
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @PreAuthorize("@ss.hasPermi('system:dept:add')")
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Log(title = "部门管理", businessType = BusinessType.INSERT)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @PostMapping
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public AjaxResult add(@Validated @RequestBody SysDept dept)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(dept)))
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public AjaxResult add(@Validated @RequestBody SysDept dept) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(dept))) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return AjaxResult.error("新增部门'" + dept.getDeptName() + "'失败,部门名称已存在");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         dept.setCreateBy(getUsername());
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -120,23 +106,16 @@ public class SysDeptController extends BaseController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /**
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 修改部门
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @PreAuthorize("@ss.hasPermi('system:dept:edit')")
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Log(title = "部门管理", businessType = BusinessType.UPDATE)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @PutMapping
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public AjaxResult edit(@Validated @RequestBody SysDept dept)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public AjaxResult edit(@Validated @RequestBody SysDept dept) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Long deptId = dept.getDeptId();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         deptService.checkDeptDataScope(deptId);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(dept)))
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(dept))) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return AjaxResult.error("修改部门'" + dept.getDeptName() + "'失败,部门名称已存在");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        else if (dept.getParentId().equals(deptId))
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else if (dept.getParentId().equals(deptId)) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return AjaxResult.error("修改部门'" + dept.getDeptName() + "'失败,上级部门不能是自己");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        else if (StringUtils.equals(UserConstants.DEPT_DISABLE, dept.getStatus()) && deptService.selectNormalChildrenDeptById(deptId) > 0)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else if (StringUtils.equals(UserConstants.DEPT_DISABLE, dept.getStatus()) && deptService.selectNormalChildrenDeptById(deptId) > 0) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return AjaxResult.error("该部门包含未停用的子部门!");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         dept.setUpdateBy(getUsername());
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -146,17 +125,13 @@ public class SysDeptController extends BaseController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /**
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 删除部门
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @PreAuthorize("@ss.hasPermi('system:dept:remove')")
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Log(title = "部门管理", businessType = BusinessType.DELETE)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @DeleteMapping("/{deptId}")
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public AjaxResult remove(@PathVariable Long deptId)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (deptService.hasChildByDeptId(deptId))
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public AjaxResult remove(@PathVariable Long deptId) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (deptService.hasChildByDeptId(deptId)) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return AjaxResult.error("存在下级部门,不允许删除");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (deptService.checkDeptExistUser(deptId))
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (deptService.checkDeptExistUser(deptId)) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return AjaxResult.error("部门存在用户,不允许删除");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         deptService.checkDeptDataScope(deptId);
 
			 |