# 02 Germplasm / Seed - pedigree_node 表录入说明

来源：`docs/requirements/02-germplasm-seed-entry-requirements.md`

## 录入目标

`pedigree_node` 是系谱图中的节点，通常对应一个 germplasm。它用于描述材料在系谱树中的位置，不等同于一次杂交记录。

## 字段录入

| 字段                  | 业务意义              | 录入方式                 | 控件建议       | 校验规则                                  |
| --------------------- | --------------------- | ------------------------ | -------------- | ----------------------------------------- |
| `id`                  | 系谱节点主键          | 系统生成                 | 隐藏/只读      | 必填、唯一                                |
| `auth_user_id`        | 数据所属用户或租户    | 登录上下文自动写入       | 隐藏           | 不允许手填                                |
| `crossing_year`       | 亲本最初杂交年份      | 用户录入                 | 年份选择器     | 可选；四位年份                            |
| `family_code`         | 家系编号              | 用户录入                 | 文本框         | 可选；同一 crossing_project 下建议唯一    |
| `pedigree_string`     | 系谱字符串，如 A/B//C | 用户录入/系统生成        | 文本框         | 可选；建议支持 Purdy notation             |
| `crossing_project_id` | 产生该节点的杂交项目  | 从 crossing_project 选择 | 杂交项目选择器 | 可选                                      |
| `germplasm_id`        | 该系谱节点对应的材料  | 从 germplasm 选择        | 材料选择器     | 建议必填；同一 germplasm 不建议重复建节点 |

## 录入建议

- Germplasm 详情页提供“系谱”Tab。
- 支持两种维护方式：树图拖拽维护、表格维护节点和边。
- 如果 cross 完成后产生后代 germplasm，应自动或半自动创建 pedigree_node。

---

