48 lines
1.6 KiB
Markdown
48 lines
1.6 KiB
Markdown
# 04 Germplasm / Seed - pedigree_edge 表录入说明
|
|
|
|
来源:`docs/architecture/04-germplasm-seed-data-flow.md`
|
|
|
|
## 录入目标
|
|
|
|
`pedigree_edge` 描述两个 pedigree_node 之间的 parent、child 或 sibling 关系,并标注亲本类型。
|
|
|
|
## 上下游关系
|
|
|
|
| 类型 | 内容 |
|
|
| --- | --- |
|
|
| 表 | `pedigree_edge` |
|
|
| Java 实体 | `PedigreeEdgeEntity` |
|
|
| 前置依赖 | `pedigree_node` |
|
|
| 下游引用 | 系谱查询、亲本/后代展示 |
|
|
| API | `/brapi/v2/pedigree` |
|
|
|
|
## 字段录入
|
|
|
|
| 字段 | 业务意义 | 录入方式 | 校验规则 |
|
|
| --- | --- | --- | --- |
|
|
| `id` | pedigree edge 主键 | 系统生成;导入可指定 | 必填、唯一 |
|
|
| `auth_user_id` | 数据所属用户 | 登录上下文自动写入 | 不允许前端手填 |
|
|
| `this_node_id` | 当前节点 | PedigreeNode 选择器 | 必选,必须存在 |
|
|
| `connceted_node_id` | 关联节点 | PedigreeNode 选择器 | 必选,必须存在 |
|
|
| `edge_type` | 关系类型 | 枚举选择 | parent、child、sibling |
|
|
| `parent_type` | 亲本类型 | 枚举选择 | 可选,如 FEMALE、MALE |
|
|
|
|
## 命名注意
|
|
|
|
实体字段是 `conncetedNode`,拼写与 `connected` 不同;开发 DTO、SQL、迁移时要留意当前代码和数据库列名。
|
|
|
|
## 页面与交互
|
|
|
|
- 在 Germplasm/Pedigree 图谱视图中维护。
|
|
- 创建 parent 关系时可自动补齐反向 child 关系,具体以业务实现为准。
|
|
|
|
## 关键校验
|
|
|
|
1. `this_node_id` 和 `connceted_node_id` 必须存在。
|
|
2. 两个节点不能相同。
|
|
3. 同一节点之间同一种 edge_type 不应重复。
|
|
|
|
---
|
|
|
|
**状态:已完成**
|