|
@@ -1,17 +1,23 @@
|
|
|
package cn.iocoder.yudao.module.system.controller.admin.dept;
|
|
package cn.iocoder.yudao.module.system.controller.admin.dept;
|
|
|
|
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
+import cn.hutool.core.util.ObjUtil;
|
|
|
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
|
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
|
|
+import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils;
|
|
|
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptListReqVO;
|
|
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptListReqVO;
|
|
|
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptRespVO;
|
|
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptRespVO;
|
|
|
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptSaveReqVO;
|
|
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptSaveReqVO;
|
|
|
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptSimpleRespVO;
|
|
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptSimpleRespVO;
|
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
|
|
|
|
|
+import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
|
|
|
|
+import cn.iocoder.yudao.module.system.dal.mysql.user.AdminUserMapper;
|
|
|
import cn.iocoder.yudao.module.system.service.dept.DeptService;
|
|
import cn.iocoder.yudao.module.system.service.dept.DeptService;
|
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
|
import io.swagger.v3.oas.annotations.Parameter;
|
|
import io.swagger.v3.oas.annotations.Parameter;
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
@@ -31,6 +37,10 @@ public class DeptController {
|
|
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
|
private DeptService deptService;
|
|
private DeptService deptService;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private WebFrameworkUtils webFrameworkUtils;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private AdminUserMapper userMapper;
|
|
|
|
|
|
|
|
@PostMapping("create")
|
|
@PostMapping("create")
|
|
|
@Operation(summary = "创建部门")
|
|
@Operation(summary = "创建部门")
|
|
@@ -100,7 +110,19 @@ public class DeptController {
|
|
|
DeptListReqVO reqVO = new DeptListReqVO();
|
|
DeptListReqVO reqVO = new DeptListReqVO();
|
|
|
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
|
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
|
|
reqVO.setDeptId(deptId);
|
|
reqVO.setDeptId(deptId);
|
|
|
|
|
+ // 过滤掉数据权限 队伍可以查询上级部门信息
|
|
|
List<DeptDO> list = deptService.getChildDeptList(deptId);
|
|
List<DeptDO> list = deptService.getChildDeptList(deptId);
|
|
|
|
|
+ // 查询当前用户所属部门 可能是队伍 list 查询结果为0
|
|
|
|
|
+ if (CollUtil.isEmpty(list)) {
|
|
|
|
|
+ Long userId = webFrameworkUtils.getLoginUserId();
|
|
|
|
|
+ if (ObjUtil.isNotEmpty(userId)) {
|
|
|
|
|
+ // 查询当前登录人所属部门
|
|
|
|
|
+ AdminUserDO user = userMapper.selectById(userId);
|
|
|
|
|
+ if (ObjUtil.isNotEmpty(user)) {
|
|
|
|
|
+ deptId = user.getDeptId();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
// 查询 deptId 对应的部门 加入 最终返回的集合
|
|
// 查询 deptId 对应的部门 加入 最终返回的集合
|
|
|
DeptDO currentDept = deptService.getDept(deptId);
|
|
DeptDO currentDept = deptService.getDept(deptId);
|
|
|
list.add(currentDept);
|
|
list.add(currentDept);
|