核心概念:批次属性的定义、分类与存储结构

在WMS与EDI的交互中,批次属性是连接物理库存与电子数据交换的核心元数据。它决定了仓库能否精确追溯每一件货物的来源、生产周期与质量状态。本章将系统定义批次属性,梳理其分类体系,并解析其在WMS数据库中的存储结构。

1. 批次属性的定义

批次属性是指附着于同一生产或供应批次上的一组结构化特征值,用于唯一标识该批次在供应链全生命周期中的身份、来源与状态。在WMS中,批次属性通常以主批次号为索引,关联多个扩展字段。

核心作用:

  • 追溯性:从成品追溯到原料供应商与生产日期。
  • 质量控制:根据批次状态(待检、合格、冻结)控制出入库操作。
  • 合规性:满足医药、食品、化工等行业的GxP与FIFO/FEFO要求。
  • EDI校验:发货通知(ASN)中的批次信息必须与WMS批次属性精确匹配。

2. 批次属性的分类

根据生成来源与业务场景,批次属性可分为以下三类:

分类 定义 典型字段 生成时机
生产批次 由制造商在生产过程中赋予的唯一批次编号,通常按生产日期或班次生成。 生产批号、生产日期、有效期、生产线ID 完工入库时
供应商批次 由上游供应商在发货时赋予的批次号,用于标识其内部生产或采购单元。 供应商批号、供应商代码、收货日期 收货质检时
内部批次 由WMS或ERP系统在入库时自动生成的内部管理批次,用于库存周转与追溯。 内部批次号、库位、入库单号、状态 上架确认时

实践要点:在EDI发货通知中,供应商批次是校验的核心对象。WMS必须将供应商批次映射到内部批次,才能完成库存扣减与追溯链闭合。

3. 批次属性的存储结构

在WMS数据库中,批次属性通常采用主表+扩展表或宽表两种存储模式。以下为典型的关系型存储结构:

3.1 主批次表(lot_master)

CREATE TABLE lot_master (
    lot_id          INT PRIMARY KEY AUTO_INCREMENT,
    lot_number      VARCHAR(50) NOT NULL UNIQUE,       -- 内部批次号
    sku_id          INT NOT NULL,                       -- 物料ID
    supplier_lot    VARCHAR(50),                        -- 供应商批次号
    prod_lot        VARCHAR(50),                        -- 生产批次号
    prod_date       DATE,                               -- 生产日期
    exp_date        DATE,                               -- 有效期
    supplier_code   VARCHAR(20),                        -- 供应商代码
    lot_status      TINYINT DEFAULT 0,                  -- 0=待检,1=合格,2=冻结
    create_time     DATETIME DEFAULT CURRENT_TIMESTAMP,
    update_time     DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

3.2 批次扩展属性表(lot_attribute)

CREATE TABLE lot_attribute (
    attr_id         INT PRIMARY KEY AUTO_INCREMENT,
    lot_id          INT NOT NULL,                       -- 关联主批次ID
    attr_name       VARCHAR(50) NOT NULL,               -- 属性名称
    attr_value      VARCHAR(200),                       -- 属性值
    FOREIGN KEY (lot_id) REFERENCES lot_master(lot_id)
);

数据质量风险:扩展属性表虽然灵活,但容易产生属性值格式不一致(如日期格式混用、单位缺失)和空值泛滥问题。在EDI校验前,必须对扩展属性进行标准化清洗。

4. 批次属性关系图

下图展示了三类批次属性在WMS中的关联关系及其与EDI发货通知的映射路径:

批次属性分类与存储关系图 批次属性分类与WMS存储关系 生产批次 prod_lot, prod_date 供应商批次 supplier_lot, supplier_code 内部批次 lot_number, lot_status lot_master(主批次表) lot_id | lot_number | sku_id | supplier_lot | prod_lot | lot_status lot_attribute(扩展属性表) attr_id | lot_id | attr_name | attr_value EDI发货通知 ASN批次校验 说明:三类批次通过主批次表统一管理,扩展属性表支持灵活的自定义字段,最终与EDI发货通知进行逐项校验。

5. 批次属性与EDI校验的映射关系

在EDI 856(发货通知)报文中,批次属性通常出现在HL循环的LIN+MAN段组中。以下为典型映射表:

EDI字段 WMS字段 校验规则
MAN02(供应商批次号) lot_master.supplier_lot 必须存在且与WMS记录一致
LIN03(物料编码) lot_master.sku_id 必须与WMS库存物料匹配
DTM02(生产日期) lot_master.prod_date 日期格式校验,不能晚于当前日期
DTM03(有效期) lot_master.exp_date 必须晚于生产日期,且未过期
N1(供应商代码) lot_master.supplier_code 必须存在于供应商主数据中

校验优先级:供应商批次号(supplier_lot)是EDI与WMS匹配的首要键值。若匹配失败,则触发批次异常流程,需要人工介入或系统自动创建新批次。

6. 批次状态流转图

批次属性中的状态字段(lot_status)控制着库存的可操作范围。以下为典型的状态流转路径:

批次状态流转图 批次状态流转路径 待检 (0) 合格 (1) 冻结 (2) 复检通过后回退至待检

状态校验要点:EDI发货通知中的批次,其WMS状态必须为合格(1)。若为待检或冻结状态,系统应拒绝发货并生成异常告警。