编辑 | blame | 历史 | 原始文档

MDM 物料主数据模块改造 - 前端变更文档

概述

本次改造将 ERP、MES、WMS 三个模块的物料/产品数据统一到 MDM(主数据管理)模块,消除数据孤岛。

模块变更

1. MDM 模块(新增)

新增 MDM 物料主数据管理模块,包含以下页面:

页面 路径 说明
物料管理 /mdm/item 物料主数据管理
物料分类 /mdm/category 物料分类管理
计量单位 /mdm/unit 计量单位管理
品牌管理 /mdm/brand 品牌管理
仓库管理 /mdm/warehouse 仓库主数据管理

2. ERP 模块

ERP 产品数据来源于 MDM,变更如下:

原页面 变化
/erp/product 产品数据从 MDM 获取,页面保留但数据源变更

3. MES 模块

MES 物料数据来源于 MDM,变更如下:

原页面 变化
/mes/md/item 物料数据从 MDM 获取,页面保留但数据源变更

4. WMS 模块

WMS 商品和 SKU 数据来源于 MDM,变更如下:

原页面 变化
/wms/item 商品数据从 MDM 获取,页面保留但数据源变更
/wms/item-sku SKU 数据从 MDM 获取,页面保留但数据源变更

API 变更说明

MDM 物料 API

方法 路径 说明
POST /mdm/item/create 创建物料
PUT /mdm/item/update 更新物料
PUT /mdm/item/update-status 更新物料状态
DELETE /mdm/item/delete 删除物料(实际为禁用)
GET /mdm/item/get 获取物料
GET /mdm/item/page 获取物料分页
GET /mdm/item/list-by-ids 获取物料列表

请求参数(创建):

参数 类型 必填 说明
code String 物料编码
name String 物料名称
barCode String 物料条码
specification String 规格型号
categoryId Long 物料分类编号
unitMeasureId Long 计量单位编号
brandId Long 品牌编号
itemType Integer 物料类型(1:物料, 2:产品, 3:半成品)
status Integer 状态(0:启用, 1:禁用)
purchasePrice BigDecimal 采购价格
salesPrice BigDecimal 销售价格
costPrice BigDecimal 成本价格
safetyStock BigDecimal 安全库存
expiryDays Integer 保质期天数
isBatchManaged Boolean 是否批次管理
remark String 备注

响应:

{
  "code": 0,
  "data": 1,
  "msg": "操作成功"
}

MDM 物料分类 API

方法 路径 说明
POST /mdm/category/create 创建分类
PUT /mdm/category/update 更新分类
DELETE /mdm/category/delete 删除分类
GET /mdm/category/get 获取分类
GET /mdm/category/list 获取分类列表
GET /mdm/category/list-all-simple 获取启用的分类列表

MDM 计量单位 API

方法 路径 说明
POST /mdm/unit/create 创建单位
PUT /mdm/unit/update 更新单位
DELETE /mdm/unit/delete 删除单位
GET /mdm/unit/get 获取单位
GET /mdm/unit/page 获取单位分页
GET /mdm/unit/list-by-ids 获取单位列表

MDM 品牌 API

方法 路径 说明
POST /mdm/brand/create 创建品牌
PUT /mdm/brand/update 更新品牌
DELETE /mdm/brand/delete 删除品牌
GET /mdm/brand/get 获取品牌
GET /mdm/brand/page 获取品牌分页
GET /mdm/brand/list-by-ids 获取品牌列表

MDM 仓库 API

方法 路径 说明
POST /mdm/warehouse/create 创建仓库
PUT /mdm/warehouse/update 更新仓库
PUT /mdm/warehouse/update-status 更新仓库状态
DELETE /mdm/warehouse/delete 删除仓库
GET /mdm/warehouse/get 获取仓库
GET /mdm/warehouse/page 获取仓库分页
GET /mdm/warehouse/list-by-ids 获取仓库列表

前端修改点

1. ERP 产品页面

ERP 产品页面改为从 MDM 获取数据,前端需要修改:

API 调用变更:

// 原调用 ERP 产品 API
import { getProductPage, getProduct } from '@/api/erp/product'

// 改为调用 MDM 物料 API(itemType=2 产品)
import { getItemPage, getItem } from '@/api/mdm/item'

// 查询时需要传入 itemType=2(产品类型)
getItemPage({ itemType: 2, pageNo: 1, pageSize: 10 })

字段映射:

ERP 字段 MDM 字段 说明
id id 编号
barCode code 编码(原条码改为编码)
name name 名称
spec specification 规格型号
categoryId categoryId 分类编号
unitId unitMeasureId 单位编号
brandId brandId 品牌编号
status status 状态
purchasePrice purchasePrice 采购价格
salePrice salesPrice 销售价格
minPrice costPrice 最低价格改为成本价

2. MES 物料页面

MES 物料页面改为从 MDM 获取数据:

API 调用变更:

// 原调用 MES 物料 API
import { getItemPage, getItem } from '@/api/mes/md/item'

// 改为调用 MDM 物料 API(itemType=1 物料)
import { getItemPage, getItem } from '@/api/mdm/item'

// 查询时需要传入 itemType=1(物料类型)
getItemPage({ itemType: 1, pageNo: 1, pageSize: 10 })

MES 特有功能保留:
- 批次属性配置:仍由 MES 模块管理
- BOM 配置:仍由 MES 模块管理
- SOP/SIP 配置:仍由 MES 模块管理

3. WMS 商品/SKU 页面

WMS 商品和 SKU 页面改为从 MDM 获取数据:

API 调用变更:

// 原调用 WMS 商品 API
import { getItemPage, getItem } from '@/api/wms/item'

// 改为调用 MDM 物料 API
import { getItemPage, getItem } from '@/api/mdm/item'

// SKU 数据
import { getItemSkuList } from '@/api/mdm/item-sku'

注意事项

  1. 物料类型区分
  • itemType=1:物料(MES 使用)
  • itemType=2:产品(ERP 使用)
  • itemType=3:半成品
  1. 删除操作:MDM 物料删除实际为禁用操作,不做物理删除

  2. SKU 模式:所有物料必须配置 SKU,ERP/MES 数据迁移时自动创建默认 SKU

  3. 向后兼容:原模块的 API 接口保留,内部调用 MDM API


数据库表

表名 说明
mdm_item 物料主数据表
mdm_item_sku 物料 SKU 表
mdm_item_category 物料分类表
mdm_unit_measure 计量单位表
mdm_brand 品牌表
mdm_warehouse 仓库表
mdm_item_batch_config 批次属性配置表