1.9 KiB
1.9 KiB
04 Germplasm / Seed - seed_lot_transaction 表录入说明
来源:docs/architecture/04-germplasm-seed-data-flow.md
录入目标
seed_lot_transaction 记录 seed lot 之间的库存流转,例如入库、出库、转移、分装、合并或消耗。它表达 from seed lot 到 to seed lot 的数量变化。
上下游关系
| 类型 | 内容 |
|---|---|
| 表 | seed_lot_transaction |
| Java 实体 | SeedLotTransactionEntity |
| 前置依赖 | from_seed_lot、to_seed_lot |
| 下游引用 | 库存追踪、库存数量更新 |
| API | /brapi/v2/seedlots/transactions、/brapi/v2/seedlots/{seedLotDbId}/transactions |
字段录入
| 字段 | 业务意义 | 录入方式 | 校验规则 |
|---|---|---|---|
id |
transaction 主键 | 系统生成;导入可指定 | 必填、唯一 |
auth_user_id |
数据所属用户 | 登录上下文自动写入 | 不允许前端手填 |
from_seed_lot_id |
来源 seed lot | SeedLot 选择器 | 入库场景可为空,若填需存在 |
to_seed_lot_id |
目标 seed lot | SeedLot 选择器 | 出库/消耗场景可为空,若填需存在 |
amount |
流转数量 | 数字输入 | 必填,正数 |
units |
数量单位 | 下拉/文本 | 必填,应与批次单位一致或可换算 |
timestamp |
流转时间 | 日期时间选择器 | 默认当前时间 |
description |
流转说明 | 多行文本 | 可选 |
页面与交互
- 在 SeedLot 详情页 Transactions Tab 展示相关流转。
- 新增交易后应更新 from/to seed lot 的 amount 和 last_updated。
- 支持按时间、from/to seed lot、program、location 查询。
关键校验
from_seed_lot_id和to_seed_lot_id至少填写一个。from_seed_lot_id不能等于to_seed_lot_id。- 出库或转移时,来源批次数量不能被扣成负数。
- transaction 是业务动作痕迹,原则上不允许随意物理删除。