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

XG_MES项目结构与功能分析文档

项目概述

XG_MES是一个基于ASP.NET Core 8.0构建的制造执行系统(MES),采用分层架构设计,使用Oracle 11g数据库,通过SqlSugar ORM进行数据访问。系统覆盖了从订单管理到生产执行、质量控制、仓储管理的完整制造业务流程。

技术架构

核心技术栈

  • .NET 8.0 - 主要开发框架
  • ASP.NET Core Web API - API服务框架
  • Oracle 11g Release 11.2.0.1.0 - 数据库系统
  • SqlSugar ORM - 对象关系映射框架
  • Swagger - API文档生成
  • Newtonsoft.Json - JSON序列化

解决方案结构

XG_MES_API/
├── MESApplication/          # Web API项目
│   ├── Controllers/         # API控制器
│   ├── Filter/             # 过滤器
│   ├── Properties/         # 项目属性
│   ├── Program.cs          # 应用程序入口
│   └── Startup.cs          # 服务配置
└── MES.Service/            # 业务逻辑层
    ├── DB/                 # 数据访问层
    ├── Dto/                # 数据传输对象
    ├── Modes/              # 数据模型
    ├── service/            # 业务服务
    └── util/               # 工具类

业务模块详细分析

1. 基础管理模块

主要功能:
- 用户认证与权限管理
- 系统消息中心
- 基础数据维护

核心控制器:
- LoginController - 用户登录、密码重置、权限获取
- MessageCenterController - 消息推送、状态管理
- DemoController - 系统演示功能

业务服务:
- LoginService - 用户身份验证,支持自定义加密算法
- MessageCenterManager - 消息中心管理,支持推送失败重试
- SysUserService - 用户权限查询,调用存储过程获取权限数据

2. 基础数据管理模块

主要功能:
- 物料主数据管理
- 客户供应商信息维护
- 人员组织架构管理
- 仓库库位管理

核心控制器:
- MesItemsController - 物料信息管理,支持ERP同步
- MesCustomerController - 客户信息管理
- MesSupplierController - 供应商信息管理
- MesStaffController - 员工信息管理
- MesDepotsController - 仓库信息管理
- OrganizeController - 组织架构管理

业务服务:
- MesItemsManager - 物料主数据管理,支持批量操作和ERP同步
- OrganizeManager - 组织架构管理,支持层级结构
- MesCustomerManager - 客户信息管理,支持状态控制

数据模型:
- MesItems - 物料主数据,支持多单位、多编码、ERP集成
- MesCustomer - 客户信息,包含批次管理配置
- MesSupplier - 供应商信息,支持多组织权限控制
- Organize - 组织架构,支持层级管理

3. 生产订单管理模块

主要功能:
- 销售订单管理
- 生产计划调度
- 工单执行管理
- 发货出库管理

核心控制器:
- SalesOrderController - 销售订单管理
- ProductionOrderController - 生产订单管理
- WomcaaController - 工单主表管理
- SalesDeliveryNoticeController - 销售发货通知

业务服务:
- ProductionOrderManager - 生产订单管理,支持主子表关联
- SalesOrderManager - 销售订单管理,支持完整生命周期
- WomcaaManager - 工单管理,与ERP系统集成

数据模型:
- SalesOrder - 销售订单主表,支持订单状态流转
- ProductionOrder - 生产订单主表,支持委外生产
- Womcaa - 工单表,支持生产状态管理
- MesProductionNotice - 生产通知单

4. 质量控制模块

主要功能:
- 来料检验管理
- 生产巡检控制
- 入库质量检验
- 首件检验确认
- 不合格品处理

核心控制器:
- LljController - 来料检验管理
- XJController - 巡检管理
- RKJController - 入库检验
- SJController - 首件检验
- SuspendController - 暂停管理

业务服务:
- LljService - 来料检验服务,实现完整AQL抽样检验标准
- XJService - 巡检服务,支持生产线实时质量监控
- SJService - 首件检验服务,支持图片上传和标准对比
- BaseService - QC基础服务,支持Base64图片处理

数据模型:
- MesQa - 检验项目主表
- MesQaItem - 检验项目明细
- QsItemIpiReq - IQC检验申请
- QsItemOqcReq - OQC检验申请
- MesQualityStandard - 质量标准
- MesQmAql1/2/3 - AQL检验标准

5. 仓储管理模块

主要功能:
- 库存实时管理
- 出入库单据处理
- 库存移动和调整
- 条码追溯管理
- 库位精确管理

核心控制器:
- MesInvItemStocksController - 库存管理
- MesInvItemOutsController - 出库单管理
- MesInvItemMovesController - 库存移动
- MesInvItemBarcodesController - 条码管理
- MesDepotSectionsController - 库位管理

业务服务:
- MesInvItemOutsManager - 出库管理,支持条码扫描和审核流程
- MesInvItemMovesManager - 库存调拨,实现完整的出入库流程
- MesInvItemStocksManager - 库存管理,基础CRUD操作

数据模型:
- MesInvItemStocks - 物料库存表,支持多维度库存管理
- MesInvItemOuts - 物料出库主表,支持多种出库类型
- MesInvItemMoves - 物料移库主表,支持仓库间调拨
- MesInvItemBarcodes - 物料条码表,支持完整追溯链
- MesDepots - 仓库主数据,支持多种仓库类型

6. 采购管理模块

主要功能:
- 原材料采购入库
- 送货单处理
- 采购条码管理
- 供应商送货跟踪

核心控制器:
- MesRohInController - 原材料入库管理
- MesDeliveryNoteController - 送货单管理
- PurdhbController - 采购收货

业务服务:
- MesRohInManager - 原材料入库管理
- MesDeliveryNoteManager - 送货单管理
- PurdhbManager - 采购收货管理

数据模型:
- MesRohIn - 收料数据主表
- MesDeliveryNote - 送货单主表
- Purdhb - 采购到货单表身

系统集成架构

ERP系统集成

  • GetErpParametersServer - ERP集成参数管理
  • HTTP集成模式 - 基于HTTP请求的异步消息推送
  • 业务场景支持 - 采购入库、采购退货、生产领料等多种业务

数据同步机制

  • MessageCenter - 消息中心,记录所有外部系统接口调用
  • 失败重试 - 支持消息推送失败后的重试机制
  • 状态跟踪 - 完整的数据同步状态追踪

关键业务流程

1. 订单到交付流程

销售订单 → 生产订单 → 工单执行 → 质量检验 → 出库发货

2. 采购到入库流程

采购订单 → 供应商送货 → 来料检验 → 入库上架

3. 生产执行流程

工单下达 → 原料出库 → 生产加工 → 巡检质控 → 成品入库

4. 质量管控流程

来料检验 → 首件检验 → 生产巡检 → 入库检验 → 不合格处理

数据库设计特点

1. 主键策略

  • 大部分表使用Oracle序列生成数字主键
  • 关键业务表使用GUID主键(如生产订单)

2. 审计字段标准化

每个业务表都包含标准审计字段:
- CREATE_BY, CREATE_DATE - 创建信息
- LASTUPDATE_BY, LASTUPDATE_DATE - 更新信息
- CREATE_ORG, USE_ORG - 组织权限控制

3. ERP集成设计

  • FDOCUMENTSTATUS - ERP单据状态同步
  • 各种ERP_ID字段 - 与ERP系统主键映射
  • SAP相关字段 - SAP系统集成支持

4. 状态管理模式

  • 使用数字代码表示业务状态
  • 支持审核流程(制单→审核→过账)
  • 禁用状态管理而非物理删除

5. 多组织支持

通过CREATE_ORGUSE_ORG字段实现多组织数据隔离和权限控制

技术特点

1. 统一的数据访问层

  • 所有Manager类继承Repository基类
  • 提供标准CRUD操作
  • 支持事务管理

2. 条码技术应用

  • 广泛使用条码扫描进行业务操作验证
  • 支持多种条码类型(客户、供应商、内部)
  • 完整的追溯链管理

3. 质量管理

  • 实现完整的AQL抽样检验标准
  • 支持多层次质量检验控制
  • 图片上传和检验标准对比

4. 实时数据处理

  • 库存实时更新
  • 生产状态实时跟踪
  • 质量数据实时反馈

系统优势

  1. 业务完整性 - 覆盖MES系统的核心业务领域
  2. 数据一致性 - 通过事务和存储过程确保数据准确性
  3. 可扩展性 - 清晰的模块划分便于功能扩展
  4. 集成能力 - 与ERP系统深度集成,实现数据同步
  5. 质量管控 - 完整的质量检验流程保证产品质量
  6. 实时性 - 条码扫描和实时数据处理提高操作效率
  7. 多组织支持 - 支持多工厂、多组织的管理模式

开发指南

常用开发命令

# 编译整个解决方案
dotnet build MESApplication.sln

# 运行应用程序
dotnet run --project MESApplication

# 访问Swagger文档
http://localhost:5184/swagger

数据库连接

  • 连接字符串配置在 appsettings.jsonAppSettings.DataBaseConn
  • 使用SqlSugar ORM进行数据访问
  • 支持SQL日志记录便于调试

开发规范

  • 所有Manager类继承Repository基类
  • 使用DTO模式进行数据传输
  • 统一的ResponseResult返回格式
  • 支持批量操作和事务处理

本文档为XG_MES项目的完整结构与功能分析,涵盖了系统的技术架构、业务模块、数据模型和关键流程,为项目的后续开发和维护提供重要参考。