2.2 KiB
2.2 KiB
01 Core - study_contact 表录入说明
来源:docs/requirements/01-core-data-entry-requirements.md
录入目标
study_contact 是给 study 添加联系人的关系表,不是独立主数据。它记录 study 与 person 的多对多关系,用于 Study 工作台联系人展示、责任追踪、权限和通知。
前置依赖和下游引用
| 类型 | 内容 |
|---|---|
| 表 | study_contact |
| 前置依赖 | study、person |
| 下游引用 | Study 工作台联系人展示、权限和通知 |
页面入口
| 页面 | 录入要求 |
|---|---|
| Study 新增/编辑页 | 联系人区域多选 person,可增删 |
| Study 工作台 | 展示 study 联系人 |
| 批量导入 | 支持通过 Core 导入流程导入 study 联系人关系 |
字段录入
| 字段 | 类型 | 控件 | 录入说明 | 校验/来源 |
|---|---|---|---|---|
study_db_id |
varchar(255) | Study 选择器 | 所属 study | 必选,来源 study.id |
person_db_id |
varchar(255) | 人员选择器 | 联系人 | 必选,来源 person.id |
校验规则
study_db_id必选,且必须引用已存在的study.id。person_db_id必选,且必须引用已存在的person.id。- 同一 study 下不建议重复添加同一个 person。
接口能力
| 接口 | 用途 |
|---|---|
GET /studies/{id}/contacts |
study 联系人,返回 person 列表 |
本文档原始需求未强制限定 study_contact 的写入 URL。实现时可以随 study 新增/编辑一起保存,也可以提供 study 联系人子资源接口;前端需要具备新增、删除、查询 study 联系人的能力。
导入导出
- 支持通过 Core 导入流程导入
study_contact。 - 外键列支持填写 ID;可额外支持名称匹配,但名称重复时必须报错。
- 导入时需要校验 study 和 person 是否存在。
- 错误报告返回行号、字段名、错误原因、建议修正方式。
删除/停用
study_contact 是关系记录,可在 Study 新增/编辑页或工作台移除。删除关系不应删除 study 或 person 主数据。
验收点
- Study 新增/编辑页可增删联系人。
- Study 工作台能展示联系人列表。
- 删除 study_contact 后,person 主数据仍保留。