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

蓝宝 MES 客户端帮助指南

1. 项目概览

  • 解决方案名称GsDevSolution.sln
  • 主要用途:面向制造现场的 MES Windows 客户端,覆盖生产、仓储、质检、系统配置等业务。
  • 核心应用Gs.DevApp(DevExpress WinForms 客户端),辅以称重采集站点与安装程序。

2. 解决方案结构

目录 说明
Gs.DevApp/ 主客户端项目,包含全部业务窗体、工具库、资源及配置。
├─ DevFrm/ 业务窗体,按领域划分(BasicData/ 基础数据、Work/ 制程、QC/ 质检、Sys/ 系统设置等)。
├─ Entity/ DTO 与通用模型(如 PageQueryModelReturnModel)。
├─ ToolBox/ 公共工具类(HTTP、日志、Modbus、对话框包装等)。
├─ UserControl/ 可复用控件(工具栏、分页、数据字典、查询选择器等)。
Gs.WeightIqc/ IQC 来料称重客户端,负责串口/Modbus 采集与上传。
Gs.WeightLine/ 产线称重客户端,支持多条线体切换与实时监控。
Gs.Setup/ Visual Studio Installer 项目(.vdproj),用于打包发布。
packages/ NuGet 缓存目录,包含 DevExpress、CefSharp、NModbus、System.* 依赖。

3. 核心技术栈

  • .NET Framework 4.8 / C# WinForms:应用基础框架。
  • DevExpress v22.2:UI 组件(FluentDesign、XtraGrid、XtraTab、WaitDialog 等)。
  • CefSharp 109 + AutoUpdater.NET:嵌入式浏览器与可选的自动更新能力。
  • NModbus、SerialPort:工业设备通信,涵盖 TCP 与 RTU。
  • Newtonsoft.Json、ConfigurationManager:API 数据解析与配置读取。
  • Oracle.ManagedDataAccess、System.Data.SqlClient:按场景访问 Oracle 或 SQL Server。

4. DevFrm 功能模块详解

4.1 登录与主框架

  • Program.cs:单实例守护、CefSharp 初始化、启动登录流程。
  • FrmLogin:自动更新(AutoUpdater.NET)、字体加载、账号记忆、调用 User/UserLogin
  • FrmMain:DevExpress FluentDesign 主界面,负责菜单树加载(User/GetUserLoginInfo)、页签生命周期、组织切换、底部状态栏及窗口间事件传递。

4.2 基础数据域

  • BasicData/:维护系统主数据。典型窗体包括 Frm_Customer(客户)、Frm_Supplier & Frm_SupplierSrm(供应商与 SRM 关系)、Frm_MesItems/Frm_MesItemsShow(物料)、Frm_MesWorkshopLine(产线)、Frm_StaffFrm_Department 等。
  • BarCode/:条码批量生成、打印模板设置,常见窗体如 Frm_BarcodePrint, Frm_BarcodeTemplate
  • JJGZ/:夹具工装及设备点检相关主数据,维护工装台账、点检项目。

4.3 仓储管理域

  • Ck/(出库):覆盖材料、补料、其他、退货、委外等出库流程;如 Frm_MesItemBl(补料出库)、Frm_MesCgthSq(采购退货申请)、Frm_MesInvItemOut_SCLL(生产领料出库)。
  • Rk/(入库):来料、退库及杂项入库;如 Frm_MesInvItemArn(到货入库)、Frm_MesItemTbl(材料入库台账)、Frm_MesItemQtrk(其他入库)。
  • Warehouse/:库内操作与条码维护;包含 Frm_MesDbck(调拨出库)、Frm_MesRohIn(原材入库)、Frm_ArrivalBarcodeFrm_InitialBarcode 等条码处理。
  • PDA/:与手持设备交互的简化界面,提供扫码、理货、盘点等现场动作。

4.4 质量管理域

  • QC/:质量通用模块与字典维护,含缺陷代码(DefectCode*.cs)、检验项目(Frm_MesQaItemsDetect01)、AQL 抽样设置(Frm_MesQmAql1)等,并提供 Models/ DTO。
  • IPQC/:制程过程检验,如 Frm_ShouJian(首件)、Frm_XunJian(巡检)、H5 检验界面等。
  • FQC/:成品终检,包括 Frm_FqcFrm_FqcDetect01、异常处理 MesFqcExceptional
  • RkQC/:来料质检,提供 Frm_Cqfa(抽检方案)、Frm_CqfaItemsFrm_QtrkDetect01Frm_WwrkDetect01 等。
  • WW/:委外质量管理,如委外检验、异常回传。

4.5 制造执行域

  • Work/:制程作业核心,如 Frm_WorkStart(工序开工)、Frm_WorkProcesses(流程卡控)、Frm_Work01/09(工站数据采集,含 Modbus、SQLServer 交互)、Frm_Repair(返工维修)等。
  • WOM/:工单管理,负责生产任务下达、排产调整、工单追踪。

4.6 销售、报表与统计

  • Sales/:销售订单、发货、退货等前端业务。
  • Rpt/:报表中心,包含 FastReport/DevExpress 报表设计、运行、数据源配置,如 EasyRptDesign, EasyRptEdt, SysHelp 等。

4.7 系统与权限

  • Sys/:系统设置与后台管理。功能包括 SysMenu(菜单结构)、Organization(组织树)、DocNoRule(单号规则)、SysLogSysHelpFrm_Config 等。
  • User/:用户、角色、角色授权、密码变更等,如 User, Role, RoleSelectAction, UserSetPwd

4.8 其它支持域

  • JJGZ/:夹具工装、计量设备台账与点检任务,为质量与维护模块提供基础数据。
  • WW/:委外协同作业及质检闭环,衔接外协流程。
  • PDA/:手持终端界面集,用于仓储、生产、质检场景的扫码作业。
  • 根目录下的 FrmMainFrmLoginXtraForm* 等窗体提供通用示例或调试入口,可作为新模块参考模板。

5. 工具、控件与公共能力

  • ToolBox/UtilityHelper:封装 HttpPost、JSON 解析(ReturnToDynamic/ReturnToTablePage)、资源加载、Grid 初始化、过滤条件描述等。
  • ToolBox/LogHelper:按日期写入 logs/{yyyy-MM-dd}.log;GUI 层统一通过 MsgHelper 提示。
  • ToolBox/UpdateParentEventArgs:用于子窗体与主窗体之间的事件通信。
  • UserControl/UcToolBarMenuUcPageBarUcDictionarySelectUcLook* 等控件提升复用性;Toast 用于轻量提示。

6. 辅助项目说明

  • Gs.WeightIqc:定时读取串口称重数据,通过 WorkWeight/EditModel API 上报;含线程管理、串口配置、日志记录。
  • Gs.WeightLine:类似 IQC,但支持线体下拉选择、双计时器刷新以及更多界面交互。
  • Gs.Setup:生成安装包或 ClickOnce 部署所需的安装工程,与 Release 构建输出配套。

7. 配置与环境

  • 主配置文件:Gs.DevApp/App.config(运行期读取 Gs.DevApp.exe.config)。
  • 关键键值:WebApiUrlProductNameVersionIsAutoUpdaterAutoUpdaterXmlLogPathAsyncSecondsTimingMailInterval 等。
  • 设备与数据库地址默认指向内网 IP(如 192.168.0.51192.168.60.51),部署前需按环境调整。
  • 称重模块使用串口参数(波特率、端口号)及 Modbus 站号/寄存器配置;建议将硬编码路径抽离到配置或后台参数表。
  • 日志默认写入应用目录下 logs/;请确保客户端具备写权限或改为公共数据目录。

8. 构建与部署

  • 调试构建:msbuild GsDevSolution.sln /p:Configuration=Debug
  • 发布构建:msbuild .\Gs.DevApp\Gs.DevApp.csproj /t:Rebuild /p:Configuration=Release
  • 可执行文件位于 bin\{Configuration}\;发布时需携带 DevExpress、CefSharp 依赖及 x86/x64 子目录。
  • 安装包:在 Release 构建后打开 Gs.Setup/Gs.Setup.vdproj 导出 MSI/EXE。
  • 自动更新:若启用 IsAutoUpdater=1,需要部署 AutoUpdaterXml 指向的更新描述文件与安装包。

9. 开发与调试建议

  • 遵循现有目录划分,新增功能优先放置于相应业务子目录。
  • 复用 ToolBoxUserControl 中的公共能力,避免重复实现 HTTP、日志、分页、选择器等逻辑。
  • 关键 API 调用前后记录日志,异常时使用 MsgHelper 展示友好信息,并在后台日志附带上下文(工站、条码、用户等)。
  • 在涉及硬件或长耗时操作时,使用后台线程/异步模式,避免阻塞 UI;替换 Thread.Abort 为取消标记可提升稳定性。
  • 建议建立手工测试清单:登录、菜单加载、核心业务流程、称重上传、报表打印等。
  • 明文凭据和环境 IP 应迁移至安全配置或环境变量,提交前注意脱敏。

---
如需进一步扩展或培训,可基于本指南快速定位模块入口、核心配置以及构建流程。欢迎根据实际业务持续补充。***