35 lines
1.6 KiB
Markdown
35 lines
1.6 KiB
Markdown
# 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** 写入一条审计日志,含操作人、时间、前后值
|