From 99132a43bf344f2aafdd9894b0762d2eedd9767b Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: 星期二, 01 七月 2025 17:15:25 +0800
Subject: [PATCH] 修改

---
 multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysDeptController.java |  185 +++++++++++++++++++++++++++++++---------------
 1 files changed, 125 insertions(+), 60 deletions(-)

diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysDeptController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysDeptController.java
index 264632f..fa76240 100644
--- a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysDeptController.java
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysDeptController.java
@@ -4,7 +4,13 @@
 import cn.hutool.core.util.ObjectUtil;
 import com.gkhy.exam.common.api.CommonResult;
 import com.gkhy.exam.common.constant.UserConstant;
+import com.gkhy.exam.common.domain.TreeSelect;
 import com.gkhy.exam.common.domain.entity.SysDept;
+import com.gkhy.exam.system.domain.SysFunctionalDistribution;
+import com.gkhy.exam.system.domain.vo.DeptVo;
+import com.gkhy.exam.system.domain.vo.FunctionalDistributionVo;
+import com.gkhy.exam.system.domain.vo.SysDeptResponsibilityReqVo;
+import com.gkhy.exam.system.domain.vo.SysDeptSaveDTOReq;
 import com.gkhy.exam.system.service.ISysDeptService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -26,7 +32,7 @@
  * 
  * @author expert
  */
-@Api(tags = "部门-业务处室")
+@Api(tags = "部门管理")
 @RestController
 @RequestMapping("/system/dept")
 public class SysDeptController
@@ -34,16 +40,27 @@
     @Autowired
     private ISysDeptService deptService;
 
+
+
     /**
      * 获取部门列表
      */
-//    @PreAuthorize("@ss.hasPermi('system:dept:list')")
+//    @PreAuthorize("hasAnyAuthority('system:dept:list')")
     @GetMapping("/list")
     @ApiOperation(value = "获取部门列表")
     public CommonResult list(SysDept dept)
     {
-        List<SysDept> depts = deptService.selectDeptList(dept);
+        List<DeptVo> depts = deptService.selectDeptList(dept);
         return CommonResult.success(depts);
+    }
+
+
+    @GetMapping("/treeList")
+    @ApiOperation(value = "获取部门列表树状")
+    public CommonResult treeList(SysDept dept)
+    {
+        List<TreeSelect> treeSelects = deptService.selectDeptTreeList(dept);
+        return CommonResult.success(treeSelects);
     }
 
 
@@ -52,23 +69,23 @@
     /**
      * 查询部门列表(排除节点)
      */
-    @PreAuthorize("@ss.hasPermi('system:dept:list')")
-    @GetMapping("/list/exclude/{deptId}")
-    @ApiImplicitParams({
-            @ApiImplicitParam(paramType = "query", name = "deptId", dataType = "Long", required = true, value = "部门id"),
-    })
-    @ApiOperation(value = "查询部门列表(排除节点)")
-    public CommonResult excludeChild(@PathVariable(value = "deptId", required = false) Long deptId)
-    {
-        List<SysDept> depts = deptService.selectDeptList(new SysDept());
-        depts.removeIf(d -> d.getDeptId().intValue() == deptId || ArrayUtils.contains(StringUtils.split(d.getAncestors(), ","), deptId + ""));
-        return CommonResult.success(depts);
-    }
+    //@PreAuthorize("hasAnyAuthority('system:dept:list')")
+//    @GetMapping("/list/exclude/{deptId}")
+//    @ApiImplicitParams({
+//            @ApiImplicitParam(paramType = "query", name = "deptId", dataType = "Long", required = true, value = "部门id"),
+//    })
+//    @ApiOperation(value = "查询部门列表(排除节点)")
+//    public CommonResult excludeChild(@PathVariable(value = "deptId", required = false) Long deptId)
+//    {
+//        List<SysDept> depts = deptService.getOutDeptList(new SysDept());
+//        depts.removeIf(d -> d.getDeptId().intValue() == deptId || ArrayUtils.contains(StringUtils.split(d.getAncestors(), ","), deptId + ""));
+//        return CommonResult.success(depts);
+//    }
 
     /**
      * 根据部门编号获取详细信息
      */
-    @PreAuthorize("@ss.hasPermi('system:dept:query')")
+    //@PreAuthorize("hasAnyAuthority('system:dept:query')")
     @GetMapping(value = "/{deptId}")
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "query", name = "deptId", dataType = "Long", required = true, value = "部门id"),
@@ -76,70 +93,118 @@
     @ApiOperation(value = "根据部门编号获取详细信息")
     public CommonResult getInfo(@PathVariable Long deptId)
     {
-        deptService.checkDeptDataScope(deptId);
+        //deptService.checkDeptDataScope(deptId);
         return  CommonResult.success(deptService.selectDeptById(deptId));
     }
 
-    /**
-     * 新增部门
-     */
-    @PreAuthorize("@ss.hasPermi('system:dept:add')")
-    @PostMapping("/add")
-    @ApiOperation(value = "新增部门业务处室")
-    public CommonResult add(@Validated @RequestBody SysDept dept)
+    @PostMapping("/save")
+    @ApiOperation(value = "新增编辑部门")
+    public CommonResult save(@Validated @RequestBody SysDeptSaveDTOReq dept)
     {
-        if (!deptService.checkDeptNameUnique(dept))
-        {
-            return CommonResult.failed("新增部门'" + dept.getDeptName() + "'失败,部门名称已存在");
-        }
-        dept.setCreateBy(getUsername());
-        return CommonResult.success(deptService.insertDept(dept));
+        return CommonResult.success(deptService.saveDept(dept));
     }
 
-    /**
-     * 修改部门
-     */
-    @PreAuthorize("@ss.hasPermi('system:dept:edit')")
-    @ApiOperation(value = "修改部门门业务处室")
-    @PutMapping
-    public CommonResult edit(@Validated @RequestBody SysDept dept)
+    @PostMapping("/saveResponsibility")
+    @ApiOperation(value = "新增编辑部门职能")
+    public CommonResult saveResponsibility(@Validated @RequestBody SysDeptResponsibilityReqVo dept)
     {
-        Long deptId = dept.getDeptId();
-        deptService.checkDeptDataScope(deptId);
-        if (!deptService.checkDeptNameUnique(dept))
-        {
-            return CommonResult.failed("修改部门'" + dept.getDeptName() + "'失败,部门名称已存在");
-        }
-        else if (dept.getParentId().equals(deptId))
-        {
-            return CommonResult.failed("修改部门'" + dept.getDeptName() + "'失败,上级部门不能是自己");
-        }
-        else if (ObjectUtil.equals(UserConstant.DEPT_DISABLE, dept.getStatus()) && deptService.selectNormalChildrenDeptById(deptId) > 0)
-        {
-            return CommonResult.failed("该部门包含未停用的子部门!");
-        }
-        dept.setUpdateBy(getUsername());
-        return CommonResult.success(deptService.updateDept(dept));
+        return CommonResult.success(deptService.saveDeptResponsibility(dept));
     }
+
+
+    @GetMapping("/functionalDistributionList")
+    @ApiOperation(value = "职能分配数据")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "Long", required = true, value = "公司id"),
+    })
+    public CommonResult functionalDistributionList(@RequestParam Long companyId)
+    {
+        List<SysFunctionalDistribution> functionalDistributionList = deptService.getFunctionalDistributionList(companyId);
+
+        return CommonResult.success(functionalDistributionList);
+    }
+
+
+    @PostMapping("/saveFunctionalDistribution")
+    @ApiOperation(value = "保存职能分配")
+    public CommonResult saveFunctionalDistribution(@Validated @RequestBody FunctionalDistributionVo re)
+    {
+        return CommonResult.success(deptService.saveFunctionalDistribution(re));
+    }
+
+    @GetMapping("/initFunctionalDistribution")
+    @ApiOperation(value = "职能分配初始化")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "Long", required = true, value = "公司id"),
+    })
+    public CommonResult initFunctionalDistribution(@RequestParam Long companyId) {
+        return CommonResult.success(deptService.initFunctionalDistribution(companyId));
+    }
+
+
+//    /**
+//     * 新增部门
+//     */
+//    //@PreAuthorize("hasAnyAuthority('system:dept:add')")
+//    @PostMapping("/add")
+//    @ApiOperation(value = "新增部门业务处室")
+//    public CommonResult add(@Validated @RequestBody SysDept dept)
+//    {
+//        if (!deptService.checkDeptNameUnique(dept))
+//        {
+//            return CommonResult.failed("新增部门'" + dept.getDeptName() + "'失败,部门名称已存在");
+//        }
+//        dept.setCreateBy(getUsername());
+//        return CommonResult.success(deptService.insertDept(dept));
+//    }
+//
+//
+//
+//
+//    /**
+//     * 修改部门
+//     */
+//    //@PreAuthorize("hasAnyAuthority('system:dept:edit')")
+//    @ApiOperation(value = "修改部门门业务处室")
+//    @PutMapping
+//    public CommonResult edit(@Validated @RequestBody SysDept dept)
+//    {
+//        Long deptId = dept.getDeptId();
+//        //deptService.checkDeptDataScope(deptId);
+//        if (!deptService.checkDeptNameUnique(dept))
+//        {
+//            return CommonResult.failed("修改部门'" + dept.getDeptName() + "'失败,部门名称已存在");
+//        }
+//        else if (dept.getParentId().equals(deptId))
+//        {
+//            return CommonResult.failed("修改部门'" + dept.getDeptName() + "'失败,上级部门不能是自己");
+//        }
+//        else if (ObjectUtil.equals(UserConstant.DEPT_DISABLE, dept.getStatus()) && deptService.selectNormalChildrenDeptById(deptId) > 0)
+//        {
+//            return CommonResult.failed("该部门包含未停用的子部门!");
+//        }
+//        dept.setUpdateBy(getUsername());
+//        return CommonResult.success(deptService.updateDept(dept));
+//    }
 
     /**
      * 删除部门
      */
-    @PreAuthorize("@ss.hasPermi('system:dept:remove')")
+    //@PreAuthorize("hasAnyAuthority('system:dept:remove')")
     @DeleteMapping("/{deptId}")
-    @ApiOperation(value = "删除部门门业务处室")
+    @ApiOperation(value = "删除部门")
     public CommonResult remove(@PathVariable Long deptId)
     {
         if (deptService.hasChildByDeptId(deptId))
         {
             return CommonResult.failed("存在下级部门,不允许删除");
         }
-        if (deptService.checkDeptExistUser(deptId))
-        {
-            return CommonResult.failed("部门存在用户,不允许删除");
-        }
+//        if (deptService.checkDeptExistUser(deptId))
+//        {
+//            return CommonResult.failed("部门存在用户,不允许删除");
+//        }
         //todo  校验专家是否申请复用
-        deptService.checkDeptDataScope(deptId);
+//        deptService.checkDeptDataScope(deptId);
         return CommonResult.success(deptService.deleteDeptById(deptId));
     }
 }

--
Gitblit v1.9.2