liuyun 3afd009420 docs(openspec): C1 待遇档案 change 提案 + 归档 C0
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-14 14:21:25 +08:00

35 lines
1.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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