|
|
@@ -2,6 +2,7 @@ package com.jzg.organization.service.impl;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
@@ -181,6 +182,8 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
|
|
|
public List<SysDeptVo> getDeptTree(String deptId, SysDeptParam param) {
|
|
|
log.info("查询部门信息:deptTid=[{}],param=[{}]",deptId, JSONUtil.toJsonStr(param));
|
|
|
deptId = Objects.toString(deptId, "");
|
|
|
+ // 用户所属的部门序号
|
|
|
+ final String userDeptId = deptId;
|
|
|
|
|
|
String userSystemCode = Optional.ofNullable(param.getSysCode())
|
|
|
.filter(StringUtils::isNotEmpty)
|
|
|
@@ -190,6 +193,12 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
|
|
|
SysSystem bySysCode = sysSystemService.getBySysCode(userSystemCode);
|
|
|
SysDept sysDept = getById(deptId);
|
|
|
|
|
|
+ // add by lipf, 进行数据权限过滤
|
|
|
+ String userDataScope = baseController.getUserDataScope();
|
|
|
+ JSONObject dataScope = JSONObject.parseObject(userDataScope);
|
|
|
+ String dataMark = dataScope.getString("dataMark");
|
|
|
+ log.info("dataMark=[{}]",dataMark);
|
|
|
+
|
|
|
List<String> deptTids = this.obatinDeptTids(param.getUserInfo());
|
|
|
List<SysDeptVo> voDept = baseMapper.selectDeptVoList(deptId, userSystemCode, param.getName())
|
|
|
.stream()
|
|
|
@@ -198,6 +207,14 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
|
|
|
return true;
|
|
|
}
|
|
|
return deptTids.contains(action.getId());
|
|
|
+ }).filter(action->{
|
|
|
+ // 如果用户的数据权限是: 只看本部门的数据,则安装部门序号进行过去,否则数据全部保留 2026年5月7日11:37:33
|
|
|
+ // 这里的调整方式不是最优。 后续如果登录的时候,设置用户的datamark有多种权限,这里就不适用了
|
|
|
+ if("1".equals(dataMark)){
|
|
|
+ return userDeptId.equals(action.getId());
|
|
|
+ }else{
|
|
|
+ return true;
|
|
|
+ }
|
|
|
}).map(item -> {
|
|
|
SysDeptVo sysDeptVo = new SysDeptVo(item);
|
|
|
|