# 01 Core - trial_publication 表录入说明

来源：`docs/requirements/01-core-data-entry-requirements.md`

## 录入目标

`trial_publication` 是给 trial 记录出版物、报告或文献引用的痕迹表。它挂在 trial 下，用于说明试验相关的外部文献和永久标识。

## 前置依赖和下游引用

| 类型 | 内容 |
| --- | --- |
| 表 | `trial_publication` |
| 前置依赖 | `trial` |
| 下游引用 | trial 出版物/报告展示 |

## 页面入口

| 页面 | 录入要求 |
| --- | --- |
| Trial 新增/编辑页 | 出版物区域可增删 publication 记录 |
| Trial 详情页 | 展示 trial 的出版物、报告或引用 |

## 字段录入

| 字段 | 类型 | 控件 | 录入说明 | 校验/来源 |
| --- | --- | --- | --- | --- |
| `id` | varchar(255) | 隐藏/只读 | 出版物记录主键 | 必填、唯一 |
| `publicationpui` | varchar(255) | 文本框 | 出版物 PUI | 可选 |
| `publication_reference` | varchar(255) | 文本框/URL | 出版物引用 | 可选 |
| `trial_id` | varchar(255) | Trial 选择器 | 所属 trial | 必选，来源 `trial.id` |

## 校验规则

1. `id` 必填且唯一，新增时可由系统生成。
2. `trial_id` 必选，且必须引用已存在的 `trial.id`。
3. `publication_reference` 如果录入 URL，需要做 URL 格式校验。
4. `publicationpui` 建议唯一。

## 接口能力

本文档原始需求未强制限定 trial_publication 的独立 URL。实现时可以随 trial 新增/编辑一起保存，也可以提供 trial 出版物子资源接口；前端需要具备新增、删除、查询 trial 出版物的能力。

## 导入导出

原始导入对象清单未单独列出 `trial_publication`，但字段需求中包含该表。若纳入 Core 导入，应遵循通用导入流程：模板列名使用数据库字段名，外键校验 `trial_id`，错误报告返回行号、字段名和错误原因。

## 删除/停用

`trial_publication` 是 trial 的明细记录，可在 Trial 新增/编辑页或详情页移除。删除 publication 记录不应删除 `trial` 主数据。

## 验收点

1. Trial 新增/编辑页可维护出版物记录。
2. `trial_id` 不存在时不能提交。
3. 删除 publication 记录后，trial 主数据仍保留。
