fix:sample/plate 之前的开发

This commit is contained in:
彭帅
2026-05-28 11:56:17 +08:00
parent fc36bc83e3
commit 8b65de36b8
367 changed files with 57752 additions and 947 deletions

View File

@@ -0,0 +1,50 @@
# 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 组成入口。
## 关键校验
1. `plannedcross` 不新建表,所有 planned cross 走 `cross_entity`
2. `planned_cross_id` 不能指向自己。
3. 删除 cross 前检查 `cross_parent``cross_pollination_event``seed_lot_content_mixture` 引用。