Files
brapi-java/docs/dev/01-core/01-crop.md
2026-05-28 11:56:17 +08:00

2.6 KiB
Raw Permalink Blame History

01 Core - crop 表录入说明

来源:docs/requirements/01-core-data-entry-requirements.md

录入目标

crop 记录项目涉及的作物范围,是 Core 上下文的起点。后续 program、trial、study、germplasm、observation_variable、genome_map 等数据都需要回到作物维度筛选和解释。

前置依赖和下游引用

类型 内容
crop
前置依赖
下游引用 programlocationtrialstudygermplasmobservation_variablegenome_map

页面入口

页面 录入要求
Crop 列表页 支持关键词查询、新增、编辑、查看详情、停用
Crop 新增/编辑页 轻量表单,重点录入作物名称
Crop 详情页 展示该作物下的项目、试验、研究、种质、图谱入口

列表页表格字段:crop_name、下游 program 数、下游 study 数、状态。

字段录入

字段 类型 控件 录入说明 校验/来源
id varchar(255) 隐藏/只读 作物主键,新增时系统生成,也可导入时指定 必填、唯一
auth_user_id varchar(255) 隐藏 数据所属用户 登录上下文自动写入
crop_name varchar(255) 文本框 作物名称,用于所有下拉选择展示 必填、建议唯一

校验规则

  1. crop_name 必填。
  2. crop_name 建议唯一,新增和编辑时需要做重复提示。
  3. 已被下游引用的作物不能物理删除,只能停用或提示引用关系。

接口能力

接口 用途
GET /crops crop 分页查询
POST /crops 新增 crop
GET /crops/{id} crop 详情
PUT /crops/{id} 编辑 crop
DELETE /crops/{id} 删除或停用 crop需做引用检查
GET /selectors/crops crop 搜索下拉,参数 keyword

导入导出

  1. 支持通过 Core 导入流程导入 crop
  2. 模板列名使用数据库字段名。
  3. 可按 id 幂等更新;无 id 时新增。
  4. 列表页支持导出当前筛选结果,导出文件应包含 ID 和展示名称。

删除/停用

crop 已被 programlocationtrialstudygermplasmobservation_variablegenome_map 引用时,不允许物理删除。后端需要返回引用对象类型和数量,前端弹窗展示后引导用户停用。

验收点

  1. Crop 列表页支持分页、关键词搜索和基础筛选。
  2. 外键选择器展示作物名称,提交保存 crop.id
  3. 被引用的 crop 删除失败时,前端展示引用详情。