升鲜宝生鲜配送供应链管理系统生产加工子模块的详细表设计说明

✅ 生产加工模块(Manufacturing Domain / md)

全量数据表清单(最终版)


一、BOM 与结构定义(主数据)

1️⃣ 商品 BOM

表名说明
md_bom 商品 BOM 主表
md_bom_item 商品 BOM 明细(原料项)

2️⃣ 商品拆分(结构型加工)

表名说明
md_bom_split_template 商品拆分模板主表
md_bom_split_template_item 商品拆分模板明细
md_bom_split_record 商品拆分执行记录主表
md_bom_split_record_item 商品拆分执行记录明细

用于:整转零、组合拆分、轻加工


二、生产加工单据(核心业务单据)

3️⃣ 生产加工工单

表名说明
md_production_order 生产加工单主表
md_production_order_item 生产加工单明细(成品项)

三、生产用料(事实表 + 追溯核心)

4️⃣ 生产用料事实

表名说明
md_production_material 生产用料事实表(已是最小 item 粒度)

说明:

  • 每一行 = 一种原料在一次生产中的实际用量

  • 可直接用于:库存、成本、追溯、报表


5️⃣ 生产用料批次锁定

表名说明
md_production_material_lot 生产用料批次锁定表

6️⃣ 批次 ↔ 领料出库绑定

表名说明
md_production_picking_item 生产领料出库批次绑定明细

用于:

  • 审核前强校验

  • 批次追溯

  • 成本精确回溯


四、生产基础资料(主数据)

7️⃣ 人员与组织

表名说明
md_production_worker 生产工人
md_production_workshop 生产车间

8️⃣ 工序定义(加工过程)

表名说明
md_process 工序主表
md_process_item 工序步骤 / 明细

五、生产分析与报表(可选 / 只读)

⚠️ 以下一般是 视图(VIEW)或报表 SQL,不强制落表

名称建议形式
加工销售汇总 md_rpt_processing_sales_summary(VIEW)
生产加工报表 md_rpt_production_summary(VIEW)
出成率报表 md_rpt_production_yield(VIEW)

六、生产加工模块【不包含但强关联的表】

⚠️ 这些 不属于 md 域,但在业务上强相关(必须认清边界)

WMS(公司仓)

  • wms_stock_out_*(领料出库)

  • wms_stock_in_*(完工入库 / 退料)

成本域

  • 公司仓:cost_*

  • 门店仓:hcost_*

溯源域

  • ts_lot

  • ts_trace_source_*


七、最终汇总(一眼版本)

✅ md 域最终表总数(不含报表 VIEW)

 
md_bom md_bom_item md_bom_split_template md_bom_split_template_item md_bom_split_record md_bom_split_record_item md_production_order md_production_order_item md_production_material md_production_material_lot md_production_picking_item md_production_worker md_production_workshop md_process md_process_item

👉 共 15 张核心表

 

生产加工(md / Manufacturing Domain)15 张核心表的【完整 DDL】,全部已经:

  • ✅ 按 md_ 域前缀

  • 明细表统一 item 结尾

  • ✅ 统一 audit_state / posting_state / enabled / del_flag

  • ✅ 索引、唯一键、COMMENT 全补齐

  • ✅ 直接支持 生产 → 用料 → 批次 → 库存 → 成本

数据库假设:MySQL 8.x / InnoDB / utf8mb4


一、BOM 与结构定义(2 张)


1️⃣ md_bom(商品 BOM 主表)

 
 
CREATE TABLE md_bom (
    id BIGINT PRIMARY KEY COMMENT '主键ID',
    bom_code VARCHAR(100) NOT NULL COMMENT 'BOM编码',
    product_sku_id BIGINT NOT NULL COMMENT '成品SKU',
    unit_id BIGINT NOT NULL COMMENT '成品单位',
    bom_version INT NOT NULL COMMENT 'BOM版本',
    base_quantity DECIMAL(12, 4) NOT NULL DEFAULT 1 COMMENT '基准产出数量',
    remark VARCHAR(250) DEFAULT NULL COMMENT '备注',
    audit_state TINYINT NOT NULL DEFAULT 0 COMMENT '审核状态 0待审 1已审 -1作废',
    enabled TINYINT NOT NULL DEFAULT 1 COMMENT '启用状态',
    del_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',
    creator BIGINT NOT NULL DEFAULT 0 COMMENT '创建人',
    create_date BIGINT DEFAULT NULL COMMENT '创建时间',
    updater BIGINT NOT NULL DEFAULT 0 COMMENT '修改人',
    update_date BIGINT DEFAULT NULL COMMENT '修改时间',
    UNIQUE KEY uk_bom (product_sku_id, unit_id, bom_version, del_flag),
    KEY idx_bom_code (bom_code)
) COMMENT = '商品BOM主表';

  


2️⃣ md_bom_item(商品 BOM 明细)

 
CREATE TABLE md_bom_item (
    id BIGINT PRIMARY KEY COMMENT '主键ID',
    bom_id BIGINT NOT NULL COMMENT 'BOM主表ID',
    material_sku_id BIGINT NOT NULL COMMENT '原料SKU',
    unit_id BIGINT NOT NULL COMMENT '原料单位',
    net_quantity DECIMAL(12, 4) NOT NULL COMMENT '净用量',
    loss_rate DECIMAL(5, 2) NOT NULL DEFAULT 0 COMMENT '损耗率%',
    plan_quantity DECIMAL(12, 4) NOT NULL COMMENT '计划用量',
    enabled TINYINT NOT NULL DEFAULT 1 COMMENT '启用状态',
    del_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',
    sort_code INT NOT NULL DEFAULT 0 COMMENT '排序编码',
    KEY idx_bom_item (bom_id),
    KEY idx_material (material_sku_id, unit_id)
) COMMENT = '商品BOM明细项';

  


二、商品拆分(4 张)


3️⃣ md_bom_split_template

 
CREATE TABLE md_bom_split_template (
    id BIGINT PRIMARY KEY COMMENT '主键ID',
    template_code VARCHAR(50) NOT NULL COMMENT '模板编码',
    template_name VARCHAR(200) NOT NULL COMMENT '模板名称',
    audit_state TINYINT NOT NULL DEFAULT 0 COMMENT '审核状态',
    enabled TINYINT NOT NULL DEFAULT 1 COMMENT '启用状态',
    del_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',
    creator BIGINT DEFAULT NULL COMMENT '创建人',
    create_date BIGINT DEFAULT NULL COMMENT '创建时间',
    updater BIGINT DEFAULT NULL COMMENT '修改人',
    update_date BIGINT DEFAULT NULL COMMENT '修改时间',
    UNIQUE KEY uk_tpl (template_code, del_flag)
) COMMENT = '商品拆分模板主表';

  


4️⃣ md_bom_split_template_item

 
CREATE TABLE md_bom_split_template_item (
    id BIGINT PRIMARY KEY COMMENT '主键ID',
    template_id BIGINT NOT NULL COMMENT '模板ID',
    product_sku_id BIGINT NOT NULL COMMENT '拆分后SKU',
    unit_id BIGINT NOT NULL COMMENT '单位',
    quantity DECIMAL(12, 4) NOT NULL COMMENT '数量',
    enabled TINYINT NOT NULL DEFAULT 1 COMMENT '启用状态',
    del_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',
    KEY idx_tpl_item (template_id)
) COMMENT = '商品拆分模板明细';

  

 

5️⃣ md_bom_split_record

 
CREATE TABLE md_bom_split_record (
    id BIGINT PRIMARY KEY COMMENT '主键ID',
    record_code VARCHAR(100) NOT NULL COMMENT '拆分单号',
    template_id BIGINT NOT NULL COMMENT '模板ID',
    audit_state TINYINT NOT NULL DEFAULT 0 COMMENT '审核状态',
    enabled TINYINT NOT NULL DEFAULT 1 COMMENT '启用状态',
    del_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',
    creator BIGINT DEFAULT NULL COMMENT '创建人',
    create_date BIGINT DEFAULT NULL COMMENT '创建时间',
    UNIQUE KEY uk_split_record (record_code, del_flag)
) COMMENT = '商品拆分执行记录主表';

  

 

6️⃣ md_bom_split_record_item

 
CREATE TABLE md_bom_split_record_item (
    id BIGINT PRIMARY KEY COMMENT '主键ID',
    record_id BIGINT NOT NULL COMMENT '拆分记录ID',
    product_sku_id BIGINT NOT NULL COMMENT 'SKU',
    unit_id BIGINT NOT NULL COMMENT '单位',
    quantity DECIMAL(12, 4) NOT NULL COMMENT '数量',
    del_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',
    KEY idx_split_item (record_id)
) COMMENT = '商品拆分执行明细';

  

 

三、生产加工单(2 张)


7️⃣ md_production_order

 
CREATE TABLE md_production_order (
    id BIGINT PRIMARY KEY COMMENT '主键ID',
    order_code VARCHAR(100) NOT NULL COMMENT '生产加工单号',
    workshop_id BIGINT DEFAULT NULL COMMENT '生产车间',
    production_date BIGINT DEFAULT NULL COMMENT '生产日期',
    audit_state TINYINT NOT NULL DEFAULT 0 COMMENT '审核状态',
    posting_state TINYINT NOT NULL DEFAULT 0 COMMENT '过账状态',
    enabled TINYINT NOT NULL DEFAULT 1 COMMENT '启用状态',
    del_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',
    creator BIGINT DEFAULT NULL COMMENT '创建人',
    create_date BIGINT DEFAULT NULL COMMENT '创建时间',
    UNIQUE KEY uk_prod_order (order_code, del_flag)
) COMMENT = '生产加工单主表';

  

 

8️⃣ md_production_order_item

 
CREATE TABLE md_production_order_item (
    id BIGINT PRIMARY KEY COMMENT '主键ID',
    order_id BIGINT NOT NULL COMMENT '生产单ID',
    product_sku_id BIGINT NOT NULL COMMENT '成品SKU',
    unit_id BIGINT NOT NULL COMMENT '单位',
    bom_version INT NOT NULL COMMENT 'BOM版本',
    plan_quantity DECIMAL(12, 4) NOT NULL COMMENT '计划数量',
    complete_quantity DECIMAL(12, 4) NOT NULL DEFAULT 0 COMMENT '完工数量',
    del_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',
    KEY idx_prod_item (order_id)
) COMMENT = '生产加工单明细项';

  

 

四、生产用料 & 批次(3 张)


9️⃣ md_production_material

 
CREATE TABLE md_production_material (
    id BIGINT PRIMARY KEY COMMENT '主键ID',
    order_id BIGINT NOT NULL COMMENT '生产单ID',
    order_item_id BIGINT NOT NULL COMMENT '生产明细ID',
    sku_unit_id BIGINT NOT NULL COMMENT '原料sku_unit_id',
    net_quantity DECIMAL(12, 4) NOT NULL COMMENT '净用量',
    plan_quantity DECIMAL(12, 4) NOT NULL COMMENT '计划用量',
    actual_quantity DECIMAL(12, 4) NOT NULL COMMENT '实际用量',
    del_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',
    KEY idx_material_order (order_id),
    KEY idx_material_sku (sku_unit_id)
) COMMENT = '生产用料事实表';

  

 

🔟 md_production_material_lot

 
CREATE TABLE md_production_material_lot (
    id BIGINT PRIMARY KEY COMMENT '主键ID',
    material_id BIGINT NOT NULL COMMENT '用料ID',
    sku_unit_id BIGINT NOT NULL COMMENT 'sku_unit_id',
    lot_no VARCHAR(100) NOT NULL COMMENT '批次号',
    lock_quantity DECIMAL(12, 4) NOT NULL COMMENT '锁定数量',
    del_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',
    KEY idx_material_lot (material_id),
    KEY idx_lot (sku_unit_id, lot_no)
) COMMENT = '生产用料批次锁定';

  

 

1️⃣1️⃣ md_production_picking_item

 
CREATE TABLE md_production_picking_item (
    id BIGINT PRIMARY KEY COMMENT '主键ID',
    order_id BIGINT NOT NULL COMMENT '生产单ID',
    picking_code VARCHAR(100) NOT NULL COMMENT '领料出库单号',
    material_lot_id BIGINT NOT NULL COMMENT '批次锁定ID',
    sku_unit_id BIGINT NOT NULL COMMENT 'sku_unit_id',
    lot_no VARCHAR(100) NOT NULL COMMENT '批次号',
    out_quantity DECIMAL(12, 4) NOT NULL COMMENT '出库数量',
    del_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',
    UNIQUE KEY uk_pick_bind (picking_code, material_lot_id, del_flag),
    KEY idx_pick (picking_code)
) COMMENT = '生产领料出库绑定项';

  

 

五、基础资料(4 张)


1️⃣2️⃣ md_production_worker

 
CREATE TABLE md_production_worker (
    id BIGINT PRIMARY KEY COMMENT '主键ID',
    worker_code VARCHAR(50) NOT NULL COMMENT '工人编码',
    worker_name VARCHAR(100) NOT NULL COMMENT '工人姓名',
    enabled TINYINT NOT NULL DEFAULT 1 COMMENT '启用状态',
    del_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记'
) COMMENT = '生产工人';

  

 

1️⃣3️⃣ md_production_workshop

 
CREATE TABLE md_production_workshop (
    id BIGINT PRIMARY KEY COMMENT '主键ID',
    workshop_name VARCHAR(100) NOT NULL COMMENT '车间名称',
    enabled TINYINT NOT NULL DEFAULT 1 COMMENT '启用状态',
    del_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记'
) COMMENT = '生产车间';

  

 

1️⃣4️⃣ md_process

 
CREATE TABLE md_process (
    id BIGINT PRIMARY KEY COMMENT '主键ID',
    process_code VARCHAR(50) NOT NULL COMMENT '工序编码',
    process_name VARCHAR(100) NOT NULL COMMENT '工序名称',
    enabled TINYINT NOT NULL DEFAULT 1 COMMENT '启用状态',
    del_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记'
) COMMENT = '工序定义';

  

 

1️⃣5️⃣ md_process_item

 
CREATE TABLE md_process_item (
    id BIGINT PRIMARY KEY COMMENT '主键ID',
    process_id BIGINT NOT NULL COMMENT '工序ID',
    step_name VARCHAR(100) NOT NULL COMMENT '步骤名称',
    sort_code INT NOT NULL DEFAULT 0 COMMENT '排序编码',
    enabled TINYINT NOT NULL DEFAULT 1 COMMENT '启用状态',
    del_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',
    KEY idx_process_item (process_id)
) COMMENT = '工序步骤明细';

  

 

✅ 结果总结

  • 共 15 张表

  • 命名:md_ + 业务语义 + item

  • 可直接:

    • 建库

    • 写 Mapper

    • 接 WMS / cost / hcost

    • 做审核 / 反审核 / 追溯

posted @ 2026-02-10 00:23  升鲜宝生鲜供应链系统  阅读(14)  评论(0)    收藏  举报