紧固件MES系统 — 系统总览与架构
本文档为系统重构参考资料的总入口,提供全局视角。
阅读顺序:01总览 → 02业务流程 → 03模块详解 → 04数据字典 → 05重构建议
一、系统基本信息
| 项目 | 说明 |
|---|---|
| 系统名称 | xxx智能制造平台(紧固件MES) |
| 数据库 | SQL Server,数据库名:Mes,服务器:x.x.x.x |
| 前端技术 | C# WinForms + DevComponents DotNetBar (Ribbon UI) |
| 数据访问 | ADO.NET(全局SqlConnection + SqlHelper封装类) |
| 报表 | FastReport |
| 移动端 | PDA WebService(独立项目,不在本解决方案中) |
| 架构模式 | MDI多文档界面,客户端直连数据库 |
| 工厂配置 | FactoryBh="xx",FactoryMc="xx紧固件" |
| 版本号 | xxxxxxx |
二、技术架构
┌──────────────────────────────────────────────────────────────┐
│ frmMain (Ribbon MDI 主窗体) │
│ 物料管理│销售管理│基础数据│计划管理│生产执行│质量管理│... │
├──────────────────────────────────────────────────────────────┤
│ 各功能 WinForm 窗体 (frm*.cs) │
│ 单据窗体 | 选择器(frmSele*) | 编辑器(frm*Edit) │
├────────────────────────┬─────────────────────────────────────┤
│ AppGlobal (Function.cs)│ Type.cs (模型类定义) │
│ 全局变量/公共函数/Main │ TUser, TSeleCp, TSeleWl 等 │
├────────────────────────┼─────────────────────────────────────┤
│ SqlHelper.cs │ DAL/ (TbRole, TbCpFl 等) │
│ 封装增删改查 │ 数据访问层 │
├────────────────────────┴─────────────────────────────────────┤
│ SQL Server 数据库 (DGMes) │
│ 旧版表(无前缀) + 新版表(Tb前缀) │
└──────────────────────────────────────────────────────────────┘
2.1 数据访问方式
| 组件 | 说明 |
|---|---|
| AppGlobal.Cnn | 全局 SqlConnection,程序启动时建立 |
| AppGlobal.Da | 全局 SqlDataAdapter |
| AppGlobal.Rs | 全局 DataSet |
| SqlHelper | 封装类:ExecAddDelUpdate(参数化增删改)、ExecSelectNo(查询)、ExecSelectDs(返回DataSet)、ExecSelectScalar |
| 窗体SQL | 大部分窗体直接在代码中拼接SQL字符串操作数据库 |
2.2 编码体系
系统使用 2位类别码+4位序号 的编码规则,类别常量定义在 AppGlobal:
| 常量 | 值 | 含义 | 常量 | 值 | 含义 |
|---|---|---|---|---|---|
| CSTCJ | 1 | 车间 | CSTJT | 8 | 机台 |
| CSTJYXM | 9 | 检验项目 | CSTCP | 10 | 产品 |
| CSTCPFL | 11 | 产品分组 | CSTGC | 12 | 钢材 |
| CSTGCFL | 13 | 钢材分组 | CSTGYLX | 21 | 工艺路线 |
| CSTKH | 30 | 客户 | CSTKHFL | 31 | 客户分组 |
| CSTBM | 40 | 部门 | CSTUSER | 60 | 用户 |
| CSTCZG | 61 | 操作工 | CSTGYS | 70 | 供应商 |
| CSTGYSFL | 71 | 供应商分组 | CSTWL | 80 | 物料 |
| CSTWLFL | 81 | 物料分组 |
注:CSTGX="20"(工序)在代码中已被注释掉,不再使用。
三、权限体系
| 层级 | 机制 | 说明 |
|---|---|---|
| 菜单级 | TbModule.MkBh 匹配控件.Tag | 控制Ribbon Tab/按钮的可见性 |
| 角色级 | TbRole + TbPermission + TbRolePermission | 角色-权限表,BindRole()在主窗体加载时执行 |
| 用户级 | TbFkUser 细粒度字段 | QxJy(检验)、QxTj(统计)、QxSw(事务)、QxWg(外购)、QxSc(生产) |
| 超级管理员 | SuperTabItem5 | 可见权限管理入口 |
用户登录信息存储在全局变量 pubUser (TUser类),包含约27个字段。
四、两套数据体系
数据库存在两套命名体系,反映系统从MRP到MES的演进:
| 体系 | 前缀 | 示例 | 说明 |
|---|---|---|---|
| 旧系统(MRP) | 无前缀 | Cp, Gx, Kh, Sc, Pc, Mj | 早期模块,约50张表,部分仍在使用 |
| 新系统(MES) | Tb前缀 | TbCp, TbFkPc, TbFKGY, TbGc | 主力模块,约150+张表 |
重构重点:新老系统部分功能重叠(如 Cp/TbCp、Pc/TbFkPc),应统一到新体系。
4.1 表命名规则
| 规则 | 示例 | 说明 |
|---|---|---|
| 主表 | TbRk, TbCk, TbWxCh | 单据/实体表 |
| 明细表 | TbRkMx, TbCkMx | 主表+Mx后缀 |
| 货位明细 | TbRkMxHw, TbCkMxHw | 明细+Hw后缀 |
| 分类表 | TbCpFl, TbWlFl, TbGcFl | 实体+Fl后缀 |
| 库存表 | TbKcMxHw, TbGcKcMx, TbMjKc | 含Kc标识 |
| 履历表 | TbMjLlRk, TbMjLlUse, TbMjLlWx | Ll(履历)标识 |
| 检验报告 | TbFkBg/TbFkBgA/TbFkBgB | Fk前缀+Bg |
| 检验模板 | TbFkBgGs/TbFkBgGsA | Bg+Gs(公式) |
| 旧系统表 | Cp, Gx, Kh, Sc, Pc | 无Tb前缀 |
4.2 字段缩写速查表
系统使用拼音首字母缩写命名,以下为高频缩写:
| 缩写 | 含义 | 缩写 | 含义 | 缩写 | 含义 |
|---|---|---|---|---|---|
| Bh | 编号 | Mc | 名称 | Xh | 型号 |
| Gg | 规格 | Fl | 分类 | Dj | 单据/等级 |
| Rq | 日期 | Djh | 单据号 | Djid | 单据ID |
| Mx | 明细 | Hw | 货位 | Sl | 数量 |
| Zl | 重量 | Xs | 箱数/系数 | Ts | 桶数 |
| Cp | 产品 | Gx | 工序 | Cj | 车间 |
| Mj | 模具 | Jt | 机台 | Gc | 钢材 |
| Kh | 客户 | Gys | 供应商 | Czg | 操作工 |
| Rk | 入库 | Ck | 出库 | Qc | 欠产/盘库 |
| Th | 退货/桶号 | Bf | 报废 | Pc | 排产/盘存 |
| Gy | 工艺 | Gz | 工作 | Lh | 流号 |
| Bg | 报告 | Gs | 公式 | Jy | 检验 |
| Wx | 外协/维修 | Wg | 外购 | Sq | 申请 |
| Cg | 采购 | Tl | 退料 | Hk | 回库 |
| Jl | 计量 | Je | 金额 | Dd | 订单 |
| Xs | 销售 | Fk | 工号 | Ly | 领用 |
| Gh | 归还 | By | 保养 | Bj | 备件 |
| Qw | 区位 | Qj | 千件 | Jc | 简称 |
| Jsr | 经手人 | Tag | 标记 | Zy | 摘要 |
| Wl | 物料 | Bz | 包装/标准 | Sc | 生产 |
| Ph | 批号 | Cz | 材质 | Kc | 库存 |
| Sfc | 收发存 | Tph | 托盘号 | — | — |
五、功能模块总览
系统通过 Ribbon 菜单组织为 15个模块:
| 序号 | 模块名称 | Tag | 状态 | 核心业务 |
|---|---|---|---|---|
| 1 | 生产管理 | 02 | ✅ | 钢材管理、物料管理、外购件 |
| 2 | 销售管理 | 03 | ✅ | 出库通知、订单关闭、出货报检 |
| 3 | 基础数据 | 04 | ✅ | 产品、模具、工序、BOM、工艺路线、控制计划、检验公式 |
| 4 | 计划管理 | 05 | ⚠️ 部分 | 排产计划、工号管理、需求汇总 |
| 5 | 生产执行 | 06 | ✅ | 工序监控、流转卡、在制品、数据采集(预留) |
| 6 | 质量管理 | 07 | ✅ | 检验报告(A/B/过程/成品)、试验中心(8类)、品质改善 |
| 7 | 外协管理 | 08 | ✅ | 外协工序、发出/入库/损耗/结算 |
| 8 | 成品仓库 | 09 | ✅ | 入库/出库/退货/收发存/货位 |
| 9 | 模具仓库 | 10 | ✅ | 入库/领用/归还/报废/盘存/履历 |
| 10 | 设备管理 | 11 | ✅ | 台账、保养计划/执行、维修、备件 |
| 11 | 追溯管理 | 12 | ✅ | 钢材/产品/条码/Barcode追溯 |
| 12 | 电子看板 | 13 | ✅ | 生产/排产/设备/产品/模具看板 |
| 13 | 财务管理 | 14 | ❌ 隐藏 | 完全未开发 |
| 14 | 商业报表 | 15 | ✅ | BI材料/质量分析 |
| 15 | 大数据分析 | 16 | ❌ 隐藏 | 完全未开发 |
六、核心业务概览
紧固件制造的典型流程:
销售订单(TbXsDdMx)↓
生产排产(TbFkPc) ←→ 钢材准备(TbGcSq→TbGcCk) + 模具准备(TbMjLy)↓
制流转卡(TbGzLhFk → TbFkPc → TbFKGY)↓
┌──────────────────────────────────────────────────┐
│ 工序1:冷镦 → 检验A(TbFkBgA) │
│ 工序2:搓丝 → 过程检验(TbFkBg) │
│ 工序3:热处理 → 检验B(TbFkBgB) │
│ 工序4:电镀(TbFkGalv) 或 外协(TbWxCh→TbWxRk) │
│ 工序5:包装(TbBzMx) │
└──────────────────────────────────────────────────┘↓
成品检验(TbFkCpBg) → 不合格品审核(TbFkBgAudit)↓
成品入库(TbRk→TbKcMxHw) → 发货通知(TbCkTz) → 成品出库(TbCk)
全流程追溯ID传递
| 追溯字段 | 含义 | 贯穿范围 |
|---|---|---|
| XsDdMxId | 订单明细ID | 订单→排产→流转→入库→出库→结算 |
| GzLh | 工作令号 | 排产→流转卡→工序→检验→入库→库存 |
| FkBh | 工号(排产单号) | 排产→工序→电镀→外协 |
| CpId/CpBh | 产品ID/编号 | 所有与产品相关的表 |
| MjBh | 模具编号 | 排产→工序→电镀→库存 |
| GxOrder | 工序顺序 | 工序路线→工序记录→外协 |
| Barcode | 条码 | 库存货位→出库→追溯 |
七、实体关系总览
┌─────┐ 1:N ┌──────┐ 1:N ┌────────┐
│ 客户 │───────────→│ 订单 │───────────→│ 排产单 │
│TbKh │ │XsDdMx│ │TbFkPc │
└─────┘ └──────┘ └───┬────┘│ 1:N▼
┌─────┐ N:1 ┌────────┐ 1:N ┌──────┐ 1:N ┌──────┐
│ 产品 │←─────────│ 排产单 │────────→│工序记录│────────→│检验报告│
│TbCp │ │TbFkPc │ │TbFKGY│ │FkBg* │
└──┬──┘ └───┬────┘ └──┬───┘ └──────┘│ │ ││ N:1 │ N:1 │ 1:1▼ ▼ ▼
┌─────┐ ┌──────┐ ┌────────┐
│ 钢材 │ │ 模具 │ │电镀流转 │
│TbGc │ │TbMj │ │TbFkGalv│
└─────┘ └──────┘ └────────┘┌──────┐ 1:N ┌──────┐ 1:N ┌────────┐
│ 工序 │←───────│工艺路线│ │ 入库 │
│TbGx │ │TbGyLx │ │TbRk │
└──────┘ └──────┘ └───┬────┘│ 1:N
┌──────┐ 1:N ┌──────┐ ┌────────┐
│ 车间 │────────→│ 机台 │ │库存货位 │
│TbCj │ │TbJt │ │TbKcMxHw│
└──────┘ └──────┘ └────────┘
八、部门-业务模块-流程映射
8.1 部门与模块对照
系统TbBm中的核心部门(去除测试数据):总经理办公室、市场营销部、生产部、技术部、采购、质量部、仓库、综合管理部、财务部、物流部、生产管理部、信息部。
各部门在系统中涉及的功能模块和业务流程如下:
8.2 销售/市场营销部
| 系统模块 | 业务流程 |
|---|---|
| 销售管理 (Tag=03) | 接收客户需求 → 创建销售订单(TbXsDd/TbXsDdMx) → 关联合同号(Hth) → 订单跟踪 → 订单关闭 |
| 客户管理 (0107) | 客户档案维护(TbKh) → 客户分类(TbKhFl,按地区) → 产品-客户关联(TbCpCustomer) |
| 出库通知 | 创建出库通知单(TbCkTz/TbCkTzMx) → 安排发货 |
| 出货报检 | 出货前报检(frmXsYc) → 确认产品质量达标 |
| BI报表 (Tag=15) | 订单完成率统计、交货达成率分析 |
核心数据流: 客户需求 → 销售订单(XsDdMxId) → 驱动整个生产链
权限标记: QxSw(商务权限)
8.3 技术部
| 系统模块 | 业务流程 |
|---|---|
| 产品管理 (0400) | 产品档案(TbCp,44字段) → 定义产品规格/型号/等级/表面处理 |
| 产品分类 (TbCpFl) | 螺栓/螺母/螺钉/垫圈/铆钉等分类树维护 |
| 工艺路线 (TbGyLx/TbGyLxMx) | 定义每个产品的工序路线(冷镦→搓丝→热处理→电镀→包装) |
| 控制计划 (TbCpControl) | 产品×工序的质量控制要求定义 |
| 检验模板 (TbFkBgGs*) | 定义检验项目(TbJyXm)、技术要求、检验方法 |
| 产品BOM (TbCpBom) | 定义产品材料构成(线材→坯料→半成品→成品) |
| 模具关联 | 产品与模具(MjBh)、钢材(GcBh/GcCz/GcZj)、千件重(CpKg)等工艺参数 |
核心数据流: 产品定义 → 工艺路线 → 控制计划 → 检验标准(下发到生产和质量部门执行)
8.4 生产管理部/生产部
| 系统模块 | 业务流程 |
|---|---|
| 计划管理 (Tag=05) | 排产计划(TbPc/TbPcMx) → 分配车间/机台(TbPcMxJt) → 外协计划(TbPcMxCjWx) |
| 制卡/排产 (Tag=02) | 按订单创建排产单(TbFkPc) → 生成工号(FkBh)/工作令号(GzLh) → 分卡(TbGzLhFk) |
| 生产执行 (Tag=06) | 工序流转(TbFKGY状态机) → 每道工序开工/完工打卡 → 记录数量/重量/合格率 |
| 车间移出/移入 | 移出(TbCjYc) → 下工序车间移入(TbCjYr) → 废品/报废记录(TbCjYcMxDiscard) |
| 批次拆分 | 大批拆小批(TbFKGYCf) |
| 外协管理 (Tag=08) | 工序外协发出(TbWxChMx) → 外协入库(TbWxRkMx) → 对账 |
| 电子看板 (Tag=13) | 车间看板(实时工序进度/产量/不合格率) |
权限标记: QxSc(生产主管权限)
各车间对应工序:
| 车间 | 主要工序 | 说明 |
|---|---|---|
| 冷镦车间 | 冷镦(金属成型) | 首道工序,决定产品外形 |
| 搓丝车间 | 搓丝/滚丝/搓花 | 螺纹成型 |
| 热处理车间 | 热处理/驱氢 | 常外发(TagWx) |
| 机加工车间 | 车加工/割槽/合模 | 特殊件二次加工 |
| 表面处理 | 镀锌/达克罗/磷化/钝化/发黑 | 常外发(TagWx) |
| 包装车间 | 筛选/包装/入库 | 末道工序 |
| 外协车间 | 外协热处理/外协表面处理 | 供应商代工 |
8.5 质量部
| 系统模块 | 业务流程 |
|---|---|
| 质量管理 (Tag=07) | 过程检验(TbFkBg) → 首检(TbFkBgA) → 巡检(TbFkBgB) → 成品检验(TbFkCpBg) |
| 不合格审核 | 不合格品审核(TbFkBgAudit) → 返工(TbFg) / 让步接收 / 报废(TbBf) |
| 质量报告 (TbZlBg) | 理化报告(硬度/渗碳层/金相等) |
| 电镀检验 (TbFkGalv) | 125字段电镀质量检测(膜厚/盐雾/扭力/耐腐蚀等) |
| SPC统计 (TbSpc) | 统计过程控制数据 |
| 废品统计 | 按车间×废品类型(TbDiscard)统计不合格率 |
| BI-质量分析 (Tag=15) | 不合格率趋势、检验统计 |
权限标记: QxJy(检验权限)
8.6 采购部
| 系统模块 | 业务流程 |
|---|---|
| 钢材管理 (0200) | 钢材需求汇总(TbGcSq) → 钢材采购 → 入库检验(TbGcJy) → 入库(TbGcRk) |
| 物料管理 (0211~) | 物料申请(TbWlSq) → 物料采购(TbWlCg) → 入库(TbWlRk) |
| 供应商管理 (0106) | 供应商档案(TbGys,94家) → 分类(原材料/外加工/辅料/模具/设备) |
| 外协采购 | 热处理/表面处理外协供应商选择(GysIdRcl/GysIdBmcl) |
关键供应商分类: 碳钢类/不锈钢(原材料)、热处理/电镀/表面处理(外协加工)、包装材料/辅料(生产辅料)、模具/设备(固定资产)
8.7 仓库部
| 系统模块 | 业务流程 |
|---|---|
| 钢材仓库 (0200) | 钢材入库(TbGcRk) → 货位管理(TbGcHw) → 领用出库(TbGcCk) → 退货(TbGcTh) → 盘库(TbGcQc) |
| 成品仓库 (Tag=09) | 成品入库(TbRk/TbRkMx) → 货位管理(TbKcMxHw) → 出库(TbCk/TbCkMx) → 退货(TbTh) → 盘库(TbQc) |
| 模具仓库 (Tag=10) | 模具入库(TbMjRk) → 领用(TbMjLy) → 返还(TbMjGh) → 外购入库(TbMjWgRk) → 报废(TbMjBf) |
| 物料仓库 (0211~) | 物料入库(TbWlRk) → 领用(TbWlCk) → 盘库(TbWlQc) |
| 条码/货位 | 条码扫描(TbBarcode)、货位调整(TbHwModi)、保质期预警(TbRkMx.Bzq) |
货位编码: 区-排-层(如1-2-3),桶号(如1-1),区位(如A-1)
8.8 设备/模具管理
| 系统模块 | 业务流程 |
|---|---|
| 设备管理 (Tag=11) | 设备台账(TbJt,30字段) → 保养计划(TbJtByJh) → 保养记录(TbJtBy) → 维修(TbJtWx) |
| 备件管理 | 备件台账(TbJtBj) → 领用(TbJtGzBj) |
| 模具管理 (Tag=10) | 模具台账(TbMjCode) → 寿命跟踪 → 调拨(TbMjTc) → 报废(TbMjBf) |
8.9 物流部
| 系统模块 | 业务流程 |
|---|---|
| 出库通知 (TbCkTz) | 按订单生成出库通知 → 打包 → 发货 |
| 发货通知 (FhTz) | 发货通知单管理 |
| 包装管理 (TbBzMx) | 按客户包装标准执行(千件/盒、箱/托盘换算) |
8.10 财务部
| 系统模块 | 状态 |
|---|---|
| 财务管理 (Tag=14) | ❌ 整个Tab隐藏,未开发 |
| 现有数据支撑 | 订单金额(TbXsDdMx.Je)、钢材成本(TbGcSqMx.Price)、外协费用(TbWxRkMx.Price)——有原始数据但无汇总核算 |
| BI-材料分析 | 钢材成本统计(frmBICl)——部分替代 |
8.11 综合管理部/信息部
| 系统模块 | 业务流程 |
|---|---|
| 系统管理 (Backstage) | 用户管理(TbFkUser) → 角色权限(TbRole/TbRolePermission) → 模块授权(TbModule) |
| 基础数据 (Tag=04) | 部门(TbBm)、车间(TbCj)、岗位(TbGw)、操作工(TbCzg)维护 |
| 看板/打印配置 | 电子看板设置(TbEsSettings)、打印格式(TbPrintFormat)、版本管理(TbVersion) |
8.12 总经理/管理层
| 系统模块 | 用途 |
|---|---|
| BI报表 (Tag=15) | 材料分析/质量分析/综合看板 |
| 追溯管理 (Tag=12) | 全链路追溯(订单→排产→工序→检验→入库→出库) |
| 电子看板 (Tag=13) | 车间实时看板/交接班看板 |
| 统计权限 (QxTj) | 产量/效率/成本统计总览 |
8.13 部门协作总览
客户需求↓
销售部 ──→ 销售订单(XsDdMxId)↓
技术部 ──→ 产品定义 + 工艺路线 + 检验标准↓
采购部 ──→ 钢材采购 + 物料采购 + 外协安排↓ ↓
仓库部 ──→ 钢材入库 → 领用 供应商↓ ↓
生产部 ──→ 排产制卡 → 冷镦 → 搓丝 → 热处理 → 表面处理 → 筛选 → 包装↓ ↕ ↕ ↕
质量部 ──→ 首检/巡检 过程检验 电镀检验 → 成品检验↓
仓库部 ──→ 成品入库 → 货位管理↓
物流部 ──→ 出库通知 → 打包 → 发货↓
财务部 ──→ (待开发:成本核算/应收应付)↓
管理层 ──→ BI报表 + 追溯 + 看板
九、文档导航
| 文档 | 内容 | 适合阅读场景 |
|---|---|---|
| 01-系统总览与架构 (本文) | 全局概览、命名规则、部门-模块映射 | 首次了解系统 |
| 02-核心业务流程 | 生产主流程、状态机、核心表字段 | 理解业务逻辑 |
| 03-模块业务详解 | 每个模块的DB操作、业务规则 | 开发/重构具体模块 |
| 04-重构建议与待开发分析 | 功能缺口、架构建议、优先级 | 规划重构方案 |
| 05-术语与名词解析 | 紧固件行业+MES系统专有名词、编号规则、字段缩写 | 快速查阅术语 |