From bb4587fe05d30932d202474ab4b4151bc815dc23 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期四, 15 八月 2024 19:29:04 +0800
Subject: [PATCH] update 优化 部门下存在岗位不允许删除

---
 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java     |   11 +++++++++++
 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDeptController.java |    5 +++++
 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysPostService.java             |    8 ++++++++
 3 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDeptController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDeptController.java
index 4f5f23f..968bbe9 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDeptController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDeptController.java
@@ -12,6 +12,7 @@
 import org.dromara.system.domain.bo.SysDeptBo;
 import org.dromara.system.domain.vo.SysDeptVo;
 import org.dromara.system.service.ISysDeptService;
+import org.dromara.system.service.ISysPostService;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -29,6 +30,7 @@
 public class SysDeptController extends BaseController {
 
     private final ISysDeptService deptService;
+    private final ISysPostService postService;
 
     /**
      * 鑾峰彇閮ㄩ棬鍒楄〃
@@ -117,6 +119,9 @@
         if (deptService.checkDeptExistUser(deptId)) {
             return R.warn("閮ㄩ棬瀛樺湪鐢ㄦ埛,涓嶅厑璁稿垹闄�");
         }
+        if (postService.countPostByDeptId(deptId) > 0) {
+            return R.warn("閮ㄩ棬瀛樺湪宀椾綅,涓嶅厑璁稿垹闄�");
+        }
         deptService.checkDeptDataScope(deptId);
         return toAjax(deptService.deleteDeptById(deptId));
     }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysPostService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysPostService.java
index c43f039..3751b23 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysPostService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysPostService.java
@@ -81,6 +81,14 @@
     long countUserPostById(Long postId);
 
     /**
+     * 閫氳繃閮ㄩ棬ID鏌ヨ宀椾綅浣跨敤鏁伴噺
+     *
+     * @param deptId 閮ㄩ棬id
+     * @return 缁撴灉
+     */
+    long countPostByDeptId(Long deptId);
+
+    /**
      * 鍒犻櫎宀椾綅淇℃伅
      *
      * @param postId 宀椾綅ID
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java
index b8a7e60..2c38129 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java
@@ -178,6 +178,17 @@
     }
 
     /**
+     * 閫氳繃閮ㄩ棬ID鏌ヨ宀椾綅浣跨敤鏁伴噺
+     *
+     * @param deptId 閮ㄩ棬id
+     * @return 缁撴灉
+     */
+    @Override
+    public long countPostByDeptId(Long deptId) {
+        return baseMapper.selectCount(new LambdaQueryWrapper<SysPost>().eq(SysPost::getDeptId, deptId));
+    }
+
+    /**
      * 鍒犻櫎宀椾綅淇℃伅
      *
      * @param postId 宀椾綅ID

--
Gitblit v1.9.3