Browse Source

update 优化 岗位如果绑定了用户则不允许禁用

疯狂的狮子Li 1 year ago
parent
commit
ae0d4dd6e5

+ 10 - 0
ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/UserConstants.java

@@ -52,6 +52,16 @@ public interface UserConstants {
      */
     String DEPT_DISABLE = "1";
 
+    /**
+     * 岗位正常状态
+     */
+    String POST_NORMAL = "0";
+
+    /**
+     * 岗位停用状态
+     */
+    String POST_DISABLE = "1";
+
     /**
      * 字典正常状态
      */

+ 7 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysPostController.java

@@ -1,6 +1,7 @@
 package org.dromara.system.controller.system;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.dromara.common.core.constant.UserConstants;
 import org.dromara.common.core.domain.R;
 import org.dromara.common.excel.utils.ExcelUtil;
 import org.dromara.common.log.annotation.Log;
@@ -88,6 +89,9 @@ public class SysPostController extends BaseController {
             return R.fail("修改岗位'" + post.getPostName() + "'失败,岗位名称已存在");
         } else if (!postService.checkPostCodeUnique(post)) {
             return R.fail("修改岗位'" + post.getPostName() + "'失败,岗位编码已存在");
+        } else if (UserConstants.POST_DISABLE.equals(post.getStatus())
+            && postService.countUserPostById(post.getPostId()) > 0) {
+            return R.fail("该岗位下存在已分配用户,不能禁用!");
         }
         return toAjax(postService.updatePost(post));
     }
@@ -109,7 +113,9 @@ public class SysPostController extends BaseController {
      */
     @GetMapping("/optionselect")
     public R<List<SysPostVo>> optionselect() {
-        List<SysPostVo> posts = postService.selectPostAll();
+        SysPostBo postBo = new SysPostBo();
+        postBo.setStatus(UserConstants.POST_NORMAL);
+        List<SysPostVo> posts = postService.selectPostList(postBo);
         return R.ok(posts);
     }
 }

+ 1 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java

@@ -156,7 +156,7 @@ public class SysPostServiceImpl implements ISysPostService {
         for (Long postId : postIds) {
             SysPost post = baseMapper.selectById(postId);
             if (countUserPostById(postId) > 0) {
-                throw new ServiceException(String.format("%1$s已分配,不能删除", post.getPostName()));
+                throw new ServiceException(String.format("%1$s已分配,不能删除!", post.getPostName()));
             }
         }
         return baseMapper.deleteBatchIds(Arrays.asList(postIds));