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

蓝宝MES系统代码结构详细说明

项目概述

蓝宝PC前端 (LanBao PC Frontend) 是一个基于 .NET Framework 4.8 的制造执行系统 (MES) 客户端应用程序,采用 Windows Forms 技术栈和 DevExpress UI 组件库,提供完整的制造业务管理功能。

技术栈

  • .NET Framework 4.8 - 核心应用框架
  • DevExpress v22.2/v129.0 - 主要UI组件库
  • C# Windows Forms - 桌面应用程序框架,MDI接口设计
  • Oracle Database - 数据持久化 (Oracle.ManagedDataAccess 23.6.0)
  • CefSharp 109.1.110/129.0 - 嵌入式Web浏览器
  • WebView2 - 现代Web视图集成
  • Newtonsoft.Json 13.0.3 - JSON序列化
  • AutoUpdater.NET - 自动应用程序更新
  • NModbus 3.0.81 - 工业通信协议
  • FastReport - 报表生成系统

项目架构结构

顶级目录结构

DevApp/
├── Gs.DevApp/                    # 主应用程序项目
│   ├── DevFrm/                  # 业务功能模块窗体
│   ├── Entity/                  # 数据实体类
│   ├── ToolBox/                 # 工具类和辅助函数
│   ├── UserControl/             # 自定义用户控件
│   ├── Properties/              # 项目属性
│   ├── Resources/               # 资源文件
│   ├── bin/                     # 编译输出目录
│   └── obj/                     # 编译临时文件
├── Gs.WeightIqc/                # IQC称重检测模块
├── Gs.WeightLine/               # 生产线称重模块
├── Gs.Setup/                    # 安装程序项目
└── packages/                    # NuGet包管理目录

应用程序入口点

  • Program.cs - 应用程序主入口,单实例管理,CefSharp初始化
  • DevFrm/FrmLogin.cs - 登录窗体,自动更新器集成
  • DevFrm/FrmMain.cs - 主MDI窗体,DevExpress FluentDesign界面

核心业务模块详解 (DevFrm/)

1. 基础数据管理 (BasicData/)

功能: 系统基础主数据维护和管理

主要模块:
- Frm_Customer.cs - 客户信息管理
- Frm_Supplier.cs - 供应商信息管理
- Frm_SupplierSrm.cs - SRM供应商关系管理
- Frm_MesItems.cs - 物料主数据管理
- Frm_MesItemsShow.cs - 物料信息展示
- Frm_MesItemType.cs - 物料分类管理
- Frm_MesUnit.cs - 计量单位管理
- Frm_MesDepot.cs - 仓库信息管理
- Frm_MesWorkshopLine.cs - 车间生产线配置
- Frm_Staff.cs - 员工信息管理
- Frm_Department.cs - 部门信息管理

2. 仓库出库模块 (Ck/)

功能: 仓库出库业务流程管理,包含各种出库类型

主要模块:
- Frm_MesItemCl.cs / Frm_MesItemClDj.cs - 材料出库申请/单据
- Frm_MesItemBl.cs / Frm_MesItemBlDJ.cs - 补料出库申请/单据
- Frm_MesItemQt.cs / Frm_MesItemQtDj.cs - 其他出库申请/单据
- Frm_MesCgthSq.cs / Frm_MesCgthSqDj.cs - 采购退货申请/单据
- Frm_MesSctkSq.cs / Frm_MesSctkSqDj.cs - 生产退库申请/单据
- Frm_MesInvItemOut_SCLL.cs - 生产领料出库
- Frm_MesYanTui.cs - 验收退货管理

3. 仓库入库模块 (Rk/)

功能: 仓库入库业务流程管理

主要模块:
- Frm_MesItemTbl.cs - 材料入库台账
- Frm_MesItemTbl_RK.cs - 入库单据处理
- Frm_MesItemTblShow.cs - 入库信息展示
- Frm_MesItemQtrk.cs / Frm_MesItemQtrkDj.cs - 其他入库申请/单据
- Frm_MesInvItemArn.cs - 到货入库管理
- Frm_MesInvItemIns.cs - 检验入库管理

4. 质量控制模块

4.1 FQC (Final Quality Control) - 最终质量控制

功能: 成品出货前最终质量检验
- Frm_Fqc.cs - FQC检验主界面
- Frm_FqcDetect01.cs - FQC检测流程
- Frm_FQCItem.cs - FQC检验项目管理

4.2 IPQC (In-Process Quality Control) - 过程质量控制

功能: 生产过程中的质量检验和监控
- Frm_ShouJian.cs - 首件检验
- Frm_ShouJianDetect01.cs - 首件检测流程
- Frm_ShouJianDetect01H5.cs - 首件检测H5版本
- Frm_XunJian.cs - 巡检管理
- Frm_XunJianDetect01.cs - 巡检检测流程
- Frm_XunJianDetect01Show.cs - 巡检结果展示

4.3 RkQC (Receiving Quality Control) - 来料质量控制

功能: 来料和入库物料质量检验
- Frm_RkDetect01.cs - 来料检验
- Frm_CqDetect01.cs - 抽检检验
- Frm_QtrkDetect01.cs - 其他入库检验
- Frm_WwrkDetect01.cs - 完工入库检验
- Frm_ShouTuoDetect01.cs - 委托加工检验
- Frm_Cqfa.cs - 抽检方案管理
- Frm_CqfaItems.cs - 抽检项目配置
- Frm_Cqsq.cs - 抽检申请

4.4 QC - 质量控制通用模块

功能: 质量管理通用功能和配置
- Frm_MesQaMj.cs - 质量检验模板
- Frm_MesQaItemsDetect01.cs - 检验项目检测
- Frm_MesQaItemsDetect01Input.cs - 检验数据录入
- Frm_MesQmCheckitemDt.cs - 检验项目明细
- Frm_MesQmAql1.cs - AQL抽样标准
- Frm_MesDefectCodeShow.cs - 缺陷代码展示
- Frm_IQCLookups.cs - IQC查询界面
- Frm_MesSysLookups.cs - 系统查询配置

5. 工单管理模块 (WOM/)

功能: 生产工单全生命周期管理

主要模块:
- Frm_MesWorkProd.cs - 生产工单管理
- Frm_MesProcGx.cs - 工艺流程管理
- Frm_MesProcGx0.cs - 工艺流程基础版
- Frm_MesProcGxShow.cs - 工艺流程展示
- Frm_Womdaa.cs - 工单档案管理
- Frm_Womdaahb.cs - 工单档案汇总
- Frm_WomdaaNbz.cs - 工单档案内部转移
- Frm_Womcaa.cs - 工单成本分析
- Frm_Wompba.cs - 工单派工管理
- Frm_WompbaGx.cs - 工单派工工序
- Frm_WomFanGong.cs - 返工单管理
- Frm_MesScrkDj.cs - 生产入库单据
- Frm_MesScrksqDj.cs - 生产入库申请单据
- FrmAutoRk.cs - 自动入库
- FrmBackFlash.cs - 反冲处理

6. 生产作业模块 (Work/)

功能: 车间生产作业执行和管理

主要模块:
- Frm_WorkStart.cs - 生产开工
- Frm_Work01.cs - 生产作业主界面
- Frm_Work09.cs - 生产作业流程9
- Frm_WorkProcesses.cs - 工序作业管理
- Frm_WorkTechnique.cs - 工艺技术管理
- Frm_WorkTechniqueShow.cs - 工艺技术展示
- Frm_Repair.cs - 返修作业管理

7. 车间管理模块 (WW/)

功能: 车间现场作业和生产调度

主要模块:
- Frm_WwBl.cs / Frm_WwBlDj.cs - 车间补料申请/单据
- Frm_WwCl.cs / Frm_WwClDj.cs - 车间领料申请/单据
- Frm_WwTbl.cs / Frm_WwTblDj.cs - 车间台账/单据
- Frm_WwLlDj.cs - 车间领料单据
- Frm_WwPc.cs - 车间排产管理
- Frm_WwGd.cs - 车间工单管理
- Frm_ProductionOrder.cs - 生产订单管理

8. 仓库管理模块 (Warehouse/)

功能: 仓库综合管理功能

主要模块:
- Frm_InitialBarcode.cs - 初始条码管理
- Frm_ArrivalBarcode.cs - 到货条码管理
- Frm_MesShouTuo.cs / Frm_MesShouTuoDj.cs - 委托加工申请/单据
- Frm_MesShouTui.cs / Frm_MesShouTuiDj.cs - 委托退货申请/单据
- Frm_MesDbck.cs / Frm_MesDbckDj.cs - 调拨出库申请/单据
- Frm_MesRohIn.cs - 原材料入库

9. 销售管理模块 (Sales/)

功能: 销售订单和发货管理

主要模块:
- Frm_SalesOrder.cs - 销售订单管理
- Frm_SalesDeliver.cs / Frm_SalesDeliverDj.cs - 销售发货申请/单据
- Frm_SalesDeliverSelect.cs - 发货单选择
- Frm_SalesReturnNotice.cs / Frm_SalesReturnNoticeDj.cs - 销售退货通知申请/单据
- Frm_SalesReturnNoticeSelect.cs - 退货通知选择
- Frm_SalesReturnNoticeSelect2.cs - 退货通知选择2
- Frm_SalesReturnNoticeSelectLink.cs - 退货通知关联选择

10. 条码管理模块 (BarCode/)

功能: 条码生成、打印和管理

主要模块:
- Frm_BoxCode.cs - 箱码管理
- SelectBoxDaa.cs - 选择箱档案
- SelectBoxItem.cs - 选择箱项目

11. PDA移动设备模块 (PDA/)

功能: 移动设备集成和用户绑定

主要模块:
- Frm_UserBind.cs - 用户绑定
- Frm_UserBindLst.cs - 用户绑定列表
- Frm_AreaBind.cs - 区域绑定

12. 计件工资模块 (JJGZ/)

功能: 员工计件工资计算和管理

主要模块:
- Frm_MesJJSalary.cs - 计件工资管理
- Frm_MesJSSalary.cs - 计时工资管理
- Frm_MesJjgzSchedule.cs - 工资排班管理
- Frm_MesTimeType.cs - 时间类型管理
- Frm_MesAttanCon.cs - 考勤统计
- Frm_MesDeToLine.cs - 员工分线管理
- Frm_MESJJERRORJS.cs - 计件错误校正

13. 报表模块 (Rpt/)

功能: 报表查询和生成

主要模块:
- Frm_MesQL.cs - MES查询报表

14. 系统管理模块 (Sys/)

功能: 系统配置和管理功能

主要模块:
- Frm_Config.cs - 系统配置
- Frm_MesSysPageview.cs - 系统页面视图
- Frm_PrintInfo.cs - 打印信息管理
- Frm_PrintUser.cs - 打印用户管理

15. 用户管理模块 (User/)

功能: 用户权限和角色管理
- 包含用户认证、授权、角色管理等功能

支撑模块详解

Entity/ - 数据实体层

功能: 定义数据传输对象和业务实体

核心类:
- LoginInfoModel.cs - 登录用户信息管理,单例模式实现
- ReturnModel.cs - API返回结果统一封装
- PageQueryModel.cs - 分页查询模型
- XlsOutModel.cs - Excel导出模型

ToolBox/ - 工具类库

功能: 提供通用工具函数和帮助类

核心类:
- UtilityHelper.cs - 通用工具类,包含UI操作、HTTP通信、数据处理等
- LogHelper.cs - 日志记录工具,支持调试和错误日志
- MsgHelper.cs - 消息提示工具,标准化用户交互
- UpdateParentEventArgs.cs - 父窗体更新事件参数

UserControl/ - 自定义控件库

功能: 可复用的用户界面控件

主要控件分类:

查找控件系列 (UcLook*.cs)

  • UcLookCustomer.cs - 客户查找控件
  • UcLookSupplier.cs - 供应商查找控件
  • UcLookItems.cs - 物料查找控件
  • UcLookStaff.cs - 员工查找控件
  • UcLookDepartment.cs - 部门查找控件
  • UcLookOrg.cs - 组织查找控件
  • UcLookUnit.cs - 单位查找控件
  • UcLookUser.cs - 用户查找控件
  • UcLookWorkshop.cs - 车间查找控件
  • UcLookWorkline.cs - 生产线查找控件
  • UcLookGx.cs - 工序查找控件
  • UcLookKw.cs - 库位查找控件
  • UcLookCk.cs - 仓库查找控件
  • UcLookWwgd.cs - 车间工单查找控件
  • UcLookDaa.cs - 档案查找控件
  • UcLookHuoZhu.cs - 货主查找控件
  • UcLookSales.cs - 销售查找控件
  • UcLookPrint.cs - 打印查找控件

选择控件系列 (Select*.cs)

  • SelectCw.cs - 仓位选择控件
  • SelectFont.cs - 字体选择控件
  • SelectHz.cs - 货主选择控件
  • SelectOrg.cs - 组织选择控件
  • SelectKw.cs - 库位选择控件
  • SelectCk.cs - 仓库选择控件
  • SelectDaa.cs - 档案选择控件
  • SelectCgMx.cs - 采购明细选择控件
  • SelectMesCgthSq.cs - 采购退货申请选择控件
  • SelectMesCgthSqLink.cs - 采购退货申请关联选择控件
  • SelectSrm.cs - SRM选择控件
  • SelectDeleteBar.cs - 删除条码选择控件

通用功能控件

  • UcPageBar.cs - 分页导航控件
  • UcDictionary.cs - 数据字典控件
  • UcDictionaryComBox.cs - 数据字典下拉控件
  • UcDictionarySelect.cs - 数据字典选择控件
  • UcCheckFlow.cs - 审核流程控件
  • UcToolBarMenu.cs - 工具栏菜单控件

文件和打印控件

  • UCUpFile.cs - 文件上传控件
  • UCUpFileList.cs - 文件上传列表控件
  • ShowFile.cs - 文件展示控件
  • UcBtnPrint.cs - 打印按钮控件
  • UcBtnPrintOne.cs - 单次打印按钮控件

展示和布局控件

  • ShowLogcs.cs - 日志展示控件
  • ShowFilter.cs - 过滤器展示控件
  • ShowRptWizard.cs - 报表向导展示控件
  • ShowUp.cs - 上传展示控件
  • showLayOut.cs - 布局展示控件
  • Toast.cs - 消息提示控件
  • CopyXls.cs - Excel复制控件

辅助项目

Gs.WeightIqc/ - IQC称重检测

功能: IQC质量检验中的称重功能模块
- 专门用于来料检验过程中的重量检测
- 支持电子秤设备集成

Gs.WeightLine/ - 生产线称重

功能: 生产线实时称重监控
- 生产过程中的重量监控
- 支持多种称重设备协议

Gs.Setup/ - 安装程序

功能: 应用程序安装包制作
- ClickOnce部署支持
- 自动更新配置

数据访问和通信

数据库连接

  • 使用Oracle.ManagedDataAccess 23.6.0连接Oracle数据库
  • 通过WebAPI后端服务进行数据访问
  • 支持连接字符串动态配置

HTTP通信

  • 基于UtilityHelper类实现HTTP客户端功能
  • 使用Newtonsoft.Json进行数据序列化
  • 支持RESTful API调用

工业通信

  • 集成NModbus 3.0.81支持工业设备通信
  • 支持Modbus协议的PLC设备集成

界面和用户体验

DevExpress集成

  • 使用DevExpress LookAndFeel实现统一主题
  • FluentDesign现代化界面风格
  • 丰富的网格控件和数据展示组件

Web集成

  • CefSharp嵌入式浏览器支持
  • WebView2现代Web视图
  • 支持H5页面集成(如检测界面)

部署和更新

自动更新

  • 集成AutoUpdater.NET实现自动更新
  • 支持版本检测和增量更新
  • 配置化更新服务器地址

配置管理

  • App.config配置文件管理
  • 支持WebAPI地址、日志路径等关键配置
  • 生产和测试环境隔离

开发规范建议

  1. 模块化开发:遵循现有的按业务功能划分的目录结构
  2. 代码复用:充分利用UserControl中的自定义控件
  3. 统一规范:使用UtilityHelper、LogHelper等工具类保持代码一致性
  4. 界面风格:遵循DevExpress设计规范,保持界面一致性
  5. 错误处理:统一使用LogHelper记录日志,MsgHelper显示用户消息
  6. 数据访问:通过WebAPI进行数据操作,避免直接数据库访问

这个MES系统提供了完整的制造执行管理功能,从基础数据管理到生产执行,从质量控制到仓库管理,形成了完整的制造业务闭环。系统架构清晰,模块职责明确,为制造企业提供了强大的信息化支撑平台。