Ver código fonte

部门层级限制

lyhzzz 1 ano atrás
pai
commit
aedd2534be

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

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

+ 7 - 1
src/main/java/com/fdkankan/fusion/service/impl/TmDepartmentServiceImpl.java

@@ -26,6 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.*;
+import java.util.logging.Level;
 import java.util.stream.Collectors;
 
 /**
@@ -51,7 +52,9 @@ public class TmDepartmentServiceImpl extends ServiceImpl<ITmDepartmentMapper, Tm
         if(!checkDeptNameUnique(dept.getName(),null)){
             throw new BusinessException(ResultCode.DEPT_NAME_EXITS);
         }
-        //TmDepartment info = this.getById(dept.getParentId());
+        if(dept.getLevel() >4){
+            throw new BusinessException(ResultCode.DEPT_ADD_ERROR);
+        }
         dept.setId(IdPreEnum.DEPARTMENT_PRE.getPre() +IdUtil.getSnowflake(1).nextId() );
         //dept.setAncestors(info.getAncestors() + "," + dept.getParentId());
         dept.setCreatorId((String) StpUtil.getLoginId());
@@ -66,6 +69,9 @@ public class TmDepartmentServiceImpl extends ServiceImpl<ITmDepartmentMapper, Tm
         if(dept.getId().equals(dept.getParentId())){
             throw new BusinessException(ResultCode.DEPT_EDIT_ERROR);
         }
+        if(dept.getLevel() >4){
+            throw new BusinessException(ResultCode.DEPT_ADD_ERROR);
+        }
         List<TmDepartment> sonByDeptId = this.getSonByDeptId(dept.getId());
         if(sonByDeptId.size() >0){
             List<String> collect = sonByDeptId.stream().map(TmDepartment::getId).collect(Collectors.toList());