| | |
| | | |
| | | ### 1.1 项目简介 |
| | | |
| | | 芋道 ruoyi-vue-pro 是一套全部开源的企业级快速开发平台,基于 Spring Boot 4.0 + Vue 3 构建,包含系统管理、工作流、CRM、ERP、MES、WMS 等多个业务模块。 |
| | | 芋道 ruoyi-vue-pro 是一套全部开源的企业级快速开发平台,基于 Spring Boot 4.0 + Vue 3 构建,包含系统管理、工作流、CRM、ERP、MES、WMS、MDM 等多个业务模块。 |
| | | |
| | | ### 1.2 已解锁模块 |
| | | |
| | |
| | | | yudao-module-infra | 基础设施(代码生成、文件、定时任务等) | 11 | |
| | | | yudao-module-bpm | 工作流引擎 | 8 | |
| | | | yudao-module-crm | 客户关系管理 | 19 | |
| | | | yudao-module-mdm | 主数据管理(统一物料、分类、单位等) | 6 | |
| | | | yudao-module-erp | 企业资源计划 | 33 | |
| | | | yudao-module-mes | 制造执行系统 | 71 | |
| | | | yudao-module-wms | 仓库管理系统 | 16 | |
| | | | yudao-module-wms | 仓库管理系统 | 18 | |
| | | |
| | | ### 1.3 模块集成架构(核心改造) |
| | | |
| | | 本项目已实现 **MDM 主数据管理** 模块,打通 ERP、MES、WMS 三个业务模块的数据孤岛: |
| | | |
| | | ``` |
| | | ┌─────────────────────────────────────┐ |
| | | │ MDM 主数据管理模块 │ |
| | | │ (物料、SKU、分类、单位、品牌) │ |
| | | └──────────────┬──────────────────────┘ |
| | | │ |
| | | ┌──────────────────┼──────────────────┐ |
| | | │ │ │ |
| | | ▼ ▼ ▼ |
| | | ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ |
| | | │ ERP 模块 │ │ WMS 模块 │ │ MES 模块 │ |
| | | │ 产品 = 成品 │ │ 商品 = 物料 │ │ 物料 = 原料 │ |
| | | │ itemType=2 │ │ itemType=1 │ │ itemType=1 │ |
| | | └───────┬───────┘ └───────┬───────┘ └───────┬───────┘ |
| | | │ │ │ |
| | | └──────────────────┼──────────────────┘ |
| | | │ |
| | | ┌─────────────▼─────────────┐ |
| | | │ WMS 库存管理 API │ |
| | | │ (统一库存入库/出库/查询) │ |
| | | └───────────────────────────┘ |
| | | ``` |
| | | |
| | | **数据统一说明:** |
| | | |
| | | | 业务模块 | 原数据表 | 现数据源 | 物料类型映射 | |
| | | |----------|----------|----------|--------------| |
| | | | ERP | erp_product | MDM Item | itemType=2(成品) | |
| | | | WMS | wms_item + wms_item_sku | MDM Item + SKU | itemType=1(物料) | |
| | | | MES | mes_md_item | MDM Item | itemType=1(物料) | |
| | | |
| | | --- |
| | | |
| | |
| | | |
| | | --- |
| | | |
| | | ## 三、功能模块工作流程 |
| | | ## 三、主数据管理模块 (MDM) |
| | | |
| | | ### 3.1 系统管理模块 (System) |
| | | ### 3.1 MDM 模块概述 |
| | | |
| | | #### 3.1.1 用户管理流程 |
| | | MDM(Master Data Management)主数据管理模块是整个系统的数据核心,负责统一管理: |
| | | |
| | | - **物料主数据** - 产品、物料、半成品的统一档案 |
| | | - **物料 SKU** - 物料的规格变体(尺寸、颜色等) |
| | | - **物料分类** - 物料的分类体系 |
| | | - **计量单位** - 统一的计量单位管理 |
| | | - **品牌管理** - 品牌档案管理 |
| | | |
| | | ### 3.2 物料类型说明 |
| | | |
| | | ``` |
| | | ┌─────────────────────────────────────────────────────────────────┐ |
| | | │ MDM 物料类型 (itemType) │ |
| | | ├─────────────────────────────────────────────────────────────────┤ |
| | | │ 1 - 物料/原料 → 用于 WMS 商品、MES 物料 │ |
| | | │ 2 - 成品/产品 → 用于 ERP 产品 │ |
| | | │ 3 - 半成品 → 用于 MES 生产中间件 │ |
| | | │ 4 - 辅料 → 用于生产辅助材料 │ |
| | | └─────────────────────────────────────────────────────────────────┘ |
| | | ``` |
| | | |
| | | ### 3.3 物料管理流程 |
| | | |
| | | ``` |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | | │ 创建物料 │ -> │ 设置分类 │ -> │ 配置 SKU │ -> │ 启用物料 │ |
| | | │ 基本信息 │ │ 单位品牌 │ │ 规格价格 │ │ │ |
| | | └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ |
| | | │ │ │ |
| | | v v v |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | | │ 编码生成 │ │ 分类关联 │ │ 多规格支持 │ |
| | | │ 条码管理 │ │ 单位换算 │ │ 价格体系 │ |
| | | └─────────────┘ └─────────────┘ └─────────────┘ |
| | | ``` |
| | | |
| | | **操作步骤:** |
| | | |
| | | 1. 进入【MDM】->【物料管理】 |
| | | 2. 点击【新增】,填写物料基本信息 |
| | | - 物料编码(唯一) |
| | | - 物料名称 |
| | | - 物料条码 |
| | | - 规格型号 |
| | | 3. 选择物料分类、计量单位、品牌 |
| | | 4. 设置物料类型(物料/成品/半成品) |
| | | 5. 配置价格(采购价、销售价、成本价) |
| | | 6. 保存后,可添加 SKU 规格 |
| | | |
| | | **涉及表:** |
| | | - `mdm_item` - 物料主表 |
| | | - `mdm_item_sku` - 物料 SKU 表 |
| | | - `mdm_item_category` - 物料分类表 |
| | | - `mdm_unit_measure` - 计量单位表 |
| | | - `mdm_brand` - 品牌表 |
| | | |
| | | ### 3.4 SKU 管理说明 |
| | | |
| | | ``` |
| | | ┌─────────────────────────────────────────────────────────────┐ |
| | | │ 物料 (Item) │ |
| | | │ id: 1001 code: ITEM001 name: T恤 │ |
| | | ├─────────────────────────────────────────────────────────────┤ |
| | | │ SKU 列表 │ |
| | | ├─────────────────┬─────────────────┬─────────────────────────┤ |
| | | │ SKU-001 │ SKU-002 │ SKU-003 │ |
| | | │ 红色 / L │ 蓝色 / M │ 黑色 / XL │ |
| | | │ 条码: 001REDL │ 条码: 001BLUEM │ 条码: 001BLACKXL │ |
| | | │ 销售价: 99 │ 销售价: 99 │ 销售价: 109 │ |
| | | └─────────────────┴─────────────────┴─────────────────────────┘ |
| | | ``` |
| | | |
| | | **SKU 字段:** |
| | | - SKU 编码、SKU 名称、SKU 条码 |
| | | - 尺寸(长/宽/高) |
| | | - 重量(毛重/净重) |
| | | - 价格(成本价/销售价) |
| | | |
| | | --- |
| | | |
| | | ## 四、功能模块工作流程 |
| | | |
| | | ### 4.1 系统管理模块 (System) |
| | | |
| | | #### 4.1.1 用户管理流程 |
| | | |
| | | ``` |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | |
| | | - `system_user_role` - 用户角色关联表 |
| | | - `system_user_post` - 用户岗位关联表 |
| | | |
| | | #### 3.1.2 角色权限配置流程 |
| | | #### 4.1.2 角色权限配置流程 |
| | | |
| | | ``` |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | |
| | | |
| | | --- |
| | | |
| | | ### 3.2 工作流模块 (BPM) |
| | | ### 4.2 工作流模块 (BPM) |
| | | |
| | | #### 3.2.1 流程设计流程 |
| | | #### 4.2.1 流程设计流程 |
| | | |
| | | ``` |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | |
| | | - `bpm_form` - 表单定义表 |
| | | - `bpm_process_definition_info` - 流程定义扩展表 |
| | | |
| | | #### 3.2.2 流程审批流程 |
| | | #### 4.2.2 流程审批流程 |
| | | |
| | | ``` |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | |
| | | |
| | | --- |
| | | |
| | | ### 3.3 客户关系管理模块 (CRM) |
| | | ### 4.3 客户关系管理模块 (CRM) |
| | | |
| | | #### 3.3.1 线索转客户流程 |
| | | #### 4.3.1 线索转客户流程 |
| | | |
| | | ``` |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | |
| | | - `crm_follow_up_record` - 跟进记录表 |
| | | - `crm_permission` - 数据权限表 |
| | | |
| | | #### 3.3.2 商机销售流程 |
| | | |
| | | ``` |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | | │ 创建商机 │ -> │ 关联产品 │ -> │ 阶段推进 │ -> │ 生成合同 │ |
| | | └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ |
| | | │ │ │ |
| | | v v v |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | | │ 商机阶段 │ │ 产品报价 │ │ 赢单/输单 │ |
| | | │ 管理 │ │ │ │ │ |
| | | └─────────────┘ └─────────────┘ └─────────────┘ |
| | | ``` |
| | | |
| | | **涉及表:** |
| | | - `crm_business` - 商机表 |
| | | - `crm_business_product` - 商机产品关联表 |
| | | - `crm_business_status` - 商机状态表 |
| | | - `crm_contract` - 合同表 |
| | | |
| | | --- |
| | | |
| | | ### 3.4 企业资源计划模块 (ERP) |
| | | ### 4.4 企业资源计划模块 (ERP) |
| | | |
| | | #### 3.4.1 采购业务流程 |
| | | #### 4.4.1 产品管理(MDM 集成) |
| | | |
| | | ``` |
| | | ┌─────────────────────────────────────────────────────────────────┐ |
| | | │ ERP 产品 = MDM 物料 (itemType=2) │ |
| | | ├─────────────────────────────────────────────────────────────────┤ |
| | | │ ErpProductService │ |
| | | │ │ │ |
| | | │ ▼ │ |
| | | │ MdmItemApi.createItem() ──→ MDM 创建物料 │ |
| | | │ MdmItemApi.updateItem() ──→ MDM 更新物料 │ |
| | | │ MdmItemApi.getItem() ──→ MDM 查询物料 │ |
| | | │ MdmItemApi.getItemPage() ──→ MDM 分页查询 │ |
| | | └─────────────────────────────────────────────────────────────────┘ |
| | | ``` |
| | | |
| | | **字段映射:** |
| | | |
| | | | ERP 字段 | MDM 字段 | 说明 | |
| | | |----------|----------|------| |
| | | | id | id | 统一 ID | |
| | | | name | name | 产品名称 | |
| | | | barCode | barCode | 产品条码 | |
| | | | standard | specification | 规格型号 | |
| | | | unitId | unitMeasureId | 单位编号 | |
| | | | salePrice | salesPrice | 销售价格 | |
| | | | minPrice | costPrice | 最低价格/成本价 | |
| | | |
| | | #### 4.4.2 采购业务流程 |
| | | |
| | | ``` |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | |
| | | │ │ │ │ |
| | | v v v v |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | | │ 需求部门 │ │ 供应商 │ │ 仓库 │ │ 财务 │ |
| | | │ 发起 │ │ 确认 │ │ 验收 │ │ 结算 │ |
| | | │ 需求部门 │ │ 供应商 │ │ WMS入库 │ │ 财务 │ |
| | | │ 发起 │ │ 确认 │ │ API调用 │ │ 结算 │ |
| | | └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ |
| | | ``` |
| | | |
| | | **采购订单操作步骤:** |
| | | **采购入库集成:** |
| | | |
| | | 1. 进入【ERP】->【采购管理】->【采购订单】 |
| | | 2. 点击【新增】,选择供应商 |
| | | 3. 添加采购产品明细(产品、数量、单价) |
| | | 4. 设置交货日期、结算账户 |
| | | 5. 点击【提交】或直接【审核】 |
| | | 6. 订单审核后,可进行入库操作 |
| | | |
| | | **采购入库操作步骤:** |
| | | |
| | | 1. 进入【采购入库】页面 |
| | | 2. 选择已审核的采购订单 |
| | | 3. 系统自动带入产品明细 |
| | | 4. 选择入库仓库 |
| | | 5. 确认入库数量,点击【提交】 |
| | | 6. 审核通过后,库存自动增加 |
| | | ``` |
| | | ERP 采购入库 |
| | | │ |
| | | ▼ |
| | | ErpStockRecordService.createStockRecord() |
| | | │ |
| | | ▼ |
| | | WmsInventoryApi.receipt() ──→ WMS 入库操作 |
| | | │ |
| | | ▼ |
| | | WMS 库存增加 |
| | | ``` |
| | | |
| | | **涉及表:** |
| | | - `erp_supplier` - 供应商表 |
| | | - `erp_purchase_order` - 采购订单表 |
| | | - `erp_purchase_order_items` - 采购订单项表 |
| | | - `erp_purchase_in` - 采购入库表 |
| | | - `erp_stock` - 库存表 |
| | | - `erp_stock_record` - 库存流水表(ERP 本地记录) |
| | | |
| | | #### 3.4.2 销售业务流程 |
| | | #### 4.4.3 销售业务流程 |
| | | |
| | | ``` |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | |
| | | │ │ │ │ |
| | | v v v v |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | | │ 客户询价 │ │ 合同签订 │ │ 发货 │ │ 对账开票 │ |
| | | │ 客户询价 │ │ 合同签订 │ │ WMS出库 │ │ 对账开票 │ |
| | | │ │ │ │ │ API调用 │ │ │ |
| | | └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ |
| | | ``` |
| | | |
| | | **销售出库集成:** |
| | | |
| | | ``` |
| | | ERP 销售出库 |
| | | │ |
| | | ▼ |
| | | ErpStockRecordService.createStockRecord() |
| | | │ |
| | | ▼ |
| | | WmsInventoryApi.shipment() ──→ WMS 出库操作 |
| | | │ |
| | | ▼ |
| | | WMS 库存减少 |
| | | ``` |
| | | |
| | | **涉及表:** |
| | |
| | | - `erp_sale_out` - 销售出库表 |
| | | - `erp_finance_receipt` - 收款单表 |
| | | |
| | | #### 3.4.3 库存管理流程 |
| | | #### 4.4.4 库存查询(WMS 集成) |
| | | |
| | | ``` |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | | │ 库存查询 │ -> │ 库存盘点 │ -> │ 库存调拨 │ |
| | | └─────────────┘ └─────────────┘ └─────────────┘ |
| | | ┌─────────────────────────────────────────────────────────────────┐ |
| | | │ ERP 库存 = WMS 库存 API │ |
| | | ├─────────────────────────────────────────────────────────────────┤ |
| | | │ ErpStockService │ |
| | | │ │ │ |
| | | v v v |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | | │ 实时库存 │ │ 盘盈/盘亏 │ │ 跨仓调拨 │ |
| | | │ 明细 │ │ 处理 │ │ │ |
| | | └─────────────┘ └─────────────┘ └─────────────┘ |
| | | │ ▼ │ |
| | | │ MdmItemSkuApi.getItemSkuListByItemId() ──→ 获取默认 SKU │ |
| | | │ │ │ |
| | | │ ▼ │ |
| | | │ WmsInventoryApi.getAvailableQuantity() ──→ 查询可用库存 │ |
| | | │ WmsInventoryApi.getInventoryList() ──→ 查询库存列表 │ |
| | | └─────────────────────────────────────────────────────────────────┘ |
| | | ``` |
| | | |
| | | **涉及表:** |
| | | - `erp_warehouse` - 仓库表 |
| | | - `erp_stock` - 库存表 |
| | | - `erp_stock_record` - 库存流水表 |
| | | - `erp_stock_check` - 盘点单表 |
| | | - `erp_stock_move` - 调拨单表 |
| | | |
| | | --- |
| | | |
| | | ### 3.5 制造执行系统模块 (MES) |
| | | ### 4.5 制造执行系统模块 (MES) |
| | | |
| | | #### 3.5.1 生产主数据管理流程 |
| | | #### 4.5.1 物料管理(MDM 集成) |
| | | |
| | | ``` |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | | │ 物料管理 │ -> │ BOM 管理 │ -> │ 工艺路线 │ -> │ 工作站 │ |
| | | │ │ │ │ │ │ │ 配置 │ |
| | | └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ |
| | | │ │ │ │ |
| | | v v v v |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | | │ 物料分类 │ │ 产品结构 │ │ 工序定义 │ │ 设备/人员 │ |
| | | │ 计量单位 │ │ 替代料 │ │ 顺序配置 │ │ 工具夹具 │ |
| | | └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ |
| | | ┌─────────────────────────────────────────────────────────────────┐ |
| | | │ MES 物料 = MDM 物料 (itemType=1) │ |
| | | ├─────────────────────────────────────────────────────────────────┤ |
| | | │ MesMdItemService │ |
| | | │ │ │ |
| | | │ ▼ │ |
| | | │ MdmItemApi.getItem() ──→ MDM 查询物料 │ |
| | | │ MdmItemApi.getItemList() ──→ MDM 查询物料列表 │ |
| | | └─────────────────────────────────────────────────────────────────┘ |
| | | ``` |
| | | |
| | | **物料管理操作:** |
| | | |
| | | 1. 进入【MES】->【主数据】->【物料管理】 |
| | | 2. 新增物料分类(树形结构) |
| | | 3. 创建物料档案(编码、名称、规格、单位等) |
| | | 4. 配置物料批次属性 |
| | | |
| | | **工艺路线操作:** |
| | | |
| | | 1. 进入【工艺路线】管理 |
| | | 2. 先定义【工序】(加工、检验、装配等) |
| | | 3. 创建工艺路线,关联产品 |
| | | 4. 配置工序顺序、工时定额 |
| | | 5. 关联工作中心/设备 |
| | | |
| | | **涉及表:** |
| | | - `mes_md_item` - 物料表 |
| | | - `mes_md_item_type` - 物料分类表 |
| | | - `mes_md_product_bom` - BOM 表 |
| | | - `mes_pro_process` - 工序表 |
| | | - `mes_pro_route` - 工艺路线表 |
| | | - `mes_md_workstation` - 工作站表 |
| | | |
| | | #### 3.5.2 生产执行流程 |
| | | #### 4.5.2 生产执行流程 |
| | | |
| | | ``` |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | |
| | | │ │ │ │ |
| | | v v v v |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | | │ 计划排程 │ │ 任务分配 │ │ 物料消耗 │ │ 进度反馈 │ |
| | | │ 物料检查 │ │ 工作站指派 │ │ 批次追溯 │ │ 质量记录 │ |
| | | │ 计划排程 │ │ 任务分配 │ │ WMS出库 │ │ 进度反馈 │ |
| | | │ 物料检查 │ │ 工作站指派 │ │ API调用 │ │ 质量记录 │ |
| | | └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ |
| | | │ |
| | | v |
| | | ┌─────────────┐ |
| | | │ 生产入库 │ |
| | | │ WMS入库 │ |
| | | │ API调用 │ |
| | | └─────────────┘ |
| | | ``` |
| | | |
| | | **生产工单操作步骤:** |
| | | |
| | | 1. 进入【MES】->【生产管理】->【生产工单】 |
| | | 2. 点击【新增】,选择产品 |
| | | 3. 系统自动带入 BOM 和工艺路线 |
| | | 4. 设置计划数量、计划开始/结束时间 |
| | | 5. 点击【下达】工单 |
| | | 6. 工单下达后可进行派工、领料操作 |
| | | |
| | | **生产报工操作:** |
| | | |
| | | 1. 进入【报工】页面 |
| | | 2. 扫码或选择工单、工序 |
| | | 3. 填写报工数量(合格/报废) |
| | | 4. 记录工时、设备使用情况 |
| | | 5. 提交报工数据 |
| | | |
| | | **涉及表:** |
| | | - `mes_pro_work_order` - 生产工单表 |
| | |
| | | - `mes_pro_work_record` - 报工记录表 |
| | | - `mes_wm_item_consume` - 物料消耗表 |
| | | |
| | | #### 3.5.3 设备管理流程 |
| | | |
| | | ``` |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | | │ 设备台账 │ -> │ 点检保养 │ -> │ 维修管理 │ |
| | | └─────────────┘ └─────────────┘ └─────────────┘ |
| | | │ │ │ |
| | | v v v |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | | │ 设备档案 │ │ 点检计划 │ │ 维修工单 │ |
| | | │ 设备状态 │ │ 保养计划 │ │ 故障记录 │ |
| | | │ 车间分布 │ │ 执行记录 │ │ 验收确认 │ |
| | | └─────────────┘ └─────────────┘ └─────────────┘ |
| | | ``` |
| | | |
| | | **设备点检操作:** |
| | | |
| | | 1. 进入【设备管理】->【点检方案】 |
| | | 2. 创建点检方案,配置点检项目 |
| | | 3. 关联设备和周期 |
| | | 4. 执行点检时,进入【点检记录】 |
| | | 5. 逐项检查,记录结果 |
| | | 6. 发现异常,自动触发报修 |
| | | |
| | | **涉及表:** |
| | | - `mes_dv_machinery` - 设备台账表 |
| | | - `mes_dv_check_plan` - 点检方案表 |
| | | - `mes_dv_check_record` - 点检记录表 |
| | | - `mes_dv_repair` - 维修工单表 |
| | | |
| | | #### 3.5.4 质量管理流程 |
| | | |
| | | ``` |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | | │ 来料检验 │ -> │ 过程检验 │ -> │ 成品检验 │ -> │ 出货检验 │ |
| | | │ (IQC) │ │ (IPQC) │ │ (FQC) │ │ (OQC) │ |
| | | └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ |
| | | │ │ │ │ |
| | | v v v v |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | | │ 采购入库 │ │ 生产工序 │ │ 生产完成 │ │ 销售出库 │ |
| | | │ 前检验 │ │ 抽检/巡检 │ │ 全检/抽检 │ │ 前检验 │ |
| | | └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ |
| | | ``` |
| | | |
| | | **质检方案配置:** |
| | | |
| | | 1. 进入【质量管理】->【质检方案】 |
| | | 2. 创建质检模板,配置检测项目 |
| | | 3. 设置抽样方案(全检/抽检比例) |
| | | 4. 配置检验指标和标准值 |
| | | |
| | | **检验操作:** |
| | | |
| | | 1. 选择待检单据(采购入库单/生产工单等) |
| | | 2. 创建检验单 |
| | | 3. 逐项检验,记录数据 |
| | | 4. 判定结果(合格/不合格/让步接收) |
| | | 5. 不合格品进入处理流程 |
| | | |
| | | **涉及表:** |
| | | - `mes_qc_template` - 质检方案表 |
| | | - `mes_qc_iqc` - 来料检验表 |
| | | - `mes_qc_ipqc` - 过程检验表 |
| | | - `mes_qc_oqc` - 出货检验表 |
| | | - `mes_qc_defect_record` - 缺陷记录表 |
| | | |
| | | --- |
| | | |
| | | ### 3.6 仓库管理系统模块 (WMS) |
| | | ### 4.6 仓库管理系统模块 (WMS) |
| | | |
| | | #### 3.6.1 入库业务流程 |
| | | #### 4.6.1 商品管理(MDM 集成) |
| | | |
| | | ``` |
| | | ┌─────────────────────────────────────────────────────────────────┐ |
| | | │ WMS 商品 = MDM 物料 (itemType=1) │ |
| | | ├─────────────────────────────────────────────────────────────────┤ |
| | | │ WmsItemService │ |
| | | │ │ │ |
| | | │ ▼ │ |
| | | │ MdmItemApi.createItem() ──→ MDM 创建物料 │ |
| | | │ MdmItemApi.updateItem() ──→ MDM 更新物料 │ |
| | | │ MdmItemApi.getItemPage() ──→ MDM 分页查询 │ |
| | | │ MdmItemApi.getItemList() ──→ MDM 查询列表 │ |
| | | └─────────────────────────────────────────────────────────────────┘ |
| | | ``` |
| | | |
| | | **字段映射:** |
| | | |
| | | | WMS 字段 | MDM 字段 | 说明 | |
| | | |----------|----------|------| |
| | | | id | id | 统一 ID | |
| | | | code | code | 商品编码 | |
| | | | name | name | 商品名称 | |
| | | | unit | unitMeasure.name | 单位名称(从计量单位获取) | |
| | | | categoryId | categoryId | 分类编号 | |
| | | | brandId | brandId | 品牌编号 | |
| | | |
| | | #### 4.6.2 库存管理核心 |
| | | |
| | | ``` |
| | | ┌─────────────────────────────────────────────────────────────────┐ |
| | | │ WMS 库存管理 API │ |
| | | ├─────────────────────────────────────────────────────────────────┤ |
| | | │ WmsInventoryApi │ |
| | | │ │ │ |
| | | │ ├─ receipt() 入库操作 │ |
| | | │ │ └─ 参数: bizType, bizId, warehouseId, items[] │ |
| | | │ │ │ |
| | | │ ├─ shipment() 出库操作 │ |
| | | │ │ └─ 参数: bizType, bizId, warehouseId, items[] │ |
| | | │ │ │ |
| | | │ ├─ reserve() 库存预留(锁库存) │ |
| | | │ │ └─ 参数: bizType, bizId, warehouseId, items[] │ |
| | | │ │ │ |
| | | │ ├─ releaseReserve() 释放预留 │ |
| | | │ │ └─ 参数: reserveNo │ |
| | | │ │ │ |
| | | │ ├─ getInventoryList() 查询库存列表 │ |
| | | │ │ └─ 参数: skuIds, warehouseIds, onlyPositive │ |
| | | │ │ │ |
| | | │ └─ getAvailableQuantity() 查询可用库存 │ |
| | | │ └─ 参数: skuId, warehouseId │ |
| | | └─────────────────────────────────────────────────────────────────┘ |
| | | ``` |
| | | |
| | | #### 4.6.3 入库业务流程 |
| | | |
| | | ``` |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | |
| | | v v v v |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | | │ ERP采购单 │ │ 送货单据 │ │ 质量检验 │ │ 库位分配 │ |
| | | │ 生成预约 │ │ 车辆信息 │ │ 数量确认 │ │ 批次管理 │ |
| | | │ MES生产入库 │ │ 车辆信息 │ │ 数量确认 │ │ 批次管理 │ |
| | | └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ |
| | | ``` |
| | | |
| | | **入库操作步骤:** |
| | | **API 调用示例:** |
| | | |
| | | 1. 进入【WMS】->【入库管理】->【入库单】 |
| | | 2. 新建入库单,选择入库类型(采购入库/生产入库/其他入库) |
| | | 3. 添加入库商品明细 |
| | | 4. 选择仓库 |
| | | 5. 提交审核 |
| | | 6. 审核通过后,库存增加 |
| | | ```java |
| | | // ERP/MES 调用 WMS 入库 |
| | | WmsReceiptReqDTO req = new WmsReceiptReqDTO(); |
| | | req.setBizType(WmsInventoryBizTypeEnum.PURCHASE_RECEIPT.getType()); |
| | | req.setBizId(purchaseInId); |
| | | req.setBizNo(purchaseInNo); |
| | | req.setWarehouseId(warehouseId); |
| | | req.setItems(List.of( |
| | | new WmsReceiptReqDTO.Item(skuId, quantity, price) |
| | | )); |
| | | wmsInventoryApi.receipt(req); |
| | | ``` |
| | | |
| | | **涉及表:** |
| | | - `wms_receipt_order` - 入库单表 |
| | | - `wms_receipt_order_detail` - 入库单明细表 |
| | | - `wms_inventory` - 库存表 |
| | | - `wms_inventory_history` - 库存流水表 |
| | | |
| | | #### 3.6.2 出库业务流程 |
| | | #### 4.6.4 出库业务流程 |
| | | |
| | | ``` |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | |
| | | └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ |
| | | ``` |
| | | |
| | | **涉及表:** |
| | | - `wms_shipment_order` - 出库单表 |
| | | - `wms_shipment_order_detail` - 出库单明细表 |
| | | **API 调用示例:** |
| | | |
| | | #### 3.6.3 库存管理流程 |
| | | |
| | | ``` |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | | │ 库存查询 │ -> │ 库存盘点 │ -> │ 移库作业 │ |
| | | └─────────────┘ └─────────────┘ └─────────────┘ |
| | | │ │ │ |
| | | v v v |
| | | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
| | | │ 实时库存 │ │ 盘盈盘亏 │ │ 库位调整 │ |
| | | │ 批次追溯 │ │ 差异处理 │ │ 库存优化 │ |
| | | └─────────────┘ └─────────────┘ └─────────────┘ |
| | | ```java |
| | | // ERP/MES 调用 WMS 出库 |
| | | WmsShipmentReqDTO req = new WmsShipmentReqDTO(); |
| | | req.setBizType(WmsInventoryBizTypeEnum.SALE_SHIPMENT.getType()); |
| | | req.setBizId(saleOutId); |
| | | req.setBizNo(saleOutNo); |
| | | req.setWarehouseId(warehouseId); |
| | | req.setItems(List.of( |
| | | new WmsShipmentReqDTO.Item(skuId, quantity) |
| | | )); |
| | | wmsInventoryApi.shipment(req); |
| | | ``` |
| | | |
| | | **涉及表:** |
| | | - `wms_inventory` - 库存表 |
| | | - `wms_check_order` - 盘点单表 |
| | | - `wms_movement_order` - 移库单表 |
| | | - `wms_item_sku` - 商品 SKU 表 |
| | | - `wms_inventory_history` - 库存流水表 |
| | | - `wms_inventory_reserve` - 库存预留表 |
| | | |
| | | --- |
| | | |
| | | ## 四、系统集成说明 |
| | | ## 五、系统集成说明 |
| | | |
| | | ### 4.1 模块间数据流转 |
| | | ### 5.1 模块间数据流转 |
| | | |
| | | ``` |
| | | ┌─────────────────┐ |
| | | │ System 模块 │ |
| | | │ (用户/权限) │ |
| | | │ MDM 模块 │ |
| | | │ (物料主数据) │ |
| | | └────────┬────────┘ |
| | | │ |
| | | ┌──────────────┼──────────────┐ |
| | | │ │ │ |
| | | v v v |
| | | ┌────────────┐ ┌────────────┐ ┌────────────┐ |
| | | │ CRM 模块 │ │ ERP 模块 │ │ MES 模块 │ |
| | | │ (客户) │ │ (采购/销售)│ │ (生产) │ |
| | | │ ERP 模块 │ │ WMS 模块 │ │ MES 模块 │ |
| | | │ (成品) │ │ (物料+SKU) │ │ (物料) │ |
| | | │ itemType=2 │ │ itemType=1 │ │ itemType=1 │ |
| | | └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ |
| | | │ │ │ |
| | | │ │ │ |
| | | └───────────────┼───────────────┘ |
| | | │ |
| | | ┌──────v──────┐ |
| | | │ WMS 模块 │ |
| | | │ (库存) │ |
| | | │ WMS 库存 │ |
| | | │ API │ |
| | | └─────────────┘ |
| | | ``` |
| | | |
| | | ### 4.2 业务数据关联 |
| | | ### 5.2 API 接口清单 |
| | | |
| | | | 业务场景 | 涉及模块 | 数据流向 | |
| | | |----------|----------|----------| |
| | | | 销售订单 -> 发货 | CRM → WMS | 客户订单触发出库 | |
| | | | 采购订单 -> 入库 | ERP → WMS | 采购订单触发入库 | |
| | | | 生产领料 | MES → WMS | 工单触发领料出库 | |
| | | | 生产入库 | MES → WMS | 完工触发成品入库 | |
| | | | 质量检验 | WMS → MES | 入库触发来料检验 | |
| | | | API 接口 | 提供方 | 调用方 | 说明 | |
| | | |----------|--------|--------|------| |
| | | | MdmItemApi | MDM | ERP/WMS/MES | 物料主数据 CRUD | |
| | | | MdmItemSkuApi | MDM | ERP/WMS/MES | SKU 管理 | |
| | | | MdmItemCategoryApi | MDM | ERP/WMS/MES | 物料分类 | |
| | | | MdmUnitMeasureApi | MDM | ERP/WMS/MES | 计量单位 | |
| | | | WmsInventoryApi | WMS | ERP/MES | 库存入库/出库/查询 | |
| | | |
| | | ### 5.3 业务数据关联 |
| | | |
| | | | 业务场景 | 涉及模块 | 数据流向 | API 调用 | |
| | | |----------|----------|----------|----------| |
| | | | ERP 产品管理 | ERP → MDM | 产品 CRUD | MdmItemApi | |
| | | | WMS 商品管理 | WMS → MDM | 商品 CRUD | MdmItemApi | |
| | | | MES 物料管理 | MES → MDM | 物料查询 | MdmItemApi | |
| | | | 采购入库 | ERP → WMS | 库存增加 | WmsInventoryApi.receipt() | |
| | | | 销售出库 | ERP → WMS | 库存减少 | WmsInventoryApi.shipment() | |
| | | | 生产领料 | MES → WMS | 库存减少 | WmsInventoryApi.shipment() | |
| | | | 生产入库 | MES → WMS | 库存增加 | WmsInventoryApi.receipt() | |
| | | | 库存查询 | ERP/MES → WMS | 库存查询 | WmsInventoryApi.getAvailableQuantity() | |
| | | |
| | | --- |
| | | |
| | | ## 五、常见问题处理 |
| | | ## 六、常见问题处理 |
| | | |
| | | ### 5.1 用户无法登录 |
| | | ### 6.1 用户无法登录 |
| | | |
| | | **排查步骤:** |
| | | |
| | |
| | | 4. 检查账户是否被锁定(密码错误次数过多) |
| | | 5. 查看登录日志 `system_login_log` |
| | | |
| | | ### 5.2 数据权限问题 |
| | | ### 6.2 数据权限问题 |
| | | |
| | | **排查步骤:** |
| | | |
| | |
| | | 2. CRM 模块检查 `crm_permission` 表 |
| | | 3. 确认数据是否正确分配负责人 |
| | | |
| | | ### 5.3 流程审批异常 |
| | | ### 6.3 流程审批异常 |
| | | |
| | | **排查步骤:** |
| | | |
| | |
| | | 3. 查看流程实例状态 |
| | | 4. 检查候选用户/用户组配置 |
| | | |
| | | ### 5.4 库存数据不一致 |
| | | ### 6.4 物料数据不一致 |
| | | |
| | | **排查步骤:** |
| | | |
| | | 1. 检查 `wms_inventory_history` 或 `erp_stock_record` 流水记录 |
| | | 1. 确认物料是否在 MDM 中正确创建 |
| | | 2. 检查物料类型(itemType)是否正确 |
| | | 3. 确认 SKU 是否正确配置 |
| | | 4. 验证分类、单位关联是否正确 |
| | | |
| | | ### 6.5 库存数据不一致 |
| | | |
| | | **排查步骤:** |
| | | |
| | | 1. 检查 `wms_inventory_history` 库存流水记录 |
| | | 2. 核对出入库单据是否全部审核 |
| | | 3. 执行库存盘点校正 |
| | | 4. 检查是否有未完成的调拨单 |
| | | 3. 确认 WMS API 调用是否成功 |
| | | 4. 执行库存盘点校正 |
| | | |
| | | --- |
| | | |
| | | ## 六、附录 |
| | | ## 七、附录 |
| | | |
| | | ### 6.1 模块路径对照表 |
| | | ### 7.1 模块路径对照表 |
| | | |
| | | | 模块 | 后端路径 | 前端路径 | |
| | | |------|----------|----------| |
| | |
| | | | Infra | yudao-module-infra | views/infra | |
| | | | BPM | yudao-module-bpm | views/bpm | |
| | | | CRM | yudao-module-crm | views/crm | |
| | | | MDM | yudao-module-mdm | views/mdm | |
| | | | ERP | yudao-module-erp | views/erp | |
| | | | MES | yudao-module-mes | views/mes | |
| | | | WMS | yudao-module-wms | views/wms | |
| | | |
| | | ### 6.2 接口鉴权说明 |
| | | ### 7.2 接口鉴权说明 |
| | | |
| | | 所有业务接口需要携带 Token 访问: |
| | | |
| | |
| | | |
| | | Token 获取方式:调用登录接口 `/system/auth/login` |
| | | |
| | | ### 6.3 多租户说明 |
| | | ### 7.3 多租户说明 |
| | | |
| | | 系统支持多租户模式,租户隔离通过 `tenant_id` 字段实现: |
| | | |
| | | - System 模块大部分表包含 `tenant_id` |
| | | - 业务模块(CRM、ERP、MES、WMS)不含租户字段,需自行实现隔离逻辑 |
| | | - 业务模块(CRM、ERP、MES、WMS、MDM)不含租户字段,需自行实现隔离逻辑 |
| | | |
| | | ### 7.4 核心改造文件清单 |
| | | |
| | | | 文件 | 改造说明 | |
| | | |------|----------| |
| | | | ErpProductServiceImpl | 产品 CRUD 调用 MdmItemApi | |
| | | | ErpStockServiceImpl | 库存查询调用 WmsInventoryApi | |
| | | | ErpStockRecordServiceImpl | 库存变更调用 WmsInventoryApi | |
| | | | WmsItemServiceImpl | 商品 CRUD 调用 MdmItemApi | |
| | | | MdmItemApi | MDM 物料 API 接口 | |
| | | | MdmItemSkuApi | MDM SKU API 接口 | |
| | | | WmsInventoryApi | WMS 库存 API 接口 | |
| | | |
| | | --- |
| | | |
| | | **文档版本**: v1.0 |
| | | **更新日期**: 2026-06-23 |
| | | **文档版本**: v2.0 |
| | | **更新日期**: 2026-06-29 |
| | | **适用版本**: ruoyi-vue-pro 2026.04-SNAPSHOT |
| | | **核心改造**: MDM 主数据管理模块集成,打通 ERP/MES/WMS 数据孤岛 |