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