本文件梳理 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/ |
权限管理 | 用户、角色、授权、密码 |
下文按模块分组说明关键窗体、功能流程以及依赖。
DevExpress.XtraBars.FluentDesignSystem.FluentDesignForm。User/GetUserLoginInfo)、维护 TabPage 缓存、处理右键关闭、组织切换、页签间事件传递 (UpdateParentEventArgs)。UtilityHelper.HttpPost、MsgHelper、LoginInfoModel。AutoUpdater.NET)、字体记忆 (Settings.Default.fontSizeName)、账号记忆、调用 User/UserLogin,成功后写入 LoginInfoModel.CurrentUser。UtilityHelper.HttpPost、MsgHelper、Settings。这些文件位于 DevFrm 根目录,是项目入口,其他模块以树状菜单的形式挂载。
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 等控件完成分页与操作。
BarCode/关注条码策略:
- Frm_BoxCode:箱码生成规则设置。
- SelectBoxItem/SelectBoxDaa:条码与物料关联选择弹窗。
- 相关逻辑依赖 UserControl 中的选择控件、条码打印工具。
JJGZ/工装、治具、点检:
- 管理夹具台账、点检计划、异常记录。
- 常与质检、制程模块联合使用,确保设备状态合格。
Ck/(出库)覆盖多种出库流程:
- Frm_MesItemBl/Frm_MesItemBlDj:补料申请与单据。
- Frm_MesItemCl 系列:材料出库。
- Frm_MesItemQt:其他出库。
- Frm_MesCgthSq:采购退货申请。
- Frm_MesInvItemOut_SCLL:生产领料出库。
窗体结合 UcToolBarMenu、SelectMesCgthSq、UcDictionarySelect 等组件完成单据编制和审批。
Rk/(入库)Frm_MesInvItemArn:到货入库。Frm_MesInvItemIns:质检入库。Frm_MesItemTbl:入库台账。Frm_MesItemQtrk 系列:其他入库。Ck/ 类似,通过 WebApi 处理单据流转,支持附件上传、条码生成。Warehouse/库内操作,偏向库存调整、条码维护:
- Frm_MesDbck:调拨出库 / 库存调整。
- Frm_MesRohIn:原材入库处理。
- Frm_ArrivalBarcode、Frm_InitialBarcode:条码初始化、补打。
与 PDA 模块联动,常使用 UcLookKw、UcLookCk 等控件。
PDA/针对手持终端的 WinForms 界面,聚焦扫码场景:
- 包含入库、出库、盘点、移库等简化窗体。
- 通常提供大按钮、扫码框,调用相同的 WebApi。
QC/(通用)DefectCode*.cs:缺陷代码维护(按业务场景区分:Qc, Rk, Ck 等)。Frm_MesQaItemsDetect01、Frm_MesQaItemsDetect01Input:检验项目与录入。Frm_MesQmAql1、Frm_MesQmAql2:AQL 抽样配置。Models/:质检领域实体模型(如 MesDefectCode, MesSysLookups)。IPQC/(过程检验)Frm_ShouJian 系列:首件检验。Frm_XunJian 系列:巡检。Frm_ShouJianDetect01H5:基于 Web 的检验界面。Work/ 数据。FQC/(成品检验)Frm_Fqc:总览。Frm_FqcDetect01:检验执行。MesFqcExceptional:异常处理。SelectFqcBox:选择批次、箱码。RkQC/(来料检验)Frm_Cqfa、Frm_CqfaItems:抽检方案定义。Frm_Cqsq:抽检申请。Frm_CqDetect01、Frm_QtrkDetect01、Frm_WwrkDetect01:来料/委外/完工入库检验。WW/WOM/、RkQC/ 协同,形成外协闭环。Work/核心工位与报工逻辑:
- Frm_WorkStart:工序开工、人员设备绑定。
- Frm_WorkProcesses:工艺流程、过站控制。
- Frm_Work01、Frm_Work09:采集 Modbus、SerialPort、SQL Server 数据,调用 WorkCollect/ API 汇报。
- Frm_Repair:返修流程。
- SelectProcess 等选择窗体辅助筛选工序、设备。
WOM/Work/、Warehouse/、QC/ 共享数据,保证生产闭环。PDA/(与生产关联)Work/ API 对接。Sales/Frm_SalesOrder、Frm_SalesDelivery 等(具体文件根据版本配置)。Rpt/EasyRptDesign, EasyRptEdt, EasyRptEdtShow。SysHelp, ShowRptWizard 等提供展示、说明。Sys/SysMenu:菜单结构维护。Organization:组织树。DocNoRule:单据编号规则。SysLog:系统日志。Frm_Config:系统配置,可读取/写入 App.config。SysHelp:帮助文档编辑展示。User/User:用户维护。Role、RoleSelectAction:角色与权限分配。UserSelectRole、UserSetPwd:角色分配、重置密码。UcDictionarySelect, UcTreeList 等控件呈现权限树。尽管位于 UserControl/、ToolBox/,但与 DevFrm 模块紧密耦合:
- UcToolBarMenu, UcPageBar, UcDictionarySelect, UcLook* 控件在大部分窗体中复用。
- UtilityHelper 提供 HttpPost, JSON 解析, Grid 初始化, 资源访问;LogHelper 写日志;MsgHelper 统一弹窗。
- UpdateParentEventArgs 用于子窗体通知父窗体刷新(如审核后刷新列表)。
UtilityHelper.HttpPost(WebApiUrl, route, json) 调用后台,需确保 App.config 配置正确。新增模块时优先复用该方式。Work/Frm_Work01、Gs.Weight* 等模块使用 NModbus、SerialPort,在 DevFrm 新增类似功能时需注意 UI 线程安全与资源释放。LogHelper.Debug 按业务模块输出日志,结合 MsgHelper 呈现用户提示。通过上述梳理,可快速定位 DevFrm 各模块职责与典型窗体,便于开展二次开发与模块维护。建议结合 HELP.md 总览与 ANALYSIS_REPORT.md 进一步掌握全局架构。***