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;
|
package cn.axzo.tyr.client.common.enums;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public enum AttrPermissionEnum {
|
public enum AttrPermissionEnum{
|
||||||
SELF_ONLY(1, "仅本人数据"),
|
SELF_ONLY(1, "本人数据", true, true),
|
||||||
SELF_SUBORDINATE(2, "本人及下属数据"),
|
SELF_SUBORDINATE(2, "下属数据", true, true),
|
||||||
DEPARTMENT_ONLY(3, "仅本部门数据"),
|
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(8, "本项目部数据", false, true),
|
||||||
WORKSPACE(9, "本项目数据"),
|
|
||||||
EQUAL_TO_ROW(10, "同行级数据权限"),
|
|
||||||
|
|
||||||
UNIT_ONLY_EXCLUDE_TEAM(11, "仅本单位数据(不包含班组)"),
|
EQUAL_TO_ROW(999, "同行级数据权限", true, true),
|
||||||
;
|
;
|
||||||
private final Integer value;
|
private final Integer value;
|
||||||
private final String desc;
|
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() {
|
public static List<AttrPermissionEnum> listAttrPermissionForWorkspace() {
|
||||||
return Lists.newArrayList(AttrPermissionEnum.values());
|
return ROW_PERMISSION_FOR_WORKSPACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<AttrPermissionEnum> listAttrPermissionForNotWorkspace() {
|
public static List<AttrPermissionEnum> listAttrPermissionForNotWorkspace() {
|
||||||
return Lists.newArrayList(SELF_ONLY, SELF_SUBORDINATE,
|
return ROW_PERMISSION_FOR_NOT_WORKSPACE;
|
||||||
DEPARTMENT_ONLY, DEPARTMENT_SUBORDINATE, UNIT_ONLY, UNIT_ONLY_EXCLUDE_TEAM, EQUAL_TO_ROW);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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, "行级权限规则&项目数据权限"),
|
ROW_PERMISSION_AND_WORKSPACE(3, "行级权限规则&项目数据权限"),
|
||||||
ATTR_PERMISSION_AND_NOT_WORKSPACE(4, "字段值查看范围&单位/OMS/政务监管平台的数据权限"),
|
ATTR_PERMISSION_AND_NOT_WORKSPACE(4, "字段值查看范围&单位/OMS/政务监管平台的数据权限"),
|
||||||
ATTR_PERMISSION_AND_WORKSPACE(5, "字段值查看范围&项目数据权限"),
|
ATTR_PERMISSION_AND_WORKSPACE(5, "字段值查看范围&项目数据权限"),
|
||||||
|
TEAM_INCLUSION_AND_NOT_WORKSPACE(6, "是否包含班组"),
|
||||||
|
TEAM_INCLUSION_AND_WORKSPACE(7, "是否包含班组/小组"),
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
public final Integer value;
|
public final Integer value;
|
||||||
|
|||||||
@ -1,10 +1,11 @@
|
|||||||
package cn.axzo.tyr.client.common.enums;
|
package cn.axzo.tyr.client.common.enums;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 行级权限规则
|
* 行级权限规则
|
||||||
@ -12,38 +13,36 @@ import java.util.List;
|
|||||||
@Getter
|
@Getter
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public enum RowPermissionEnum {
|
public enum RowPermissionEnum {
|
||||||
SELF_ONLY(1, "仅本人数据"),
|
SELF_ONLY(1, "本人数据", true, true),
|
||||||
SELF_SUBORDINATE(2, "本人及下属数据"),
|
SELF_SUBORDINATE(2, "下属数据", true, true),
|
||||||
DEPARTMENT_ONLY(3, "仅本部门数据"),
|
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, "本项目部数据"),
|
|
||||||
|
|
||||||
UNIT_ONLY_EXCLUDE_TEAM(10, "仅本单位数据(不包含班组)"),
|
|
||||||
;
|
|
||||||
|
|
||||||
|
WORKSPACE(8, "本项目部数据", false, true);
|
||||||
|
|
||||||
private final Integer value;
|
private final Integer value;
|
||||||
private final String desc;
|
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() {
|
public static List<RowPermissionEnum> listRowPermissionForWorkspace() {
|
||||||
return Lists.newArrayList(RowPermissionEnum.values());
|
return ROW_PERMISSION_FOR_WORKSPACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<RowPermissionEnum> listRowPermissionForNotWorkspace() {
|
public static List<RowPermissionEnum> listRowPermissionForNotWorkspace() {
|
||||||
return Lists.newArrayList(SELF_ONLY, SELF_SUBORDINATE,
|
return ROW_PERMISSION_FOR_NOT_WORKSPACE;
|
||||||
DEPARTMENT_ONLY, DEPARTMENT_SUBORDINATE, UNIT_ONLY, UNIT_ONLY_EXCLUDE_TEAM);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -54,6 +54,10 @@ public class DataObjectRuleBO {
|
|||||||
* 9:本项目部数据 10:仅本单位数据(不包含班组)
|
* 9:本项目部数据 10:仅本单位数据(不包含班组)
|
||||||
*/
|
*/
|
||||||
private Integer rowPermission;
|
private Integer rowPermission;
|
||||||
|
/**
|
||||||
|
* 是否包含班组,1 = 包含,2 = 不包含
|
||||||
|
*/
|
||||||
|
private Integer teamInclusion;
|
||||||
/**
|
/**
|
||||||
* 字段级权限规则
|
* 字段级权限规则
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -36,6 +36,10 @@ public class DefaultDataObjectRuleBO {
|
|||||||
* 5:仅本单位数据 6:本单位及下级直属单位数据 7:本单位及下级协同(直属+合作)单位数据 8:本单位及以下协同(直属+合作)单位数据 9:本项目数据
|
* 5:仅本单位数据 6:本单位及下级直属单位数据 7:本单位及下级协同(直属+合作)单位数据 8:本单位及以下协同(直属+合作)单位数据 9:本项目数据
|
||||||
*/
|
*/
|
||||||
private Integer rowPermission;
|
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.framework.domain.web.result.ApiResult;
|
||||||
import cn.axzo.tyr.client.common.annotation.RepeatedSubmit;
|
import cn.axzo.tyr.client.common.annotation.RepeatedSubmit;
|
||||||
import cn.axzo.tyr.client.common.enums.AttrPermissionEnum;
|
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.EnumTypeEnum;
|
||||||
import cn.axzo.tyr.client.common.enums.ReturnCodeEnum;
|
import cn.axzo.tyr.client.common.enums.ReturnCodeEnum;
|
||||||
import cn.axzo.tyr.client.common.enums.RowPermissionEnum;
|
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()));
|
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:
|
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()));
|
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:
|
default:
|
||||||
throw new ServiceException(ReturnCodeEnum.TYPE_UNKNOWN.getMessage());
|
throw new ServiceException(ReturnCodeEnum.TYPE_UNKNOWN.getMessage());
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,6 +37,10 @@ public class DataObjectRule extends BaseOperatorEntity<DataObjectRule> implement
|
|||||||
* 5:仅本单位数据 6:本单位及下级直属单位数据 7:本单位及下级协同(直属+合作)单位数据 8:本单位及以下协同(直属+合作)单位数据 9:本项目数据
|
* 5:仅本单位数据 6:本单位及下级直属单位数据 7:本单位及下级协同(直属+合作)单位数据 8:本单位及以下协同(直属+合作)单位数据 9:本项目数据
|
||||||
*/
|
*/
|
||||||
private Integer rowPermission;
|
private Integer rowPermission;
|
||||||
|
/**
|
||||||
|
* 是否包含班组,1 = 包含,2 = 不包含
|
||||||
|
*/
|
||||||
|
private Integer teamInclusion;
|
||||||
/**
|
/**
|
||||||
* 规则范围 1:岗位 2:角色
|
* 规则范围 1:岗位 2:角色
|
||||||
*/
|
*/
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user