lyhzzz 1 год назад
Родитель
Сommit
5f5f10a72a

+ 1 - 0
src/main/java/com/fdkankan/fusion/common/ResultCode.java

@@ -38,6 +38,7 @@ public enum ResultCode {
     PROJECT_CASE_NOT_EXITS(6007,"火调项目未关联案件"),
     PROJECT_SCENE_NOT_EXITS(6008,"项目未关联场景"),
     CASE_NOT_EXITS(6009,"案件不存在"),
+    DEPT_EDIT_ERROR(6010,"修改失败,部门上级不能是自己或下级"),
 
 
     UPLOAD_ERROR(7001,"文件上传失败"),

+ 10 - 0
src/main/java/com/fdkankan/fusion/service/impl/TmDepartmentServiceImpl.java

@@ -63,6 +63,16 @@ public class TmDepartmentServiceImpl extends ServiceImpl<ITmDepartmentMapper, Tm
         if(!checkDeptNameUnique(dept.getName(),dept.getId())){
             throw new BusinessException(ResultCode.DEPT_NAME_EXITS);
         }
+        if(!dept.getId().equals(dept.getParentId())){
+            throw new BusinessException(ResultCode.DEPT_EDIT_ERROR);
+        }
+        List<TmDepartment> sonByDeptId = this.getSonByDeptId(dept.getId());
+        if(sonByDeptId.size() >0){
+            List<String> collect = sonByDeptId.stream().map(TmDepartment::getId).collect(Collectors.toList());
+            if(collect.contains(dept.getParentId())){
+                throw new BusinessException(ResultCode.DEPT_EDIT_ERROR);
+            }
+        }
         dept.setCreateTime(null);
         dept.setUpdateTime(null);
         this.updateById(dept);