今天在做一个制度发布的功能,要求在发布时,选择当前制度的适用部门,后续只有这个部门的人可以查看,其他人看不到。
在选择弹出部门选择时,用的是组合复选框,关联用户信息视图。这时发现一个问题,用户信息视图里的部门,如果一个人在多个部门,会以逗号连接成一个字符串,在组合复选框中,也显示这样,在实操中显然不合理,所以想了个办法,跟大家分享下。
具体就是建立一个单独的部门视图,具体代码如下(网上抄的 ):
SELECT DISTINCT 部门名称
FROM
(
WITH split(部门名称, str) AS (
-- alternatively put your query here
-- SELECT '', category||',' FROM categories
SELECT '', 部门||',' FROM 用户信息视图
UNION ALL SELECT
substr(str, 0, instr(str, ',')),
substr(str, instr(str, ',')+1)
FROM split WHERE str!=''
) SELECT 部门名称 FROM split WHERE 部门名称!='') T
俺是新手,不知道大家在做这样的需求的时候,有没有其他好方法,也可以分享下啊!
不过还是希望官网能提供比如部门视图、角色视图等等这些常用,这些在涉及信息查看权限设置时比较好用,可以让前台操作的人来控制,而不是通过后台来设置。
|