tjx
2025-10-12 bfce056348ba394a988f136d7b5111579e7bfa3f
补充文档说明
已修改1个文件
已添加2个文件
723 ■■■■ 文件已修改
DevApp/ANALYSIS_REPORT.md 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DevApp/DEVFRM_GUIDE.md 186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DevApp/HELP.md 459 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DevApp/ANALYSIS_REPORT.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,78 @@
# é¡¹ç›®åˆ†æžæŠ¥å‘Š
## ä¸€ã€é¡¹ç›®æ¦‚况
LB_MesClient è§£å†³æ–¹æ¡ˆæä¾›é¢å‘工厂现场的桌面客户端套件,核心是基于 .NET Framework 4.8 çš„ DevExpress WinForms åº”用 `Gs.DevApp`,同时配套 `Gs.WeightIqc`、`Gs.WeightLine` ç­‰ä¸²å£ç§°é‡é‡‡é›†ç«™ç‚¹ä»¥åŠ `Gs.Setup` å®‰è£…项目。整体采用汉化界面,围绕 WebApi (`App.config` ä¸­é»˜è®¤ä¸º `http://192.168.0.51:8081/`) æä¾›çš„ MES æœåŠ¡è¿›è¡Œæ•°æ®äº¤äº’ã€‚
## äºŒã€è§£å†³æ–¹æ¡ˆç»“æž„
- `Gs.DevApp/`:主客户端,`DevFrm/` æŒ‰ä¸šåŠ¡é¢†åŸŸæ‹†åˆ†ï¼ˆQC è´¨æ£€ã€Work åˆ¶ç¨‹ã€Sys ç³»ç»Ÿé…ç½®ã€Warehouse ä»“储等),`UserControl/` æä¾›è·¨çª—体复用的工具条、分页、字典选择器,`ToolBox/` èšåˆå·¥å…·ç±»ï¼ˆHTTP、对话框、日志、事件传递等),`Entity/` å­˜æ”¾è½»é‡çº§ DTO。
- `Gs.WeightIqc/` ä¸Ž `Gs.WeightLine/`:串口/Modbus é‡‡é›†ç¨‹åºï¼Œå‘¨æœŸæ€§è¯»å–重量数据并调用 `WorkWeight/EditModel` WebApi ä¸Šä¼ ã€‚
- `Gs.Setup/`:Visual Studio Installer (`.vdproj`) ç”¨äºŽæ‰“包发布。
- `packages/`:本地 NuGet ç¼“存,包含 DevExpress、CefSharp、NModbus、System.* å„版本。
## ä¸‰ã€æ ¸å¿ƒæŠ€æœ¯æ ˆä¸Žä¸»è¦ä¾èµ–
- UI æ¡†æž¶ï¼šDevExpress v22.2(FluentDesign、XtraGrid、XtraTab、WaitDialog ç­‰ï¼‰ï¼ŒFastReport åµŒå…¥å¼æŠ¥è¡¨ã€‚
- æµè§ˆå†…嵌:CefSharp 109 ç”¨äºŽå†…嵌 Web é¡µæˆ–登陆扩展。
- è‡ªåŠ¨æ›´æ–°ï¼šAutoUpdater.NET(可选,`IsAutoUpdater=1` æ—¶å¯ç”¨ï¼‰ã€‚
- å·¥æŽ§é€šä¿¡ï¼šNModbus(TCP ä¸Ž RTU)、SerialPort ç›´æŽ¥è¯»å–称重仪表。
- JSON ä¸Žé…ç½®ï¼šNewtonsoft.Json å¤„理 API å“åº”,ConfigurationManager è¯»å– `App.config`。
## å››ã€ä¸šåŠ¡ä¸ŽåŸºç¡€æ¨¡å—åˆ†æž
### 1. ç™»å½•与权限
`FrmLogin` å¤„理自动更新、字体加载、账号记忆,调用 `User/UserLogin` å¹¶å°†ç™»å½• GUID å†™å…¥ `LoginInfoModel`。错误通过 `MsgHelper` å°è£…çš„ MessageBox å‘ˆçŽ°ã€‚
### 2. ä¸»ç•Œé¢å¯¼èˆª
`FrmMain` åŸºäºŽ DevExpress FluentDesignForm,实现:
- ä»¿ ERP å·¦ä¾§å¯¼èˆªæ ‘,通过 `UtilityHelper.HttpPost("User/GetUserLoginInfo")` èŽ·å¾—èœå•ã€ç»„ç»‡ä¿¡æ¯ï¼›
- é¡µç­¾ç®¡ç†ï¼ˆ`Dictionary<string, XtraTabPage>` ç¼“存),右键菜单支持关闭当前/其它页;
- å·¥å…·æ ç»„织切换、字体显示、版本提示;
- äº‹ä»¶å§”托 `UpdateParentEventArgs` ç”¨äºŽå­çª—体请求父窗体刷新。
### 3. ä¸šåŠ¡çª—ä½“
`DevFrm` ä¸‹æŒ‰ä¸šåŠ¡æ‹†åˆ†ï¼Œä¾‹å¦‚ï¼š
- `QC`:缺陷代码、检验模板、异常管理等窗体,配套 `Models` DTO;
- `Work`:生产报工、工序启动 (`Frm_WorkStart`)、工艺参数采集 (`Frm_Work01` åŒ…含 Modbus è½®è¯¢ã€SQL Server æ•°æ®è¯»å–);
- `Sys`:菜单、组织、编号规则、日志管理等系统配置界面。
窗体普遍调用 `UtilityHelper.HttpPost` ä¸ŽåŽç«¯äº¤äº’,并使用 `WaitDialogForm` æŒ‡ç¤ºåŠ è½½ã€‚
### 4. ç”¨æˆ·æŽ§ä»¶ä¸Žå·¥å…·ç®±
- `UserControl/UcToolBarMenu`、`UcPageBar` å°è£…常见操作按钮、分页逻辑;
- `ToolBox/UtilityHelper` é›†æˆ HTTP è¯·æ±‚、JSON è§£æž (`ReturnToDynamic`/`ReturnToTablePage`)、资源加载、Grid é»˜è®¤åŒ–、FilterEntity ç­‰ï¼›
- `ToolBox/LogHelper` å°†æ—¥å¿—按日期写入 `logs/{yyyy-MM-dd}.log`。
### 5. ç¡¬ä»¶é›†æˆ
`Gs.WeightIqc` ä¸Ž `Gs.WeightLine` å…±ç”¨ `ToolBox`,利用 `SerialPort` + `NModbus.Serial` è¯»å–称重仪寄存器,并通过线程/计时器异步上传;界面提供串口参数、采集开关、线体选择。
## äº”、配置与环境依赖
- `Gs.DevApp/App.config` é…ç½® WebApi åœ°å€ã€æ—¥å¿—目录、自动更新、超时(`AsyncSeconds`)、称重等待等;需按环境调整 IP ä¸Žç«¯å£ã€‚
- `Frm_Work01` ç­‰å¤„存在硬编码 SQL Server è¿žæŽ¥ä¸²ï¼ˆå«è´¦å· `mesUser` ä¸Žæ˜Žæ–‡å¯†ç ï¼‰åŠ Modbus è®¾å¤‡ IP (`192.168.60.51:502`),部署前必须审查并抽取至配置。
- å®‰è£…目录默认写入 `logs/`,需确保客户端具备写权限。
## å…­ã€æž„建与部署流程
- è§£å†³æ–¹æ¡ˆé€šè¿‡ `msbuild GsDevSolution.sln /p:Configuration=Debug` ç¼–译;`Gs.DevApp`、`Gs.WeightIqc`、`Gs.WeightLine` é»˜è®¤ AnyCPU è¾“出至 `bin\{Configuration}`。
- å‘布版本通常使用 `msbuild Gs.DevApp\Gs.DevApp.csproj /t:Rebuild /p:Configuration=Release` æž„建,再通过 `Gs.Setup` æ‰“包。
- CefSharp & DevExpress ä¾èµ–需随发行包一起分发(涉及 `x86/x64` å­ç›®å½•)。
## ä¸ƒã€è´¨é‡ä¸Žæµ‹è¯•现状
- ä»“库未包含自动化测试项目,主要依靠手工流程验证。
- å…³é”®äº¤äº’(登录、菜单加载、报工、称重上传)需制定手工测试脚本,并配合日志文件定位问题。
- å»ºè®®å¼•入最小化的 UI è‡ªåŠ¨åŒ–æˆ–æœåŠ¡å±‚å•å…ƒæµ‹è¯•ï¼Œä¿éšœæ ¸å¿ƒ API è°ƒç”¨é€»è¾‘。
## å…«ã€é£Žé™©ä¸Žå¾…改进项
1. **安全性**:大量配置使用明文 HTTP ä¸Žç¡¬ç¼–码数据库凭据,缺少 Token æ ¡éªŒå’Œå¼‚常处理,需引入 HTTPS、凭据加密及配置分层管理。
2. **异常处理不足**:`UtilityHelper.HttpPost` æ•捉异常后直接抛出原始 `ex`,缺少重试与具体错误提示;串口线程异常多为吞掉处理。
3. **可维护性**:窗体代码体量大(如 `Frm_Work01` è¶… 600 è¡Œï¼‰ï¼Œä¸šåŠ¡é€»è¾‘ä¸Žç•Œé¢æ··æ‚ï¼Œå»ºè®®æ‹†åˆ†æœåŠ¡ç±»æˆ–å¼•å…¥ MVP/MVVM æ¨¡å¼ã€‚
4. **性能与资源**:频繁创建 `WaitDialogForm`、HTTP è¯·æ±‚未显式释放 `HttpWebResponse`,需注意资源回收与 UI é˜»å¡žã€‚
5. **国际化/本地化**:文本硬编码为简体中文,后续若需多语支持需要集中抽取。
## ä¹ã€æ”¹è¿›å»ºè®®
- **配置治理**:将 API、数据库、设备参数迁移至加密配置或数据库表,支持环境切换与权限控制。
- **模块重构**:为重量采集、报工等核心流程封装服务层,减轻窗体负担,提升测试友好度。
- **引入测试与 CI**:补充至少一个单元测试项目,结合 `msbuild` æž„建脚本在 CI ä¸­è¿è¡Œï¼›å…³é”®æµç¨‹ï¼ˆç™»å½•、称重上传)可使用集成测试验证。
- **日志与监控**: æ”¹é€  `LogHelper` æ”¯æŒæ—¥å¿—级别配置、文件滚动和云端收集,并在 HTTP è¯·æ±‚中增加详细上下文。
- **安全加固**:启用 HTTPS、令牌校验、敏感信息脱敏,串口线程中避免 `Thread.Abort`,改用取消标记与 `Task`。
## åã€åŽç»­å·¥ä½œè·¯çº¿
1. åˆ¶å®šé…ç½®æ¸…单与部署手册,确保环境差异可追踪。
2. è¯†åˆ«é«˜é£Žé™©çª—体(如 `Frm_Work01`、串口相关模块)进行代码审计与重构。
3. è§„划测试策略,优先补齐登录、菜单加载、称重上传、报表导出的验证用例。
4. å¼•入版本化发布流,结合 `Gs.Setup` è‡ªåŠ¨åŒ–æ‰“åŒ…ï¼Œå¹¶è®°å½•å˜æ›´æ—¥å¿—ã€‚
DevApp/DEVFRM_GUIDE.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,186 @@
# DevFrm æ¨¡å—详解
本文件梳理 `Gs.DevApp/DevFrm/` ç›®å½•下的业务模块、核心窗体以及与后台服务、硬件的交互方式,便于新成员快速了解各子系统职责与扩展点。
## ç›®å½•总览
| å­ç›®å½• | ä¸šåŠ¡èŒƒå›´ | å…³é”®è¯´æ˜Ž |
| --- | --- | --- |
| `FrmMain.*` | ä¸»æ¡†æž¶ | DevExpress FluentDesign ä¸»çª—体,负责导航树、页签、全局事件 |
| `FrmLogin.*` | ç™»å½•入口 | è‡ªåŠ¨æ›´æ–°ã€å­—ä½“é…ç½®ã€è´¦å·è®°å¿†ã€è°ƒç”¨ `User/UserLogin` |
| `BasicData/` | åŸºç¡€ä¸»æ•°æ® | å®¢æˆ·ã€ä¾›åº”商、物料、组织、工序、班组等 |
| `BarCode/` | æ¡ç ç®¡ç† | æ¡ç å®šä¹‰ã€æ‰“印、箱码/托码生成 |
| `Ck/` | ä»“库出库 | è¡¥æ–™ã€ææ–™ã€å…¶ä»–、委外等出库流程 |
| `Rk/` | ä»“库入库 | åˆ°è´§ã€æ£€éªŒã€é€€åº“、其他入库 |
| `Warehouse/` | åº“内作业 | åº“存调整、条码初始化、移库、报表 |
| `QC/` | è´¨é‡é€šç”¨ | ç¼ºé™·ä»£ç ã€æ£€éªŒé¡¹ç›®ã€AQL æ ‡å‡†ã€è´¨æ£€æ¨¡åž‹ |
| `IPQC/` | è¿‡ç¨‹æ£€éªŒ | é¦–件、巡检、过程数据采集(含 H5 ç‰ˆæœ¬ï¼‰ |
| `FQC/` | æˆå“æ£€éªŒ | å‡ºåŽ‚ç»ˆæ£€ã€å¼‚å¸¸å¤„ç†ã€æ‰¹é‡åˆ¤å®š |
| `RkQC/` | æ¥æ–™æ£€éªŒ | æŠ½æ£€æ–¹æ¡ˆã€æ£€éªŒæ‰§è¡Œã€å¼‚常反馈 |
| `Work/` | åˆ¶ç¨‹æ‰§è¡Œ | å·¥åºå¼€å·¥ã€æŠ¥å·¥ã€å·¥ç«™é‡‡é›†ã€è¿”ä¿® |
| `WOM/` | å·¥å•管理 | ç”Ÿäº§å·¥å•、排程、派工 |
| `WW/` | å§”外管理 | å§”外工单、检验、回传 |
| `PDA/` | æ‰‹æŒç»ˆç«¯ | PDA æ‰«ç ä½œä¸šï¼ˆä»“储、质检、制程) |
| `JJGZ/` | å·¥è£…治具 | å¤¹å…·å°è´¦ã€ç‚¹æ£€ä»»åŠ¡ã€ç»´ä¿®è®°å½• |
| `Sales/` | é”€å”®ä¸šåŠ¡ | é”€å”®è®¢å•、发货、退货 |
| `Rpt/` | æŠ¥è¡¨å¹³å° | FastReport/DevExpress æŠ¥è¡¨è®¾è®¡ã€è¿è¡Œ |
| `Sys/` | ç³»ç»Ÿè®¾ç½® | èœå•、组织、日志、编号、打印配置 |
| `User/` | æƒé™ç®¡ç† | ç”¨æˆ·ã€è§’色、授权、密码 |
下文按模块分组说明关键窗体、功能流程以及依赖。
## 1. ä¸»æ¡†æž¶ä¸ŽåŸºç¡€è®¾æ–½
- **FrmMain**
  - åŸºç±»ï¼š`DevExpress.XtraBars.FluentDesignSystem.FluentDesignForm`。
  - åŠŸèƒ½ï¼šåŠ è½½ç”¨æˆ·èœå• (`User/GetUserLoginInfo`)、维护 TabPage ç¼“存、处理右键关闭、组织切换、页签间事件传递 (`UpdateParentEventArgs`)。
  - å…³é”®ä¾èµ–:`UtilityHelper.HttpPost`、`MsgHelper`、`LoginInfoModel`。
- **FrmLogin**
  - åŠŸèƒ½ï¼šè‡ªåŠ¨æ›´æ–° (`AutoUpdater.NET`)、字体记忆 (`Settings.Default.fontSizeName`)、账号记忆、调用 `User/UserLogin`,成功后写入 `LoginInfoModel.CurrentUser`。
  - ä¾èµ–:`UtilityHelper.HttpPost`、`MsgHelper`、`Settings`。
这些文件位于 `DevFrm` æ ¹ç›®å½•,是项目入口,其他模块以树状菜单的形式挂载。
## 2. åŸºç¡€æ•°æ®åŸŸ
### 2.1 `BasicData/`
维护系统静态主数据,为后续流程提供基础字段。典型窗体:
- `Frm_Customer`/`Frm_Supplier`:客户、供应商主数据,支持增删改查、启停用。
- `Frm_MesItems`/`Frm_MesItemsShow`:物料主档与浏览。
- `Frm_MesUnit`、`Frm_MesDepot`、`Frm_MesWorkshopLine`:计量单位、仓库、产线信息。
- `Frm_Staff`、`Frm_Department`:人员、组织架构。
- `Frm_MesItemType` ç­‰åˆ†ç±»ç»´æŠ¤ã€‚
这些窗体通常继承自 `XtraForm`,利用 `UtilityHelper.HttpPost` ä¸Ž WebApi é€šä¿¡ï¼Œä½¿ç”¨ `UcToolBarMenu`、`UcPageBar` ç­‰æŽ§ä»¶å®Œæˆåˆ†é¡µä¸Žæ“ä½œã€‚
### 2.2 `BarCode/`
关注条码策略:
- `Frm_BoxCode`:箱码生成规则设置。
- `SelectBoxItem`/`SelectBoxDaa`:条码与物料关联选择弹窗。
- ç›¸å…³é€»è¾‘依赖 `UserControl` ä¸­çš„选择控件、条码打印工具。
### 2.3 `JJGZ/`
工装、治具、点检:
- ç®¡ç†å¤¹å…·å°è´¦ã€ç‚¹æ£€è®¡åˆ’、异常记录。
- å¸¸ä¸Žè´¨æ£€ã€åˆ¶ç¨‹æ¨¡å—联合使用,确保设备状态合格。
## 3. ä»“储域
### 3.1 `Ck/`(出库)
覆盖多种出库流程:
- `Frm_MesItemBl`/`Frm_MesItemBlDj`:补料申请与单据。
- `Frm_MesItemCl` ç³»åˆ—:材料出库。
- `Frm_MesItemQt`:其他出库。
- `Frm_MesCgthSq`:采购退货申请。
- `Frm_MesInvItemOut_SCLL`:生产领料出库。
窗体结合 `UcToolBarMenu`、`SelectMesCgthSq`、`UcDictionarySelect` ç­‰ç»„件完成单据编制和审批。
### 3.2 `Rk/`(入库)
- `Frm_MesInvItemArn`:到货入库。
- `Frm_MesInvItemIns`:质检入库。
- `Frm_MesItemTbl`:入库台账。
- `Frm_MesItemQtrk` ç³»åˆ—:其他入库。
与 `Ck/` ç±»ä¼¼ï¼Œé€šè¿‡ WebApi å¤„理单据流转,支持附件上传、条码生成。
### 3.3 `Warehouse/`
库内操作,偏向库存调整、条码维护:
- `Frm_MesDbck`:调拨出库 / åº“存调整。
- `Frm_MesRohIn`:原材入库处理。
- `Frm_ArrivalBarcode`、`Frm_InitialBarcode`:条码初始化、补打。
与 PDA æ¨¡å—联动,常使用 `UcLookKw`、`UcLookCk` ç­‰æŽ§ä»¶ã€‚
### 3.4 `PDA/`
针对手持终端的 WinForms ç•Œé¢ï¼Œèšç„¦æ‰«ç åœºæ™¯ï¼š
- åŒ…含入库、出库、盘点、移库等简化窗体。
- é€šå¸¸æä¾›å¤§æŒ‰é’®ã€æ‰«ç æ¡†ï¼Œè°ƒç”¨ç›¸åŒçš„ WebApi。
## 4. è´¨é‡åŸŸ
### 4.1 `QC/`(通用)
- `DefectCode*.cs`:缺陷代码维护(按业务场景区分:`Qc`, `Rk`, `Ck` ç­‰ï¼‰ã€‚
- `Frm_MesQaItemsDetect01`、`Frm_MesQaItemsDetect01Input`:检验项目与录入。
- `Frm_MesQmAql1`、`Frm_MesQmAql2`:AQL æŠ½æ ·é…ç½®ã€‚
- `Models/`:质检领域实体模型(如 `MesDefectCode`, `MesSysLookups`)。
### 4.2 `IPQC/`(过程检验)
- `Frm_ShouJian` ç³»åˆ—:首件检验。
- `Frm_XunJian` ç³»åˆ—:巡检。
- `Frm_ShouJianDetect01H5`:基于 Web çš„æ£€éªŒç•Œé¢ã€‚
通常在工序产线上使用,结合 `Work/` æ•°æ®ã€‚
### 4.3 `FQC/`(成品检验)
- `Frm_Fqc`:总览。
- `Frm_FqcDetect01`:检验执行。
- `MesFqcExceptional`:异常处理。
- `SelectFqcBox`:选择批次、箱码。
### 4.4 `RkQC/`(来料检验)
- `Frm_Cqfa`、`Frm_CqfaItems`:抽检方案定义。
- `Frm_Cqsq`:抽检申请。
- `Frm_CqDetect01`、`Frm_QtrkDetect01`、`Frm_WwrkDetect01`:来料/委外/完工入库检验。
### 4.5 `WW/`
- å§”外加工质量管理,如委外验收、异常回馈。
- ä¸Ž `WOM/`、`RkQC/` ååŒï¼Œå½¢æˆå¤–协闭环。
## 5. åˆ¶é€ æ‰§è¡ŒåŸŸ
### 5.1 `Work/`
核心工位与报工逻辑:
- `Frm_WorkStart`:工序开工、人员设备绑定。
- `Frm_WorkProcesses`:工艺流程、过站控制。
- `Frm_Work01`、`Frm_Work09`:采集 Modbus、SerialPort、SQL Server æ•°æ®ï¼Œè°ƒç”¨ `WorkCollect/` API æ±‡æŠ¥ã€‚
- `Frm_Repair`:返修流程。
- `SelectProcess` ç­‰é€‰æ‹©çª—体辅助筛选工序、设备。
### 5.2 `WOM/`
- å·¥å•下达、派工、拆分合并、进度追踪。
- ä¸Ž `Work/`、`Warehouse/`、`QC/` å…±äº«æ•°æ®ï¼Œä¿è¯ç”Ÿäº§é—­çŽ¯ã€‚
### 5.3 `PDA/`(与生产关联)
- ä¸ºäº§çº¿æä¾›çš„简化扫码输入界面(如报工、报废、工位切换),与 `Work/` API å¯¹æŽ¥ã€‚
## 6. é”€å”®ä¸ŽæŠ¥è¡¨
### 6.1 `Sales/`
- `Frm_SalesOrder`、`Frm_SalesDelivery` ç­‰ï¼ˆå…·ä½“文件根据版本配置)。
- ç®¡ç†é”€å”®è®¢å•、发货、退货,与仓储模块联动。
### 6.2 `Rpt/`
- æŠ¥è¡¨æ¡†æž¶ï¼š`EasyRptDesign`, `EasyRptEdt`, `EasyRptEdtShow`。
- æ”¯æŒ FastReport ä¸Ž DevExpress æŠ¥è¡¨è®¾è®¡å™¨ã€‚
- `SysHelp`, `ShowRptWizard` ç­‰æä¾›å±•示、说明。
## 7. ç³»ç»Ÿä¸Žæƒé™
### 7.1 `Sys/`
- `SysMenu`:菜单结构维护。
- `Organization`:组织树。
- `DocNoRule`:单据编号规则。
- `SysLog`:系统日志。
- `Frm_Config`:系统配置,可读取/写入 `App.config`。
- `SysHelp`:帮助文档编辑展示。
### 7.2 `User/`
- `User`:用户维护。
- `Role`、`RoleSelectAction`:角色与权限分配。
- `UserSelectRole`、`UserSetPwd`:角色分配、重置密码。
- ä½¿ç”¨ `UcDictionarySelect`, `UcTreeList` ç­‰æŽ§ä»¶å‘ˆçŽ°æƒé™æ ‘ã€‚
## 8. å…¬å…±æŽ§ä»¶ä¸Žå·¥å…·
尽管位于 `UserControl/`、`ToolBox/`,但与 DevFrm æ¨¡å—紧密耦合:
- `UcToolBarMenu`, `UcPageBar`, `UcDictionarySelect`, `UcLook*` æŽ§ä»¶åœ¨å¤§éƒ¨åˆ†çª—体中复用。
- `UtilityHelper` æä¾› `HttpPost`, JSON è§£æž, Grid åˆå§‹åŒ–, èµ„源访问;`LogHelper` å†™æ—¥å¿—ï¼›`MsgHelper` ç»Ÿä¸€å¼¹çª—。
- `UpdateParentEventArgs` ç”¨äºŽå­çª—体通知父窗体刷新(如审核后刷新列表)。
## 9. ä¾èµ–与扩展注意事项
1. **API çº¦å®š**:绝大多数窗体通过 `UtilityHelper.HttpPost(WebApiUrl, route, json)` è°ƒç”¨åŽå°ï¼Œéœ€ç¡®ä¿ `App.config` é…ç½®æ­£ç¡®ã€‚新增模块时优先复用该方式。
2. **DevExpress æŽ§ä»¶**:窗体设计依赖 DevExpress v22.2,新增界面请使用同版本控件,保持 Look&Feel ä¸€è‡´ã€‚
3. **线程与硬件交互**:`Work/Frm_Work01`、`Gs.Weight*` ç­‰æ¨¡å—使用 `NModbus`、`SerialPort`,在 DevFrm æ–°å¢žç±»ä¼¼åŠŸèƒ½æ—¶éœ€æ³¨æ„ UI çº¿ç¨‹å®‰å…¨ä¸Žèµ„源释放。
4. **日志与异常**:使用 `LogHelper.Debug` æŒ‰ä¸šåŠ¡æ¨¡å—è¾“å‡ºæ—¥å¿—ï¼Œç»“åˆ `MsgHelper` å‘ˆçŽ°ç”¨æˆ·æç¤ºã€‚
5. **国际化**:现有窗体中文提示较多,若扩展需考虑统一的资源管理。
---
通过上述梳理,可快速定位 DevFrm å„模块职责与典型窗体,便于开展二次开发与模块维护。建议结合 `HELP.md` æ€»è§ˆä¸Ž `ANALYSIS_REPORT.md` è¿›ä¸€æ­¥æŽŒæ¡å…¨å±€æž¶æž„。***
DevApp/HELP.md
@@ -1,390 +1,107 @@
# è“å®MES系统代码结构详细说明
# è“å® MES å®¢æˆ·ç«¯å¸®åŠ©æŒ‡å—
## é¡¹ç›®æ¦‚è¿°
## 1. é¡¹ç›®æ¦‚览
- **解决方案名称**:`GsDevSolution.sln`
- **主要用途**:面向制造现场的 MES Windows å®¢æˆ·ç«¯ï¼Œè¦†ç›–生产、仓储、质检、系统配置等业务。
- **核心应用**:`Gs.DevApp`(DevExpress WinForms å®¢æˆ·ç«¯ï¼‰ï¼Œè¾…以称重采集站点与安装程序。
蓝宝PC前端 (LanBao PC Frontend) æ˜¯ä¸€ä¸ªåŸºäºŽ .NET Framework 4.8 çš„制造执行系统 (MES) å®¢æˆ·ç«¯åº”用程序,采用 Windows Forms æŠ€æœ¯æ ˆå’Œ DevExpress UI ç»„件库,提供完整的制造业务管理功能。
## 2. è§£å†³æ–¹æ¡ˆç»“æž„
## æŠ€æœ¯æ ˆ
| ç›®å½• | è¯´æ˜Ž |
| --- | --- |
| `Gs.DevApp/` | ä¸»å®¢æˆ·ç«¯é¡¹ç›®ï¼ŒåŒ…含全部业务窗体、工具库、资源及配置。 |
| â”œâ”€ `DevFrm/` | ä¸šåŠ¡çª—ä½“ï¼ŒæŒ‰é¢†åŸŸåˆ’åˆ†ï¼ˆ`BasicData/` åŸºç¡€æ•°æ®ã€`Work/` åˆ¶ç¨‹ã€`QC/` è´¨æ£€ã€`Sys/` ç³»ç»Ÿè®¾ç½®ç­‰ï¼‰ã€‚ |
| â”œâ”€ `Entity/` | DTO ä¸Žé€šç”¨æ¨¡åž‹ï¼ˆå¦‚ `PageQueryModel`、`ReturnModel`)。 |
| â”œâ”€ `ToolBox/` | å…¬å…±å·¥å…·ç±»ï¼ˆHTTP、日志、Modbus、对话框包装等)。 |
| â”œâ”€ `UserControl/` | å¯å¤ç”¨æŽ§ä»¶ï¼ˆå·¥å…·æ ã€åˆ†é¡µã€æ•°æ®å­—典、查询选择器等)。 |
| `Gs.WeightIqc/` | IQC æ¥æ–™ç§°é‡å®¢æˆ·ç«¯ï¼Œè´Ÿè´£ä¸²å£/Modbus é‡‡é›†ä¸Žä¸Šä¼ ã€‚ |
| `Gs.WeightLine/` | äº§çº¿ç§°é‡å®¢æˆ·ç«¯ï¼Œæ”¯æŒå¤šæ¡çº¿ä½“切换与实时监控。 |
| `Gs.Setup/` | Visual Studio Installer é¡¹ç›®ï¼ˆ`.vdproj`),用于打包发布。 |
| `packages/` | NuGet ç¼“存目录,包含 DevExpress、CefSharp、NModbus、System.* ä¾èµ–。 |
- **.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** - æŠ¥è¡¨ç”Ÿæˆç³»ç»Ÿ
## 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`)、页签生命周期、组织切换、底部状态栏及窗口间事件传递。
```
DevApp/
├── Gs.DevApp/                    # ä¸»åº”用程序项目
│   â”œâ”€â”€ DevFrm/                  # ä¸šåŠ¡åŠŸèƒ½æ¨¡å—çª—ä½“
│   â”œâ”€â”€ Entity/                  # æ•°æ®å®žä½“ç±»
│   â”œâ”€â”€ ToolBox/                 # å·¥å…·ç±»å’Œè¾…助函数
│   â”œâ”€â”€ UserControl/             # è‡ªå®šä¹‰ç”¨æˆ·æŽ§ä»¶
│   â”œâ”€â”€ Properties/              # é¡¹ç›®å±žæ€§
│   â”œâ”€â”€ Resources/               # èµ„源文件
│   â”œâ”€â”€ bin/                     # ç¼–译输出目录
│   â””── obj/                     # ç¼–译临时文件
├── Gs.WeightIqc/                # IQC称重检测模块
├── Gs.WeightLine/               # ç”Ÿäº§çº¿ç§°é‡æ¨¡å—
├── Gs.Setup/                    # å®‰è£…程序项目
└── packages/                    # NuGet包管理目录
```
### 4.2 åŸºç¡€æ•°æ®åŸŸ
- **`BasicData/`**:维护系统主数据。典型窗体包括 `Frm_Customer`(客户)、`Frm_Supplier` & `Frm_SupplierSrm`(供应商与 SRM å…³ç³»ï¼‰ã€`Frm_MesItems`/`Frm_MesItemsShow`(物料)、`Frm_MesWorkshopLine`(产线)、`Frm_Staff`、`Frm_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_ArrivalBarcode`、`Frm_InitialBarcode` ç­‰æ¡ç å¤„理。
- **`PDA/`**:与手持设备交互的简化界面,提供扫码、理货、盘点等现场动作。
- **Program.cs** - åº”用程序主入口,单实例管理,CefSharp初始化
- **DevFrm/FrmLogin.cs** - ç™»å½•窗体,自动更新器集成
- **DevFrm/FrmMain.cs** - ä¸»MDI窗体,DevExpress FluentDesign界面
### 4.4 è´¨é‡ç®¡ç†åŸŸ
- **`QC/`**:质量通用模块与字典维护,含缺陷代码(`DefectCode*.cs`)、检验项目(`Frm_MesQaItemsDetect01`)、AQL æŠ½æ ·è®¾ç½®ï¼ˆ`Frm_MesQmAql1`)等,并提供 `Models/` DTO。
- **`IPQC/`**:制程过程检验,如 `Frm_ShouJian`(首件)、`Frm_XunJian`(巡检)、H5 æ£€éªŒç•Œé¢ç­‰ã€‚
- **`FQC/`**:成品终检,包括 `Frm_Fqc`、`Frm_FqcDetect01`、异常处理 `MesFqcExceptional`。
- **`RkQC/`**:来料质检,提供 `Frm_Cqfa`(抽检方案)、`Frm_CqfaItems`、`Frm_QtrkDetect01`、`Frm_WwrkDetect01` ç­‰ã€‚
- **`WW/`**:委外质量管理,如委外检验、异常回传。
## æ ¸å¿ƒä¸šåŠ¡æ¨¡å—è¯¦è§£ (DevFrm/)
### 4.5 åˆ¶é€ æ‰§è¡ŒåŸŸ
- **`Work/`**:制程作业核心,如 `Frm_WorkStart`(工序开工)、`Frm_WorkProcesses`(流程卡控)、`Frm_Work01/09`(工站数据采集,含 Modbus、SQLServer äº¤äº’)、`Frm_Repair`(返工维修)等。
- **`WOM/`**:工单管理,负责生产任务下达、排产调整、工单追踪。
### 1. åŸºç¡€æ•°æ®ç®¡ç† (BasicData/)
**功能:** ç³»ç»ŸåŸºç¡€ä¸»æ•°æ®ç»´æŠ¤å’Œç®¡ç†
### 4.6 é”€å”®ã€æŠ¥è¡¨ä¸Žç»Ÿè®¡
- **`Sales/`**:销售订单、发货、退货等前端业务。
- **`Rpt/`**:报表中心,包含 FastReport/DevExpress æŠ¥è¡¨è®¾è®¡ã€è¿è¡Œã€æ•°æ®æºé…ç½®ï¼Œå¦‚ `EasyRptDesign`, `EasyRptEdt`, `SysHelp` ç­‰ã€‚
**主要模块:**
- `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` - éƒ¨é—¨ä¿¡æ¯ç®¡ç†
### 4.7 ç³»ç»Ÿä¸Žæƒé™
- **`Sys/`**:系统设置与后台管理。功能包括 `SysMenu`(菜单结构)、`Organization`(组织树)、`DocNoRule`(单号规则)、`SysLog`、`SysHelp`、`Frm_Config` ç­‰ã€‚
- **`User/`**:用户、角色、角色授权、密码变更等,如 `User`, `Role`, `RoleSelectAction`, `UserSetPwd`。
### 2. ä»“库出库模块 (Ck/)
**功能:** ä»“库出库业务流程管理,包含各种出库类型
### 4.8 å…¶å®ƒæ”¯æŒåŸŸ
- `JJGZ/`:夹具工装、计量设备台账与点检任务,为质量与维护模块提供基础数据。
- `WW/`:委外协同作业及质检闭环,衔接外协流程。
- `PDA/`:手持终端界面集,用于仓储、生产、质检场景的扫码作业。
- æ ¹ç›®å½•下的 `FrmMain`、`FrmLogin`、`XtraForm*` ç­‰çª—体提供通用示例或调试入口,可作为新模块参考模板。
**主要模块:**
- `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` - éªŒæ”¶é€€è´§ç®¡ç†
## 5. å·¥å…·ã€æŽ§ä»¶ä¸Žå…¬å…±èƒ½åŠ›
- `ToolBox/UtilityHelper`:封装 `HttpPost`、JSON è§£æžï¼ˆ`ReturnToDynamic/ReturnToTablePage`)、资源加载、Grid åˆå§‹åŒ–、过滤条件描述等。
- `ToolBox/LogHelper`:按日期写入 `logs/{yyyy-MM-dd}.log`;GUI å±‚统一通过 `MsgHelper` æç¤ºã€‚
- `ToolBox/UpdateParentEventArgs`:用于子窗体与主窗体之间的事件通信。
- `UserControl/`:`UcToolBarMenu`、`UcPageBar`、`UcDictionarySelect`、`UcLook*` ç­‰æŽ§ä»¶æå‡å¤ç”¨æ€§ï¼›`Toast` ç”¨äºŽè½»é‡æç¤ºã€‚
### 3. ä»“库入库模块 (Rk/)
**功能:** ä»“库入库业务流程管理
## 6. è¾…助项目说明
- **Gs.WeightIqc**:定时读取串口称重数据,通过 `WorkWeight/EditModel` API ä¸ŠæŠ¥ï¼›å«çº¿ç¨‹ç®¡ç†ã€ä¸²å£é…ç½®ã€æ—¥å¿—记录。
- **Gs.WeightLine**:类似 IQC,但支持线体下拉选择、双计时器刷新以及更多界面交互。
- **Gs.Setup**:生成安装包或 ClickOnce éƒ¨ç½²æ‰€éœ€çš„安装工程,与 Release æž„建输出配套。
**主要模块:**
- `Frm_MesItemTbl.cs` - ææ–™å…¥åº“台账
- `Frm_MesItemTbl_RK.cs` - å…¥åº“单据处理
- `Frm_MesItemTblShow.cs` - å…¥åº“信息展示
- `Frm_MesItemQtrk.cs` / `Frm_MesItemQtrkDj.cs` - å…¶ä»–入库申请/单据
- `Frm_MesInvItemArn.cs` - åˆ°è´§å…¥åº“管理
- `Frm_MesInvItemIns.cs` - æ£€éªŒå…¥åº“管理
## 7. é…ç½®ä¸ŽçŽ¯å¢ƒ
- ä¸»é…ç½®æ–‡ä»¶ï¼š`Gs.DevApp/App.config`(运行期读取 `Gs.DevApp.exe.config`)。
  - å…³é”®é”®å€¼ï¼š`WebApiUrl`、`ProductName`、`Version`、`IsAutoUpdater`、`AutoUpdaterXml`、`LogPath`、`AsyncSeconds`、`TimingMailInterval` ç­‰ã€‚
  - è®¾å¤‡ä¸Žæ•°æ®åº“地址默认指向内网 IP(如 `192.168.0.51`、`192.168.60.51`),部署前需按环境调整。
- ç§°é‡æ¨¡å—使用串口参数(波特率、端口号)及 Modbus ç«™å·/寄存器配置;建议将硬编码路径抽离到配置或后台参数表。
- æ—¥å¿—默认写入应用目录下 `logs/`;请确保客户端具备写权限或改为公共数据目录。
### 4. è´¨é‡æŽ§åˆ¶æ¨¡å—
## 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` æŒ‡å‘的更新描述文件与安装包。
#### 4.1 FQC (Final Quality Control) - æœ€ç»ˆè´¨é‡æŽ§åˆ¶
**功能:** æˆå“å‡ºè´§å‰æœ€ç»ˆè´¨é‡æ£€éªŒ
- `Frm_Fqc.cs` - FQC检验主界面
- `Frm_FqcDetect01.cs` - FQC检测流程
- `Frm_FQCItem.cs` - FQC检验项目管理
## 9. å¼€å‘与调试建议
- éµå¾ªçŽ°æœ‰ç›®å½•åˆ’åˆ†ï¼Œæ–°å¢žåŠŸèƒ½ä¼˜å…ˆæ”¾ç½®äºŽç›¸åº”ä¸šåŠ¡å­ç›®å½•ã€‚
- å¤ç”¨ `ToolBox`、`UserControl` ä¸­çš„公共能力,避免重复实现 HTTP、日志、分页、选择器等逻辑。
- å…³é”® API è°ƒç”¨å‰åŽè®°å½•日志,异常时使用 `MsgHelper` å±•示友好信息,并在后台日志附带上下文(工站、条码、用户等)。
- åœ¨æ¶‰åŠç¡¬ä»¶æˆ–长耗时操作时,使用后台线程/异步模式,避免阻塞 UI;替换 `Thread.Abort` ä¸ºå–消标记可提升稳定性。
- å»ºè®®å»ºç«‹æ‰‹å·¥æµ‹è¯•清单:登录、菜单加载、核心业务流程、称重上传、报表打印等。
- æ˜Žæ–‡å‡­æ®å’ŒçŽ¯å¢ƒ IP åº”迁移至安全配置或环境变量,提交前注意脱敏。
#### 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系统提供了完整的制造执行管理功能,从基础数据管理到生产执行,从质量控制到仓库管理,形成了完整的制造业务闭环。系统架构清晰,模块职责明确,为制造企业提供了强大的信息化支撑平台。
---
如需进一步扩展或培训,可基于本指南快速定位模块入口、核心配置以及构建流程。欢迎根据实际业务持续补充。***