feat:(REQ-2993) 数据权限调整
1、增加 包含班组/不包含班组 的纬度 2、调整之前的数据权限选项
This commit is contained in:
parent
7ef955f06e
commit
b37690a476
@ -1,41 +1,46 @@
|
||||
package cn.axzo.tyr.client.common.enums;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum AttrPermissionEnum {
|
||||
SELF_ONLY(1, "仅本人数据"),
|
||||
SELF_SUBORDINATE(2, "本人及下属数据"),
|
||||
DEPARTMENT_ONLY(3, "仅本部门数据"),
|
||||
public enum AttrPermissionEnum{
|
||||
SELF_ONLY(1, "本人数据", true, true),
|
||||
SELF_SUBORDINATE(2, "下属数据", true, true),
|
||||
DEPARTMENT_ONLY(3, "本部门数据", true, true),
|
||||
|
||||
DEPARTMENT_SUBORDINATE(4, "本部门及以下数据"),
|
||||
DEPARTMENT_SUBORDINATE(4, "直属下级部门数据", true, true),
|
||||
|
||||
UNIT_ONLY(5, "仅本单位数据(包含班组)"),
|
||||
UNIT_ONLY(5, "本单位数据", true, true),
|
||||
|
||||
UNIT_DIRECT_SUBORDINATE(6, "本单位及下级直属单位数据"),
|
||||
UNIT_DIRECT_SUBORDINATE(6, "直属下级单位数据", false, true),
|
||||
|
||||
UNIT_COOPERATE_SUBORDINATE(7, "本单位及下级协同(直属+合作)单位数据"),
|
||||
UNIT_COOPERATE_SUBORDINATE(7, "下级单位数据", false, true),
|
||||
|
||||
UNIT_ALL_SUBORDINATE(8, "本单位及以下协同(直属+合作)单位数据"),
|
||||
WORKSPACE(9, "本项目数据"),
|
||||
EQUAL_TO_ROW(10, "同行级数据权限"),
|
||||
WORKSPACE(8, "本项目部数据", false, true),
|
||||
|
||||
UNIT_ONLY_EXCLUDE_TEAM(11, "仅本单位数据(不包含班组)"),
|
||||
EQUAL_TO_ROW(999, "同行级数据权限", true, true),
|
||||
;
|
||||
private final Integer value;
|
||||
private final String desc;
|
||||
private final Boolean supportedNotWorkspace;
|
||||
private final Boolean supportedWorkspace;
|
||||
|
||||
private static final List<AttrPermissionEnum> ROW_PERMISSION_FOR_WORKSPACE = Arrays.stream(AttrPermissionEnum.values())
|
||||
.filter(rp -> rp.supportedWorkspace).collect(Collectors.toList());
|
||||
private static final List<AttrPermissionEnum> ROW_PERMISSION_FOR_NOT_WORKSPACE = Arrays.stream(AttrPermissionEnum.values())
|
||||
.filter(rp -> rp.supportedNotWorkspace).collect(Collectors.toList());
|
||||
|
||||
public static List<AttrPermissionEnum> listAttrPermissionForWorkspace() {
|
||||
return Lists.newArrayList(AttrPermissionEnum.values());
|
||||
return ROW_PERMISSION_FOR_WORKSPACE;
|
||||
}
|
||||
|
||||
public static List<AttrPermissionEnum> listAttrPermissionForNotWorkspace() {
|
||||
return Lists.newArrayList(SELF_ONLY, SELF_SUBORDINATE,
|
||||
DEPARTMENT_ONLY, DEPARTMENT_SUBORDINATE, UNIT_ONLY, UNIT_ONLY_EXCLUDE_TEAM, EQUAL_TO_ROW);
|
||||
return ROW_PERMISSION_FOR_NOT_WORKSPACE;
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,21 @@
|
||||
package cn.axzo.tyr.client.common.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
public class DataObjectEnums {
|
||||
/**
|
||||
* 是否包含班组
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum TeamInclusionEnum {
|
||||
INCLUDE(1, "包含班组/小组", "包含班组"),
|
||||
EXCLUDE(2, "不包含班组/小组", "不包含班组");
|
||||
|
||||
private final Integer value;
|
||||
private final String descInWorkspace;
|
||||
private final String descNotInWorkspace;
|
||||
}
|
||||
|
||||
}
|
||||
@ -16,6 +16,9 @@ public enum EnumTypeEnum {
|
||||
ROW_PERMISSION_AND_WORKSPACE(3, "行级权限规则&项目数据权限"),
|
||||
ATTR_PERMISSION_AND_NOT_WORKSPACE(4, "字段值查看范围&单位/OMS/政务监管平台的数据权限"),
|
||||
ATTR_PERMISSION_AND_WORKSPACE(5, "字段值查看范围&项目数据权限"),
|
||||
TEAM_INCLUSION_AND_NOT_WORKSPACE(6, "是否包含班组"),
|
||||
TEAM_INCLUSION_AND_WORKSPACE(7, "是否包含班组/小组"),
|
||||
|
||||
;
|
||||
|
||||
public final Integer value;
|
||||
|
||||
@ -1,10 +1,11 @@
|
||||
package cn.axzo.tyr.client.common.enums;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 行级权限规则
|
||||
@ -12,38 +13,36 @@ import java.util.List;
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum RowPermissionEnum {
|
||||
SELF_ONLY(1, "仅本人数据"),
|
||||
SELF_SUBORDINATE(2, "本人及下属数据"),
|
||||
DEPARTMENT_ONLY(3, "仅本部门数据"),
|
||||
SELF_ONLY(1, "本人数据", true, true),
|
||||
SELF_SUBORDINATE(2, "下属数据", true, true),
|
||||
DEPARTMENT_ONLY(3, "本部门数据", true, true),
|
||||
|
||||
DEPARTMENT_SUBORDINATE(4, "本部门及以下数据"),
|
||||
DEPARTMENT_SUBORDINATE(4, "直属下级部门数据", true, true),
|
||||
|
||||
UNIT_ONLY(5, "仅本单位数据(包含班组)"),
|
||||
UNIT_ONLY(5, "本单位数据", true, true),
|
||||
|
||||
UNIT_DIRECT_SUBORDINATE(6, "本单位及下级直属单位数据"),
|
||||
UNIT_DIRECT_SUBORDINATE(6, "直属下级单位数据", false, true),
|
||||
|
||||
UNIT_COOPERATE_SUBORDINATE(7, "本单位及下级协同(直属+合作)单位数据"),
|
||||
|
||||
UNIT_ALL_SUBORDINATE(8, "本单位及以下协同(直属+合作)单位数据"),
|
||||
WORKSPACE(9, "本项目部数据"),
|
||||
|
||||
UNIT_ONLY_EXCLUDE_TEAM(10, "仅本单位数据(不包含班组)"),
|
||||
;
|
||||
UNIT_COOPERATE_SUBORDINATE(7, "下级单位数据", false, true),
|
||||
|
||||
WORKSPACE(8, "本项目部数据", false, true);
|
||||
|
||||
private final Integer value;
|
||||
private final String desc;
|
||||
private final Boolean supportedNotWorkspace;
|
||||
private final Boolean supportedWorkspace;
|
||||
|
||||
|
||||
|
||||
private static final List<RowPermissionEnum> ROW_PERMISSION_FOR_WORKSPACE = Arrays.stream(RowPermissionEnum.values())
|
||||
.filter(rp -> rp.supportedWorkspace).collect(Collectors.toList());
|
||||
private static final List<RowPermissionEnum> ROW_PERMISSION_FOR_NOT_WORKSPACE = Arrays.stream(RowPermissionEnum.values())
|
||||
.filter(rp -> rp.supportedNotWorkspace).collect(Collectors.toList());
|
||||
|
||||
public static List<RowPermissionEnum> listRowPermissionForWorkspace() {
|
||||
return Lists.newArrayList(RowPermissionEnum.values());
|
||||
return ROW_PERMISSION_FOR_WORKSPACE;
|
||||
}
|
||||
|
||||
public static List<RowPermissionEnum> listRowPermissionForNotWorkspace() {
|
||||
return Lists.newArrayList(SELF_ONLY, SELF_SUBORDINATE,
|
||||
DEPARTMENT_ONLY, DEPARTMENT_SUBORDINATE, UNIT_ONLY, UNIT_ONLY_EXCLUDE_TEAM);
|
||||
return ROW_PERMISSION_FOR_NOT_WORKSPACE;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -54,6 +54,10 @@ public class DataObjectRuleBO {
|
||||
* 9:本项目部数据 10:仅本单位数据(不包含班组)
|
||||
*/
|
||||
private Integer rowPermission;
|
||||
/**
|
||||
* 是否包含班组,1 = 包含,2 = 不包含
|
||||
*/
|
||||
private Integer teamInclusion;
|
||||
/**
|
||||
* 字段级权限规则
|
||||
*/
|
||||
|
||||
@ -36,6 +36,10 @@ public class DefaultDataObjectRuleBO {
|
||||
* 5:仅本单位数据 6:本单位及下级直属单位数据 7:本单位及下级协同(直属+合作)单位数据 8:本单位及以下协同(直属+合作)单位数据 9:本项目数据
|
||||
*/
|
||||
private Integer rowPermission;
|
||||
/**
|
||||
* 是否包含班组,1 = 包含,2 = 不包含
|
||||
*/
|
||||
private Integer teamInclusion;
|
||||
/**
|
||||
* 字段级权限规则
|
||||
*/
|
||||
|
||||
@ -5,6 +5,7 @@ import cn.axzo.framework.domain.ServiceException;
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.tyr.client.common.annotation.RepeatedSubmit;
|
||||
import cn.axzo.tyr.client.common.enums.AttrPermissionEnum;
|
||||
import cn.axzo.tyr.client.common.enums.DataObjectEnums;
|
||||
import cn.axzo.tyr.client.common.enums.EnumTypeEnum;
|
||||
import cn.axzo.tyr.client.common.enums.ReturnCodeEnum;
|
||||
import cn.axzo.tyr.client.common.enums.RowPermissionEnum;
|
||||
@ -76,6 +77,10 @@ public class DataObjectController implements DataObjectApi {
|
||||
return ApiResult.ok(AttrPermissionEnum.listAttrPermissionForNotWorkspace().stream().map(e -> EnumRes.builder().value(e.getValue()).desc(e.getDesc()).build()).collect(Collectors.toList()));
|
||||
case ATTR_PERMISSION_AND_WORKSPACE:
|
||||
return ApiResult.ok(AttrPermissionEnum.listAttrPermissionForWorkspace().stream().map(e -> EnumRes.builder().value(e.getValue()).desc(e.getDesc()).build()).collect(Collectors.toList()));
|
||||
case TEAM_INCLUSION_AND_NOT_WORKSPACE:
|
||||
return ApiResult.ok(Arrays.stream(DataObjectEnums.TeamInclusionEnum.values()).map(e -> EnumRes.builder().value(e.getValue()).desc(e.getDescNotInWorkspace()).build()).collect(Collectors.toList()));
|
||||
case TEAM_INCLUSION_AND_WORKSPACE:
|
||||
return ApiResult.ok(Arrays.stream(DataObjectEnums.TeamInclusionEnum.values()).map(e -> EnumRes.builder().value(e.getValue()).desc(e.getDescInWorkspace()).build()).collect(Collectors.toList()));
|
||||
default:
|
||||
throw new ServiceException(ReturnCodeEnum.TYPE_UNKNOWN.getMessage());
|
||||
}
|
||||
|
||||
@ -37,6 +37,10 @@ public class DataObjectRule extends BaseOperatorEntity<DataObjectRule> implement
|
||||
* 5:仅本单位数据 6:本单位及下级直属单位数据 7:本单位及下级协同(直属+合作)单位数据 8:本单位及以下协同(直属+合作)单位数据 9:本项目数据
|
||||
*/
|
||||
private Integer rowPermission;
|
||||
/**
|
||||
* 是否包含班组,1 = 包含,2 = 不包含
|
||||
*/
|
||||
private Integer teamInclusion;
|
||||
/**
|
||||
* 规则范围 1:岗位 2:角色
|
||||
*/
|
||||
|
||||
Loading…
Reference in New Issue
Block a user