# backend/org Specification ## Purpose 定义服务机构端机构(org)与人员(staff)域的后端行为——机构=租户映射、staff.user_id 关联账号、角色权限与审计。 ## Requirements ### Requirement: 机构与租户绑定 后端 MUST 以脚手架 `tenant_code` 作为机构唯一标识,业务表统一带 `tenant_code` 并继承脚手架多租户过滤。 #### Scenario: 跨机构数据隔离 - **WHEN** A 机构账号查询业务数据 - **THEN** 只返回本机构(本 tenant)数据,访问他机构返回 4001 ### Requirement: 人员账号关联 `staff` 实体 MUST 持 `user_id` 关联脚手架 user;护理员/组长账号通过 `staff.user_id` 定位本人人员档案;院长/质控/管理员账号无 staff 记录。 #### Scenario: 护理员定位人员 - **WHEN** 护理员登录后请求本人信息 - **THEN** 系统按 `staff.user_id = 当前 user.id` 返回唯一 staff 记录 ### Requirement: 角色与权限 业务角色 nurse/leader/qc/admin/director MUST 建成脚手架角色并按权限码授权;权限取角色并集;仅持 director 的账号写接口 MUST 返回 403。 #### Scenario: 仅院长写接口被拒 - **WHEN** 仅持 director 的账号调用写接口 - **THEN** 返回 403;若同时持 qc/admin,则按并集放行 ### Requirement: 完整审计 建档、改状态、派单、放行、导入、导出、明文查看身份证等业务动作 MUST 全量落审计日志(谁/何时/动作/对象/前后值)。 #### Scenario: 改状态落审计 - **WHEN** 质控员变更老人待遇状态 - **THEN** 写入一条审计日志,含操作人、时间、前后值