# 02 Germplasm / Seed - seed_lot 表录入说明

来源：`docs/requirements/02-germplasm-seed-entry-requirements.md`

## 录入目标

`seed_lot` 是实物库存批次，描述某一批种子当前有多少、放在哪里、属于哪个项目。它不是 germplasm 身份；同一个 germplasm 可以有多个 seed_lot。

## 字段录入

| 字段                | 业务意义                                             | 录入方式              | 控件建议            | 校验规则                      |
| ------------------- | ---------------------------------------------------- | --------------------- | ------------------- | ----------------------------- |
| `id`                | SeedLot 主键                                         | 系统生成              | 隐藏/只读           | 必填、唯一                    |
| `auth_user_id`      | 数据所属用户或租户                                   | 登录上下文自动写入    | 隐藏                | 不允许手填                    |
| `amount`            | 当前库存数量，可以是粒数、重量、株数等               | 用户录入/交易自动更新 | 数字输入框          | 必填；非负；交易后自动更新    |
| `created_date`      | 批次创建时间                                         | 系统默认，可导入      | 日期时间选择器/只读 | 默认当前时间                  |
| `description`       | 批次说明                                             | 用户录入              | 多行文本            | 可选                          |
| `last_updated`      | 最后更新时间，包含交易变化                           | 系统自动更新          | 只读                | 不允许手动改                  |
| `name`              | 批次名称，如 华占-2026-荆门-扩繁批                   | 用户录入或自动生成    | 文本框              | 必填；同一 program 下建议唯一 |
| `source_collection` | 原始来源 collection，如野外采集、nursery、种质库集合 | 用户录入              | 文本框              | 可选                          |
| `storage_location`  | 具体库位描述，如 冰箱A-2层-盒03                      | 用户录入              | 文本框              | 可选                          |
| `units`             | 数量单位，如 seeds、g、kg、plants                    | 用户选择              | 下拉框/文本框       | 必填；交易单位需一致或可换算  |
| `location_id`       | 库存所在地点                                         | 从 location 选择      | 地点选择器          | 可选                          |
| `program_id`        | 所属项目                                             | 从 program 选择       | 项目选择器          | 可选；用于项目库存筛选        |

## 录入建议

- 创建 seed_lot 后必须进入“批次组成”Tab，至少录入一条 `seed_lot_content_mixture`。
- 普通用户不要直接编辑 amount；amount 应通过入库、出库、转移、分装等交易动作更新。
- 支持库存状态：充足、低库存、耗尽，可由 amount 和阈值计算。

---

