wlzboy
5 天以前 7de1396e315896dbc72a9d54e44f77434ea90f18
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java
@@ -1,6 +1,8 @@
package com.ruoyi.web.controller.system;
import java.util.List;
import com.ruoyi.common.core.domain.entity.SysUser;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -21,6 +23,7 @@
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysUserService;
/**
 * 部门信息
@@ -34,10 +37,12 @@
    @Autowired
    private ISysDeptService deptService;
    @Autowired
    private ISysUserService userService;
    /**
     * 获取部门列表
     */
    @PreAuthorize("@ss.hasPermi('system:dept:list')")
    @GetMapping("/list")
    public AjaxResult list(SysDept dept)
    {
@@ -46,9 +51,31 @@
    }
    /**
     * 基于当前用户的 OA_OrderClass 返回分公司列表
     */
    @GetMapping("/branch/by-oa")
    public AjaxResult listBranchByOaOrderClass()
    {
        com.ruoyi.common.core.domain.model.LoginUser loginUser = com.ruoyi.common.utils.SecurityUtils.getLoginUser();
        com.ruoyi.common.core.domain.entity.SysUser user = loginUser.getUser();
        java.util.List<com.ruoyi.common.core.domain.entity.SysDept> result = deptService.computeBranchCompaniesForUser(user);
        return success(result);
    }
    /**
     * 基于指定用户ID的 OA_OrderClass 返回分公司列表,并附加该用户所属分公司
     */
    @GetMapping("/branch/by-user/{userId}")
    public AjaxResult listBranchByUser(@PathVariable("userId") Long userId)
    {
        SysUser user = userService.selectUserById(userId);
        List<SysDept> result = deptService.computeBranchCompaniesForUser(user);
        return success(result);
    }
    /**
     * 查询部门列表(排除节点)
     */
    @PreAuthorize("@ss.hasPermi('system:dept:list')")
    @GetMapping("/list/exclude/{deptId}")
    public AjaxResult excludeChild(@PathVariable(value = "deptId", required = false) Long deptId)
    {
@@ -60,7 +87,6 @@
    /**
     * 根据部门编号获取详细信息
     */
    @PreAuthorize("@ss.hasPermi('system:dept:query')")
    @GetMapping(value = "/{deptId}")
    public AjaxResult getInfo(@PathVariable Long deptId)
    {
@@ -129,4 +155,18 @@
        deptService.checkDeptDataScope(deptId);
        return toAjax(deptService.deleteDeptById(deptId));
    }
    /**
     * 根据service_class查询部门信息
     */
    @GetMapping("/service-class/{serviceClass}")
    public AjaxResult getDeptByServiceClass(@PathVariable String serviceClass)
    {
        SysDept dept = deptService.selectDeptByServiceClass(serviceClass);
        if (dept != null) {
            return success(dept);
        } else {
            return error("未找到对应的部门信息");
        }
    }
}