首先存在一张有关合同的报表。
当决策系统的用户角色为a(归属于A部门),可以查看报表中A部门的合同信息;当用户角色为b(归属于B部门),可以查看B部门的合同信息;当用户角色为c(管理层),可以查看报表的全部合同信息。
如何在报表中用sql联动决策系统用户权限?
想过写case when 但是在脑子说这样写,手说你不会。
不知道对不对,是否需要写参数?
如果A部门与B部门同属于执行部门角色,A部门只可以看A负责的合同数据,B部门可以看执行部门的全部合同,这种要怎么写?
①首先确定角色的归属部门是不是唯一,如果是,帆软10.0用
GETUSERDEPARTMENTS(1) 公式获取当前用户所在部门名称,
报表的数据集 select * from table_a where dept_name='${GETUSERDEPARTMENTS(1)}'
②如果有的部门能看所有内容:
select * from table_a where 1=1 and ${if(GETUSERDEPARTMENTS(1)='管理部门',"1=1","dept_name='"+GETUSERDEPARTMENTS(1)+"'")}
如果按详细角色来区分,把部门GETUSERDEPARTMENTS(1)换成角色fine_role或者根据姓名fine_username
case when '${fr_authority}'='a' then select * from 表....
角色 不是:$fine_role
吗?