# 04 Germplasm / Seed - cross_parent 表录入说明 来源:`docs/architecture/04-germplasm-seed-data-flow.md` ## 录入目标 `cross_parent` 连接 cross 与亲本来源。亲本可以是 germplasm,也可以是 observation_unit,用来表达实际田间单株或 plot 来源。 ## 上下游关系 | 类型 | 内容 | | --- | --- | | 表 | `cross_parent` | | Java 实体 | `CrossParentEntity` | | 前置依赖 | `cross_entity`、`crossing_project`、`germplasm` 或 `observation_unit` | | 下游引用 | 杂交亲本展示和校验 | ## 字段录入 | 字段 | 业务意义 | 录入方式 | 校验规则 | | --- | --- | --- | --- | | `id` | cross parent 主键 | 系统生成 | 必填、唯一 | | `cross_id` | 所属 cross | Cross 选择器/详情页带出 | 必选,必须存在 | | `crossing_project_id` | 所属 crossing project | 自动带出/选择器 | 建议与 cross 一致 | | `germplasm_id` | 亲本 germplasm | Germplasm 选择器 | 与 observation_unit 至少填一个 | | `observation_unit_id` | 亲本 observation unit | ObservationUnit 选择器 | 与 germplasm 至少填一个 | | `parent_type` | 亲本类型 | 枚举选择 | FEMALE、MALE、SELF、POPULATION、CLONAL 等 | ## 页面与交互 - 在 Cross 或 PlannedCross 详情页 Parents Tab 内维护。 - 创建 cross 时至少添加一个亲本;常见杂交需要 FEMALE 和 MALE。 ## 关键校验 1. `cross_id` 必须存在。 2. `germplasm_id` 和 `observation_unit_id` 至少填写一个,不建议同时为空。 3. 同一 cross 下相同 parentType + germplasm/observationUnit 不应重复。 4. 如果填 `crossing_project_id`,应与 `cross.crossing_project_id` 一致。 --- **状态:已完成**(页面:`germplasm/cross-pedigree` → Cross Parent Tab;Cross/PlannedCross 详情页 Parents Tab)