From 2878c6889df574e837cb1b6e042ef261fb42f304 Mon Sep 17 00:00:00 2001 From: zlwu <704541015@qq.com> Date: Thu, 12 Nov 2026 15:54:59 +0800 Subject: [PATCH] =?UTF-8?q?fix(lab-sample):=20=E5=BD=92=E4=B8=80=E5=8C=96?= =?UTF-8?q?=E5=B8=82=E5=9C=BA=E7=94=9F=E4=BA=A7=E8=B4=A8=E6=A3=80=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=20ACL=20=E6=8E=88=E6=9D=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 撤销历史过宽角色菜单后,仅按部门员工/主管/只读角色重授,确保员工仅可编辑本部门字段。 Co-authored-by: Cursor --- ...12_lab_sample_processing_normalize_acl.sql | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 docs/sql/20261112_lab_sample_processing_normalize_acl.sql diff --git a/docs/sql/20261112_lab_sample_processing_normalize_acl.sql b/docs/sql/20261112_lab_sample_processing_normalize_acl.sql new file mode 100644 index 00000000..98957ea9 --- /dev/null +++ b/docs/sql/20261112_lab_sample_processing_normalize_acl.sql @@ -0,0 +1,21 @@ +-- 实验室样本处理 ACL 归一化(可重复执行) +-- 1) 撤销所有 lab:sample-processing* / menu:lab-sample-processing 角色菜单 +-- 2) 仅按下列角色重授: +-- 市场编辑:市场专员/临床销售/销售助理/客服/采集专员 +-- 生产编辑:生产专员/实验专员/细胞实验员/研发专员 +-- 质检编辑:质检专员/质量安全员 +-- 主管:生产主管/质量主管/采集主管/采集经理/研发主管/研发总监/总经理/副总经理/董事长/超级管理员 +-- 只读:采集接受人 +-- 说明:正式执行请用 Agent 脚本 tmp_normalize_lab_acl.py(含幂等 undelete/insert)。 +-- 本文件作为规则记录;勿在未核对角色名时直接全量套用到其他环境。 + +UPDATE sys_role_menu rm +JOIN sys_menu m ON m.id = rm.menu_id +SET rm.del_flag = 1, + rm.update_by = 'normalize-acl', + rm.update_time = NOW() +WHERE rm.del_flag = 0 + AND ( + m.perms LIKE 'lab:sample-processing%' + OR m.perms = 'menu:lab-sample-processing' + );