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

68 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 01 Core - crop 表录入说明
来源:`docs/requirements/01-core-data-entry-requirements.md`
## 录入目标
`crop` 记录项目涉及的作物范围,是 Core 上下文的起点。后续 program、trial、study、germplasm、observation_variable、genome_map 等数据都需要回到作物维度筛选和解释。
## 前置依赖和下游引用
| 类型 | 内容 |
| --- | --- |
| 表 | `crop` |
| 前置依赖 | 无 |
| 下游引用 | `program``location``trial``study``germplasm``observation_variable``genome_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` 已被 `program``location``trial``study``germplasm``observation_variable``genome_map` 引用时,不允许物理删除。后端需要返回引用对象类型和数量,前端弹窗展示后引导用户停用。
## 验收点
1. Crop 列表页支持分页、关键词搜索和基础筛选。
2. 外键选择器展示作物名称,提交保存 `crop.id`
3. 被引用的 crop 删除失败时,前端展示引用详情。