fix(emr): 为医生角色授予电子病历管理菜单权限
- 授予医生、门诊医生、住院医生、管理员EMR菜单访问权限 - 包括:修订历史、病历检索、病程记录等
This commit is contained in:
@@ -0,0 +1,44 @@
|
|||||||
|
-- V102__grant_emr_menu_to_doctor.sql
|
||||||
|
-- 为医生角色授予电子病历管理相关菜单权限
|
||||||
|
|
||||||
|
-- 1. 获取医生角色ID并授予EMR菜单权限
|
||||||
|
INSERT INTO sys_role_menu (role_id, menu_id)
|
||||||
|
SELECT
|
||||||
|
r.role_id,
|
||||||
|
m.menu_id
|
||||||
|
FROM sys_role r
|
||||||
|
CROSS JOIN sys_menu m
|
||||||
|
WHERE r.role_name IN ('医生', 'doctor', '门诊医生', '住院医生', '管理员', 'admin')
|
||||||
|
AND m.menu_id IN (
|
||||||
|
20201, -- 电子病历管理
|
||||||
|
20202, -- 病案归档
|
||||||
|
20203, -- 修订历史
|
||||||
|
20204, -- 病历时效
|
||||||
|
20205, -- 病历检索
|
||||||
|
20206, -- 进程记录
|
||||||
|
20207 -- 知识库
|
||||||
|
)
|
||||||
|
AND NOT EXISTS (
|
||||||
|
SELECT 1 FROM sys_role_menu rm
|
||||||
|
WHERE rm.role_id = r.role_id AND rm.menu_id = m.menu_id
|
||||||
|
);
|
||||||
|
|
||||||
|
-- 2. 为医生角色授予EMR相关权限
|
||||||
|
INSERT INTO sys_role_menu (role_id, menu_id)
|
||||||
|
SELECT
|
||||||
|
r.role_id,
|
||||||
|
m.menu_id
|
||||||
|
FROM sys_role r
|
||||||
|
CROSS JOIN sys_menu m
|
||||||
|
WHERE r.role_name IN ('医生', 'doctor', '门诊医生', '住院医生', '管理员', 'admin')
|
||||||
|
AND m.perms IN (
|
||||||
|
'emr:list',
|
||||||
|
'emr:edit',
|
||||||
|
'document:progressnote:list',
|
||||||
|
'document:progressnote:add',
|
||||||
|
'document:progressnote:edit'
|
||||||
|
)
|
||||||
|
AND NOT EXISTS (
|
||||||
|
SELECT 1 FROM sys_role_menu rm
|
||||||
|
WHERE rm.role_id = r.role_id AND rm.menu_id = m.menu_id
|
||||||
|
);
|
||||||
Reference in New Issue
Block a user