苍穹开发系列之十:获取基础资料有新增权限的创建组织

获取基础资料有新增权限的创建组织
一、问题描述/需求描述:
如何根据基础数据管控策略获取基础资料中有新增权限的创建组织。
二、思路与方案:
基础资料根据是否有控制策略分为受控基础资料和非受控基础资料。非受控基础资料的创建组织默认都是有新增权限。而受控基础资料对应的规则是在基础服务-基础数据管控策略中控制的。基础数据管控策略中有新增权限的创建组织优先取控制规则下选择的组织(集合A),如果为空则取控制视图下挂的创建组织(集合B)。视图方案的组织使用状态必须为可用状态,其中主数据控制视图还需要对应的组织设为管控单元才行。集合A是集合B的子集。另外还需要考虑创建组织的组织职能。本文只讨论基础资料存在主业务组织且为创建组织。
三、实现过程:
1、调用微服务BaseDataServiceHelper.getBdCtrlOrgs,从【基础数据管控策略-实体(bd_bdctrlstrtgy)】中获取控制规则下的创建组织,如果集合非空则返回结果,集合为空走第二步。
2、第1步的集合为空,先取基础资料对应的控制视图,一般是从【基础数据视图关系(bd_basedataview)】中取得,但是建立在已经使用基础数据管控策略的前提下才会有同步的数据,同步的数据源来自【受控基础资料(bd_bddefctrlstrtgy)】,前者为空才会来这里取数据。对应的微服务是BaseDataServiceHelper.getCtrlview。
3、第2步的控制视图为空,则说明基础资料为非受控基础资料,直接获取所有可用状态的创建组织集合。反之,则说明是受控基础资料,继续第4步。
4、取得受控基础资料的控制视图后,如果视图编码是16则表示是主数据控制视图,其他为业务管理视图。主数据控制视图相比业务管理视图需要增加一个“是否为管控单元”的过滤条件。
5、根
苍穹开发系列之十:获取基础资料有新增权限的创建组织
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



