2.3 KiB
2.3 KiB
04 Germplasm / Seed - cross_entity 表录入说明
来源:docs/architecture/04-germplasm-seed-data-flow.md
录入目标
cross_entity 是 Cross 和 PlannedCross 的统一落库表。plannedcross 不是独立数据库表,计划杂交通过 planned=true 表达;实际杂交可以通过 planned_cross_id 关联计划杂交。
上下游关系
| 类型 | 内容 |
|---|---|
| 表 | cross_entity |
| Java 实体 | CrossEntity |
| 前置依赖 | crossing_project,可选自关联 cross_entity |
| 下游引用 | cross_parent、cross_pollination_event、seed_lot_content_mixture |
| API | /brapi/v2/crosses、/brapi/v2/plannedcrosses |
字段录入
| 字段 | 业务意义 | 录入方式 | 校验规则 |
|---|---|---|---|
id |
cross 主键 | 系统生成;导入可指定 | 必填、唯一 |
auth_user_id |
数据所属用户 | 登录上下文自动写入 | 不允许前端手填 |
name |
cross 名称 | 用户录入/自动生成 | 建议必填 |
cross_type |
杂交类型 | 枚举选择 | 可选 |
crossing_project_id |
所属 crossing project | CrossingProject 选择器 | 建议必选,若填需存在 |
status |
planned cross 状态 | 枚举选择 | 计划杂交常用 |
planned |
是否为计划杂交 | 开关 | 必填,默认 false |
planned_cross_id |
关联计划杂交 | Cross 选择器 | 可选,必须指向 planned=true 的 cross |
附属集合字段
| 附属表 | 内容 |
|---|---|
cross_entity_cross_attributes |
crossAttributes 列表 |
cross_parent |
cross 的亲本 |
cross_pollination_event |
授粉事件 |
页面与交互
- Cross 列表页展示实际杂交;PlannedCross 列表页展示
planned=true数据。 - 新建实际 cross 时可选择 planned cross,并继承 planned cross 的亲本作为初始值。
- 详情页展示 parents、pollination events 和 seed lot 组成入口。
关键校验
plannedcross不新建表,所有 planned cross 走cross_entity。planned_cross_id不能指向自己。- 删除 cross 前检查
cross_parent、cross_pollination_event、seed_lot_content_mixture引用。
状态:已完成(页面:germplasm/cross-pedigree → Cross Tab;详情:cross-pedigree/crosses/[crossDbId]、planned-crosses/[plannedCrossDbId];创建实际杂交时继承计划杂交亲本)