职责:产品(即项目单元)与 SKU 主数据。
边界:不设品类;单据与库存只引用本模块 SKU。成员见 01-部门与员工.md product_user。
层次:产品 → SKU。
| 概念 | 字段 | 取值 |
|---|---|---|
| 采购单类型 | purchases.type |
raw 果农原料 / goods 成品或半成品 |
| SKU 形态 | skus.form |
raw / finished / semi / small_pack |
| SKU 来源 | skus.source |
self 自加工 / external 外采(原料可空) |
purchases.type=goods 对应采购成品或半成品 SKU(form 为 finished / semi / small_pack 等),不必与 form 枚举同名。
表:products
| 字段 | 说明 |
|---|---|
| id | 主键 |
| name | 产品名称 |
| project_name | 项目名称(核算/对外,可与 name 不同) |
| sort | 排序 |
| status | 启用 / 停用 |
| created_at / updated_at / deleted_at | 时间戳;软删除 |
表:skus;code 若填则 唯一。
| 字段 | 说明 |
|---|---|
| id | 主键 |
| product_id | 所属产品 |
| name | 名称(建议含规格等级箱规) |
| code | 编码,可空,唯一 |
| grade | 等级,可空 |
| spec | 单果规格,可空 |
| form | raw / finished / semi / small_pack |
| source | self / external,原料可空 |
| status | 启用 / 停用 |
| created_at / updated_at / deleted_at | 时间戳;软删除 |
库存与单据存 kg。界面斤 = kg × 2。单价落库统一元/kg。
sku_units唯一:(sku_id, unit);每 SKU 至多一个 is_base=true。
| 字段 | 说明 |
|---|---|
| id | 主键 |
| sku_id | SKU |
| unit | 如 kg / box / piece / bag |
| is_base | 是否基准(通常 kg) |
| nominal_weight_kg | 标称重量;基准为 1。不可代替实重 |
| deleted_at | 软删除,可空 |
sku_sources(可选提示)| 字段 | 说明 |
|---|---|
| sku_id | 产出 SKU |
| source_sku_id | 来源 SKU |
确认加工单时不校验本表。可作 UI 推荐;V1 可不建表。
project_name;层次产品 → SKU;无品类表。form / source 可区分核算维度需要的形态。sku_units 唯一约束;标称重量不覆盖实重。| V1 | 延后 |
|---|---|
| products / skus / sku_units | 强制维护 sku_sources |