从0到1构建MES系统18-基础数据

144 阅读9分钟

一、概述

前面的文章讲的是整个系统的基础框架构建,相当于整个骨架,之后的文章讲得是系统的整个业务功能,相当于系统的血肉。 首先我们先讲一下支持业务系统的基础数据,其实每个模块都有他自己的基础数,为了和模块与模块之间的解耦,我把整个系统通用的基础数据抽取出来作为一个单独的模块。

二、功能讲解

在 MES 系统中,基础模块 是所有生产、库存、质量等业务流程的核心数据支撑。一个合理、完整的基础模块不仅影响系统稳定性,更决定后续业务的可扩展性和数据的准确性。本文结合实际项目经验,详细介绍基础模块的主要功能及关键字段设计。

基础数据模块主要包含下面几个功能:

  • 物料信息
  • 单位管理
  • 物料类型
  • 系列管理
  • BOM管理
  • 客户管理
  • 供应商管理

下面我会对每个功能进行详细的讲解:

2.1. 物料信息

功能与作用
物料信息是整个 MES 的核心数据源,用于统一管理企业所有的生产、采购、销售、库存等相关物料。无论是原材料、半成品还是成品,都需要在此模块建立唯一编码和属性。

Pasted image 20250918105417.png

Pasted image 20250918105434.png

关键字段说明

字段名数据类型允许空置主键注释
idbigint
material_codevarchar(255)全局唯一编码,建议采用规则化编码,如类别+序列号
material_namevarchar(255)物料名称
specvarchar(255)规格、型号、尺寸信息
series_idbigint系列ID,关联系列表
unit_idbigint单位ID,关联单位表
type_idbigint类型ID,关联类型表
statustinyint状态,1有效0无效
safe_stock_flagtinyint是否设置安全库存
min_stockdouble(12, 4)最低库存量
max_stockdouble(12, 4)最大库存量
descriptionvarchar(255)描述
create_bybigint
create_timedatetime
update_bybigint
update_timedatetime

扩展字段 根据不同的业务场景还可以扩展更多字段:

字段说明
批次规则物料根据什么规则管控,字典:批次管控、序列号管控、数量管控
条码规则物料编码自动生成规则,这里选择的是定义的编码规则
标签模板使用标签打印的时候,通过定义的标签模板,自动识别打印
是否虚拟件非实物物料,可以定义为虚拟件
ABC分类如果管控严格,可以根据物料的贵重定义ABC类,字典:A类、B类、C类
保质期部分原材料是有使用期限的,可以设置物料的保质期,通过仓库监控过了保质期会预警通知
是否免检启用免检,物料会自动跳过质检过程,例如来料检不会生成检验单据

根据不同行业属性,可以扩展的字段,这里以电子行业为例:

字段说明
启用锡膏锡膏类物料,需要启用锡膏管控
回温时间锡膏的回温时间
开封寿命锡膏开封之后的保质期
可回温次数锡膏开封后可以回温的次数
启用PCB启用PCB物料管控
是否阴阳板PCB板是否阴阳板
拼版数PCB板的

备注 如果扩展的字段过多,可以在编辑页面中使用Tab标签把不同种类的字段进行分组。

2.2. 单位管理(Unit Management)

功能与作用
为确保不同物料在采购、生产、库存时计量一致,需要统一的单位管理。它定义了各种计量单位及其换算规则,如件、米、千克等。

Pasted image 20250918111619.png

Pasted image 20250918111632.png

关键字段说明

字典名数据类型允许空置主键注释
idbigint
unit_codevarchar(128)单位编码
unit_namevarchar(128)单位名称
primary_flagtinyint是否主单位
change_ratedouble(12, 4)与主单位换算
statustinyint状态
descriptionvarchar(255)描述
create_bybigint
create_timedatetime
update_bybigint
update_timedatetime

设计要点:同一物料可能存在多种计量单位,例如采购用“千克”,生产用“克”,需要支持单位换算。

2.3. 物料类型(Material Category)

功能与作用
物料类型用于对物料进行分类管理,不同类型可绑定不同业务逻辑,如采购策略、库存管理方式、质检要求等。

物料类型为树形结构

Pasted image 20250918112520.png

Pasted image 20250918112719.png

关键字段说明

字段名数据类型允许空值主键注释
idbigint
type_codevarchar(128)类型编码
type_namevarchar(255)类型名称
parent_idbigint父类型ID
pathvarchar(255)层级路径
order_numint排列顺序
statusint状态,是否有效
descriptionvarchar(255)描述
create_bybigint
create_timedatetime
update_bybigint
update_timedatetime

2.4. 系列管理(Series Management)

功能与作用
系列管理是指对同一系列或同一族群的物料进行归类,如“2025 年新品系列”或“某一产品家族”。常用于产品的批量管理、营销及生命周期控制。

Pasted image 20250918112821.png

Pasted image 20250918112833.png

关键字段说明

字段名数据类型允许空值主键注释
idbigint
namevarchar(128)系列
remarkvarchar(255)描述
create_bybigint
create_timedatetime
update_bybigint
update_timedatetime

2.5. BOM 管理(Bill of Materials)

功能与作用
BOM(物料清单)是生产的核心数据,定义了一个成品所需的所有原料、半成品及其数量、替代料等。MES 通过 BOM 实现生产计划与物料需求的精准匹配。

Pasted image 20250918113149.png

Pasted image 20250918113201.png

在生产过程中,如果存在多个BOM版本,则会优先使用默认版本,同一个物料只能有一个默认版本。 在mes系统中使用的是生产BOM,只有一层BOM结构不同于ERP中的多级BOM。

关键字段说明

产品BOM主表

字段名数据类型允许空置主键注释
idbigint流水号
material_idbigint物料产品ID
material_codevarchar(128)产品编码
material_namevarchar(128)产品名称
statuschar是否启用
versionvarchar(32)版本号
is_defaultchar是否默认版本
effective_datedate生效日期
remarkvarchar(500)备注
create_bybigint创建者
create_timedatetime创建时间
update_bybigint更新者
update_timedatetime更新时间
产品BOM子表
字段名数据类型允许空值主键注释
idbigint流水号
bom_idbigint物料产品ID
material_idbigint物料ID
qtydecimal(10, 4)数量
loss_ratedecimal(5, 2)损耗率(%)
create_bybigint创建者
create_timedatetime创建时间
update_bybigint更新者
update_timedatetime更新时间

备注: 支持多版本管理,以便追溯历史生产。

2.6. 客户管理(Customer Management)

功能与作用
客户信息是企业销售、售后及客户关系维护的基础。MES 通过客户管理,支持订单、出货及客户质量反馈的全流程。

Pasted image 20250918113919.png

Pasted image 20250918113939.png

关键字段说明

字段名数据类型允许空置主键注释
idbigint客户ID
client_codevarchar(64)客户编码
client_namevarchar(255)客户名称
client_nickvarchar(255)客户简称
client_envarchar(255)客户英文名称
client_desvarchar(500)客户简介
client_typevarchar(64)客户类型
addressvarchar(500)客户地址
websitevarchar(255)客户官网地址
emailvarchar(255)客户邮箱地址
telvarchar(64)客户电话
contactvarchar(64)联系人
contact_telvarchar(64)联系人-电话
contact_emailvarchar(255)联系人-邮箱
credit_codevarchar(64)统一社会信用代码
statuschar是否启用
remarkvarchar(500)备注
create_bybigint创建者
create_timedatetime创建时间
update_bybigint更新者
update_timedatetime更新时间

备注:

  1. 一般客户信息都是从ERP系统或销售系统数据同步过来,需要根据具体情况添加字段。
  2. 客户管理可以再扩展一个功能,在编辑页面中添加客户对应的成品信息和对应的客户成品编码。在实际的项目当中,会出现打印的标签中,物料编码为客户的物料编码。

2.7. 供应商管理(Supplier Management)

功能与作用
供应商是企业采购环节的关键数据。该模块用于记录供应商基本信息、资质、付款条件等,为采购和质量管理提供基础。

Pasted image 20250918115100.png

Pasted image 20250918115113.png

关键字段说明

字段名数据类型允许空值主键注释
idbigint供应商ID
supplier_codevarchar(64)供应商编码
supplier_namevarchar(255)供应商名称
supplier_nickvarchar(255)供应商简称
supplier_envarchar(255)供应商英文名称
supplier_desvarchar(500)供应商简介
supplier_levelvarchar(64)供应商等级
supplier_scoreint供应商评分
addressvarchar(500)供应商地址
websitevarchar(255)供应商官网地址
emailvarchar(255)供应商邮箱地址
telvarchar(64)供应商电话
contactvarchar(64)联系人
contact_telvarchar(64)联系人-电话
contact_emailvarchar(255)联系人-邮箱
credit_codevarchar(64)统一社会信用代码
statuschar是否启用
remarkvarchar(500)备注
create_bybigint创建者
create_timedatetime创建时间
update_bybigint更新者
update_timedatetime更新时间

备注:

  1. 一般供应商信息都是从ERP系统或采购系统数据同步过来,需要根据具体情况添加字段。
  2. 扩展功能,可以添加供应商对应的物料信息。

三、结语

基础模块是 MES 的“地基”,任何后续的生产计划、库存管理、质量追溯都离不开这些数据的准确与完整。
在实际实施中,建议在系统上线前完成严格的数据清洗和编码规范制定,避免后续因数据不统一带来的维护成本。

通过以上设计,企业可以在统一的数据标准下实现跨部门协作,真正发挥 MES 系统的价值。

本文源码已上传Gitee 开源项目地址

欢迎在评论区分享你的技术选型经验,或对本文方案的改进建议!

关注公众号「慧工云创」

扫码_搜索联合传播样式-标准色版.png