数据权限规则管理

这里负责定义“谁能看哪张表、哪些数据”。
一条规则可以理解成:当前登录人的某个属性,去匹配目标表的某个字段,从而自动限制可见范围。

规则作用:自动加 WHERE 条件 支持:in / not in / = / like / null 判断 支持:跨表映射 / join 预览 支持:SQL 预览
规则列表
通俗解释
table 目标表。你要给哪张表加限制,比如 opm_mw_info_data
field 目标字段。就是拿哪一列来做过滤,比如 organ_id
admin_attr Admin属性。当前登录人身上保存权限值的字段,比如 hospitalsdepartments
admin_attr_map 映射规则。适合“用户拿到的是 ID,但最终要拿另一个字段去匹配”的场景。
action 比较方式。比如 in=likeis null
一句话理解 admin_attr_map
它就是一条“翻译路线”: 先从Admin属性拿值去某张表找对应记录取出你真正想匹配的字段再去限制目标表
1. 取 admin_attr 2. 查映射表 / join 关联 3. 取目标字段 4. 自动拼 WHERE 条件
格式:源表.源字段...目标表.目标字段
配置示例
场景 table field admin_attr admin_attr_map action
只看自己医院的数据 opm_mw_info_data organ_id hospitals - in
科室 ID 转科室名称过滤 opm_mw_info_data dept_name departments opm_mw_department.id...opm_mw_department.name in
跨表 join 取医院名称 opm_mw_info_data hospital_name hospitals opm_mw_department.id:organ_id...opm_mw_hospital.name:id in
医院表自身权限 opm_mw_hospital id hospitals - in