数据录入需求总览
本文档基于 docs/architecture 下 5 份架构文档拆解,目标是把 BrAPI Test Server 的数据录入需求按上游到下游梳理清楚:
文档索引
| 顺序 |
文档 |
说明 |
| 1 |
01-core-data-entry-requirements.md |
crop、person、program、location、trial、season、study、list |
| 2 |
02-germplasm-seed-entry-requirements.md |
breeding_method、germplasm、attribute、cross、seed_lot、pedigree |
| 3 |
03-phenotyping-entry-requirements.md |
ontology、trait、method、scale、observation_variable、observation_unit、event、image、observation |
| 4 |
04-genotyping-entry-requirements.md |
plate、sample、reference、variantset、variant、callset、allele_call、genome_map |
总体录入链路
全局界面原则
| 页面类型 |
用途 |
建议界面 |
| 列表页 |
查询、筛选、分页、批量操作 |
顶部筛选区 + 表格 + 新增按钮 + 行内查看/编辑 |
| 新增/编辑页 |
单表主数据录入 |
分组表单,必填字段靠前,外键使用搜索选择器 |
| 详情页 |
查看主表及下游数据 |
顶部摘要 + Tab:基本信息、关联数据、扩展信息、外部引用 |
| 关系选择器 |
选择上游依赖 |
支持按 ID、名称、作物、项目、study 搜索 |
| 批量导入 |
初始化和大批量数据 |
上传 CSV/Excel + 字段映射 + 预校验 + 导入结果 |
全局字段规则
| 字段类型 |
录入规则 |
id / DbId |
系统生成或用户提供;必须唯一;编辑时不可随意修改 |
| 名称字段 |
必填或强建议必填;用于下拉选择展示 |
| 外键字段 |
页面展示名称,提交保存实际 ID |
| 枚举字段 |
使用下拉框或单选控件 |
| 日期时间 |
使用日期/时间选择器,保存前统一格式 |
additional_info |
作为高级配置,用键值编辑器录入 |
external_references |
作为外部系统引用,用可增删表格录入 |
总体录入顺序
- 录入 Core:
crop、person、program、location、trial、season、study、list。
- 录入 Germplasm/Seed:
breeding_method、germplasm_attribute_definition、germplasm、germplasm_attribute_value、crossing_project、cross_entity、cross_parent、pedigree_node、pedigree_edge、seed_lot、seed_lot_content_mixture、seed_lot_transaction。
- 录入 Phenotyping:
ontology、trait、method、scale、observation_variable、observation_unit、event、image、observation。
- 录入 Genotyping:
plate、sample、reference_set、reference、reference_bases、variantset、variant、callset、allele_call、genome_map、linkageGroup、marker_position。
通用验收标准
- 每张表都有列表、新增、编辑、详情能力。
- 每个外键字段都能通过名称搜索选择,而不是要求用户手填数据库 ID。
- 下游表新增时必须校验上游数据是否存在。
- 删除或禁用上游数据时,需要提示被哪些下游表引用。
- 支持按模块导入 CSV/Excel,并在导入前给出错误行和错误原因。
- 详情页能看到关键下游关联,例如
study 下的 observation unit、sample、variantset。