# 04 Germplasm / Seed - germplasm_origin 表录入说明

来源：`docs/architecture/04-germplasm-seed-data-flow.md`

## 录入目标

`germplasm_origin` 记录 germplasm 的来源地坐标和坐标不确定性，适合表达采集地点或原产地的空间信息。

## 上下游关系

| 类型 | 内容 |
| --- | --- |
| 表 | `germplasm_origin` |
| Java 实体 | `GermplasmOriginEntity` |
| 前置依赖 | `germplasm`，可选 `geojson` |
| 下游引用 | 地理来源展示、MCPD |

## 字段录入

| 字段 | 业务意义 | 录入方式 | 校验规则 |
| --- | --- | --- | --- |
| `id` | origin 记录主键 | 系统生成 | 必填、唯一 |
| `germplasm_id` | 所属 germplasm | Germplasm 选择器/详情页带出 | 必选，必须存在 |
| `coordinate_uncertainty` | 坐标不确定性 | 文本/数字 | 可选 |
| `coordinates_id` | GeoJSON 坐标对象 | 地图取点/GeoJSON 导入 | 可选，若填需存在 |

## 页面与交互

- 在 Germplasm 详情页 Origin Tab 内维护。
- 支持地图取点和 GeoJSON 查看。

## 关键校验

1. `germplasm_id` 必须存在。
2. 坐标格式需要合法。
3. 删除 origin 记录不应删除 germplasm 主数据。

**状态：已完成**（页面：`germplasm/germplasm/[germplasmDbId]` → Origin Tab；BrAPI `PUT /germplasm/{id}` germplasmOrigin 整表替换）
