【BOS基础系统_权限】组织权限数据问题定位分享原创
金蝶云社区-汪伟康
汪伟康
5人赞赏了该文章 239次浏览 未经作者许可,禁止转载编辑于2022年05月20日 11:43:48

问题:所有用户,包括administrator在组织单元序时簿中右边的组织列表查看不到数据,实际组织有数据。


分析:开始以为可能是存在某个新增的权限绑定了组织单元query,但是没有分配导致,但是administrator是不需要校验功能权限的,且客户测试环境可以复现,两个环境做过同样的操作(反馈动过合并范围,组织数据),因此找客户要了测试环境的解决方案bos工具调试。


操作步骤:登陆administrator点开组织单元菜单,在左树随意选择一个节点,可以出发组织单元查询,进入验权服务统一入口PermissionServiceAdapter.execute()后开始断点调试。


1、直接上最终问题定位的地方,也就是说我们要查管理单元,可是该表T_ORG_TREE没有管理单元类型的数据。

image.png


image.png


2、通过该sql在客户环境直接查询,对比标准环境,发现问题,该表存放了合并范围和预置的各类组织单元视图,且fisbasic都为1,但是客户环境的这些组织单元视图fisbasic都为0,导致都查不到。




最终修复方案如下:

--1、备份T_ORG_TREE

SELECT * into t_org_tree_bk220519 FROM T_ORG_TREE

--2、将预置的组织视图数据fisbasic为1

UPDATE T_ORG_TREE SET FISBASIC =1  WHERE  FID LIKE '00000000-0000-0000-0000-000%'

--3、清缓存 (执行服务端脚本)

com.kingdee.eas.base.permission.app.helper.PermCacheHelper.removeCacheByType(2);


注:与客户二开同事确认确实有改动T_ORG_TREE这个表数据。

所以提醒大家如果不是非常清楚EAS标准产品表结构和数据影响,千万不要擅自修改,如有需要请与总部对应领域老师确认。

赞 5