产品

职责:产品(即项目/可采存售货品)、等级字典。
边界:不设品类、不设 SKU;单据与库存直接引用 products。库存/单据行可保留 unit 列但业务固定写空串,不再维护单位字典。grade 存等级名称,不外键。成员见 01-部门与员工.md product_users。
层次:等级字典 grades → 产品;单据行选产品,等级可选。

词表(与采购对齐)

概念 字段 取值
采购单类型 purchases.type raw 果农原料 / goods 成品或半成品

等级、规格、包装等作为结存行属性,进结存唯一键(同产品可多堆)。P0 仓内加工不改 product_id,只改行属性并分堆(见 04 / 07)。

重量

  • 存储与录入:列名仍为 weight_kg,语义为斤。
  • 展示:< 1 两(1 斤 = 10 两);> 1000 吨(1 吨 = 2000 斤);否则斤。
  • 表单输入一律按斤。

产品

表:products

字段 说明
id 主键
name 产品名称
code 编码,唯一
project_name 项目名称(核算/对外,可与 name 不同)
sort 排序
status 启用 / 停用
created_at / updated_at / deleted_at 时间戳;软删除

采销:采购头表必填 product_id;采购明细用规格名/等级/包装描述行,不存产品外键。销售头表必填同一产品;明细用规格/等级/包装区分(不另建 SKU),并另存 product_name 快照(见 06)。

等级字典 grades

后台「主数据 → 等级」。权限走 Filament Shield(ViewAny:Grade 等)。供采销加工与库存行属性选用。

字段 说明
id 主键
name 等级名称,唯一(如 A / B / C)
standard 等级标准,可空
sort 排序
status 启用 / 停用
created_at / updated_at / deleted_at 时间戳;软删除

无 code 列。 单据/结存行从启用等级下拉选 name 写入行上 grade(可空)。

维护方式

  1. 维护等级字典(种子含 A–E,可改标准与增删)。
  2. 建产品(名称、编码、项目名、状态);可挂成员。
  3. 采销/库存单据选产品;等级可选;重量按斤录入。

验收标准

  • [ ] 产品含 code(唯一)、project_name;无品类、无 SKU / 规格维度表。
  • [ ] 单据与结存引用 product_id(采购、销售都挂头表;明细用规格/等级/包装,不另建 SKU)。
  • [ ] 无单位字典后台;unit 列可留,写入固定空串。
  • [ ] grades 字典 + 种子 + Filament;单据 grade 存等级名称。
  • [ ] 重量按斤存/录,列表按两/斤/吨展示。

P0 / 延后

P0 延后
products + grades + 成员;重量按斤 品类树、跨产品共享属性