惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
NISL@THU
NISL@THU
E
Exploit-DB.com RSS Feed
L
LINUX DO - 热门话题
L
Lohrmann on Cybersecurity
K
Kaspersky official blog
Project Zero
Project Zero
Cisco Talos Blog
Cisco Talos Blog
T
The Exploit Database - CXSecurity.com
P
Palo Alto Networks Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
S
Schneier on Security
G
GRAHAM CLULEY
The Hacker News
The Hacker News
T
Threat Research - Cisco Blogs
Scott Helme
Scott Helme
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Privacy & Cybersecurity Law Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Cyberwarzone
Cyberwarzone
C
CERT Recently Published Vulnerability Notes
T
Tor Project blog
AWS News Blog
AWS News Blog
Simon Willison's Weblog
Simon Willison's Weblog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
爱范儿
爱范儿
P
Privacy International News Feed
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
S
Securelist
G
Google Developers Blog
The Last Watchdog
The Last Watchdog
Google Online Security Blog
Google Online Security Blog
美团技术团队
F
Fortinet All Blogs
小众软件
小众软件
Recorded Future
Recorded Future
V
Visual Studio Blog
B
Blog RSS Feed
H
Help Net Security
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Google DeepMind News
Google DeepMind News
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
Stack Overflow Blog
Stack Overflow Blog
Martin Fowler
Martin Fowler
Latest news
Latest news
Spread Privacy
Spread Privacy
H
Heimdal Security Blog

博客园 - thanks

05. 搅拌站ERP系统 — 术语解析与技术备注 03. 搅拌站ERP系统 — 数据库表字段详解与示例数据 04. 搅拌站ERP系统 — 模块业务详解 02. 搅拌站ERP系统 — 核心业务流程 01. 搅拌站ERP系统 — 系统总览与架构 07-紧固件MES系统 — 中小企业实施部署指南 06-紧固件MES系统 — 术语与名词解析 05-紧固件MES系统 — 推荐技术架构与智能制造方案 04-紧固件MES系统 — 重构建议与待开发分析 03-紧固件MES系统 — 模块业务详解 01-紧固件MES系统 — 系统总览与架构 VsCode+DeepSeek的AI编程助手初体验 [大数据][机器学习]之Model Card(模型卡片)介绍 Bond——大数据时代的数据交换和存储格式 Spark中的那些坑... 为啥就业这么难——聊聊我在培训机构的所见所闻 微软外服工作札记③——窗口函数的介绍 微软外服工作札记②——聊聊微软的知识管理服务平台和一些编程风格 【非技术】试占12月10日后会发生什么 聊聊我在微软外服大数据分析部门的工作经历及一些个人见解 SAAS云平台搭建札记: (四) AntD For React使用react-router-dom路由接收不同参数页面不刷新的问题 [工作札记]03: 微软Winform窗体中设计上的Bug,会导致程序编译失败,影响范围:到最新的.net4.7.2都有 [工作札记]02: .Net Winform控件TreeView最简递归绑定方法 SAAS云平台搭建札记: (三) AntDesign + .Net Core WebAPI权限控制、动态菜单的生成 [工作札记]01: CS系统中分页控件的制作 【非技术】试占新型肺炎的情况与发展趋势 给培训学校讲解ORM框架的课件 SAAS云平台搭建札记: (二) Linux Ubutu下.Net Core整套运行环境的搭建 SAAS云平台搭建札记: (一) 浅论SAAS多租户自助云服务平台的产品、服务和订单 开源三维地球GIS引擎Cesium常用功能的开发 Asp.net管理信息系统中数据统计功能的实现 - thanks
02-紧固件MES系统 — 核心业务流程
thanks · 2026-05-08 · via 博客园 - thanks

紧固件MES系统 — 核心业务流程

本文档从业务视角描述系统的端到端流程,重点说明各环节的数据表、状态流转和关键规则。


一、生产主流程总览

紧固件(螺栓、螺母等)从订单到出货的完整生产链路:

步骤 环节 核心数据表 说明
1 销售订单 TbXsDd/TbXsDdMx 客户下单(关联合同号Hth、客户TbKh),生成XsDdMxId(全链路追溯起点)
2 生产排产 TbFkPc 按订单建排产单,生成工号FkBh、工作令号GzLh、批号ScPh
3 工序路线生成 TbFKGX 根据产品工艺路线(TbGyLxMx)自动生成该排产单的工序列表
4 材料准备 TbGcSq → TbGcCk 钢材申请 → 审批 → 出库到车间
5 模具准备 TbMjLy 从模具仓库领用,安装到机台
6 工序1:冷镦/热镦 TbFKGY(GxOrder=1) 操作工(CzgId)在机台(JtId)上生产,完成后提交(TagTj=1)
7 过程检验A TbFkBgA 尺寸类检验(Data1~8 varchar)
8 工序2:搓丝/滚丝 TbFKGY(GxOrder=2) 螺纹加工
9 过程检验 TbFkBg 通用过程检验
10 工序3:热处理 TbFKGY(GxOrder=3) 淬火、回火等
11 过程检验B TbFkBgB 性能检验(Data1~8 float,硬度/拉力等)
12 工序4:电镀/表面处理 TbFkGalv(125字段) 前处理→电镀→后处理→检测→出货确认
13 工序5:包装 TbBzMx 按客户包装标准执行
14 成品检验 TbFkCpBg 出货前最终检验
15a 合格→入库 TbRk → TbKcMxHw 成品入库,分配货位
15b 不合格→审核 TbFkBgAudit 6部门7步审核流程
16 发货通知 TbCkTz/TbCkTzMx 创建出库通知单
17 成品出库 TbCk/TbCkMx/TbCkMxHw 按通知出库,扣减货位库存
18 发货 发货到客户

📊 生产主流程示范数据

TbXsDd(销售订单头)示范:

DjId
单据ID
Djh
单据号
DjRq
日期
Hth
合同号
KhId
客户ID
CpFlId
产品分类
MakerId
制单人
Memo
备注
904 XD20210112004 2021-01-12 798465 2 1 1
903 XD20210112003 2021-01-12 20210112 1 1 1 20210112
902 XD20210112002 2021-01-12 87454545 59 1 1

说明:Djh=单据号(XD+日期+序号),Hth=合同号(客户合同编号),KhId=关联TbKh客户ID

TbXsDdMx(销售订单明细)示范:

XsDdMxId
订单明细ID
Djh
单据号
CpBh
产品编号
CpId
产品ID
Sl
数量(千件)
Price
单价
Je
金额
JhRq
交货日期
MjBh
模具编号
BzId
包装ID
2729 XD20210112004 101084 1122 200 200 40000 2021-01-12 555 70
2728 XD20210112003 101083 1121 1000 1000 1000000 2021-01-12 20210112 69

说明:Djh=单据号(XD前缀),CpBh=产品编号,Sl=千件数,Je=金额,MjBh=模具编号,TagClose/TagCloseGc/TagWc=关闭/钢材关闭/完成标记

工序流转中的特殊分支

情况 数据表 说明
工序外协 TbFkWxFc 任何工序可发外协,记录重量/数量/桶号
废品记录 TbCjYcMxDiscard 记录废品类型(DiscardId)、数量、所属工序
批次拆分 TbFKGYCf 大批量拆分为小批量分别流转
车间移出 TbCjYc/TbCjYcMx 移出当前车间(含报废数LossSl、废品数DiscardSl)
车间移入 TbCjYr/TbCjYrMx 接收上道工序(含金额Price/Je、出货确认ChQr)
返工 TbFg + TbFkReworkGy 不合格品返回指定工序重新加工
报废 TbBf/TbBfMx 报废处理
工序欠产 TbGxQc/TbGxQcMx 记录计划数(WorkSl)、实际数(Sl)、欠产数(QcSl)

二、制卡流程(系统核心操作)

制流转卡是连接排产计划与生产执行的关键环节。

2.1 制卡数据流

TbPcMx(排产明细) ──→ frmGzLhFk(制卡界面) ──→ 写入以下表:
    │
    ├── TbGzLhFk(GzLh, FkBh, FkNum)         卡号索引
    ├── TbFkPc(排产单详情, 30+字段)           排产卡主表
    ├── TbFkGx(GzLh, FkBh, GxOrder, GxId...)  工序路线
    └── TbFkGy(工艺流转记录, Tag初始化)        工序跟踪(=TbFKGY)

2.2 卡号生成规则

  • GzLh:工作令号,来源于排产明细(TbPcMx)
  • FkBh:工号 = GzLh + 3位流水号(如 WO001001WO001002
  • FkNum:卡号序号,从现有最大值+1开始递增

2.3 制卡写入的完整字段

TbFkPc(排产卡主表)插入字段:

GzLh, FkBh, MjBh, CpId, CpBh, CpMc, CpXh, CpGg, CpDj, CpBmcl,
CpBj, JhRq, ZyKh, FkTotal, JhQj, GysIdRcl, GysMcRcl, RclYq,
GysIdBmcl, GysMcBmcl, BmClYq, GcLh, GcPh, InBh, GcCz, GcGg, TagUrgent

TbFkGy(工序跟踪记录)插入字段:

GzLh, FkBh, GxOrder, GxId, GxBh, GxMc, CpId, TagUrgent, GyKid,
TagWorkState=0, TagState=0, LeadTimes, StartTime, ReceiveTime,
EndTime, DueTime, CjBh, CjMc, pc_sl, scrq, TRq

2.4 删卡操作(6表级联删除)

DELETE FROM TbGxBar WHERE GzLh=@gzlh
DELETE FROM TbGxBarH WHERE GzLh=@gzlh
DELETE FROM TbGzLhFk WHERE GzLh=@gzlh
DELETE FROM TbFkPc WHERE GzLh=@gzlh
DELETE FROM TbFkGx WHERE GzLh=@gzlh
DELETE FROM TbFkGy WHERE GzLh=@gzlh

2.5 制卡业务规则

  • 产品必须已配置工艺路线(TbGyLxMx)才能制卡
  • 只有管理员或生产权限用户(pubUser.TagGly/QxSc)可制卡/删卡
  • 外购件(TagWg=1)有不同的钢材选择流程
  • 制卡时自动从TbPcMxJt分配机台(JtId/JtBh/JtMc)

2.6 TbFkPc 排产单字段定义(49字段,主要字段如下)

字段 类型 说明
PcID bigint PK 排产ID
FkBh varchar(50) 工号 — 全流程追踪编号
GzLh varchar(50) 工作令号 — 全流程追踪编号
ScPh varchar(50) 生产批号
CpId int 产品ID
MjBh varchar(50) 模具编号
CpBh~CpBmCl varchar 产品冗余信息(编号/名称/型号/规格/等级/表面)
CpBj varchar(50) 产品标记
DgZl varchar(50) 单个重量
CpTh varchar(50) 产品桶号
JhZl float 计划重量
JhQj float 计划千件数
JhRq varchar(50) 计划日期
WcRq varchar(50) 完成日期
ZyKh varchar(50) 指定客户
ClBh/ClCd/Cz/ClZj varchar 材料信息(编号/长度/材质/直径)
ClSl float 材料数量
GysIdRcl/GysMcRcl int/varchar 热处理供应商
GysIdBmcl/GysMcBmcl int/varchar 表面处理供应商
RclYq varchar(500) 热处理要求
BmClYq varchar(500) 表面处理要求
FkTotal int 加工总次数
CommitOrder int 提交序号
PrintNum/ClPrint int 打印次数/材料打印次数
TagHalf int 半成品标记
TagWg int 外购标记(0=非外购/1=外购)
BcpShDh/BcpDw/BcpRq varchar 半成品送货单号/单位/日期
TagUrgent int 加急标记
CcpRkMxId int 关联成品入库明细ID
GcLh varchar(50) 钢材炉号
GcPh varchar(50) 钢材批号
InBh varchar(50) 钢材内部编号
GcCz/GcGg varchar(50) 钢材材质/规格
XsDdMxId int 关联订单明细ID — 追溯起点
KhJc varchar(50) 客户简称

📊 TbFkPc 示范数据:

PcID
排产ID
FkBh
工号
GzLh
工作令号
CpBh
产品编号
CpMc
产品名称
CpGg
规格
CpDj
等级
CpBmCl
表面处理
MjBh
模具编号
JhQj
计划千件
JhRq
计划日期
FkTotal
总卡数
TagWg
外购标记
TagUrgent
加急标记
4835 WO20210100005003 WO20210100005 101083 20210112 44028X0.375 A2-70 美加力(8um-720H) 20210112 800 2021-01-12 3 0 0
4834 WO20210100005002 WO20210100005 101083 20210112 44028X0.375 A2-70 美加力(8um-720H) 20210112 800 2021-01-12 3 0 0

说明:FkBh=工号(GzLh+3位序号),FkTotal=3表示该GzLh下有3张卡,JhQj=计划千件数800
实际关联:GcLh=LH20210112002, GcPh=PH20210112002, InBh=GDH20210112002, GcCz=20210112, GcGg=Φ112


三、工艺流转单状态机(TbFKGY — 系统最核心的表)

TbFKGY 通过13个Tag字段的组合表示工序的完整生命周期状态:

Tag字段 含义 值说明
TagJY 检验 检验完成标记
TagJyA 首检(A) 尺寸检验标记
TagJyB 巡检(B) 性能检验标记
TagCf 拆分 批次是否已拆分
TagZc 正常 正常流转标记
TagCheckOut 检出 检出标记
TagComplete 完成 工序完成标记
TagRework 返工 是否返工
TagTransfer 转序 是否已转到下道工序
TagWz 物料状态 nvarchar(100),物料状态描述
TagWorkState 工作状态 综合工作状态(0=未开始)
TagState 总状态 综合状态(0=初始)
TagUrgent 加急 加急标记

注意:TagTj(提交标记)不属于TbFKGY,它定义在TbFKGX(工序路线表)上。
TagWz是唯一的nvarchar类型Tag字段,其余均为int。

工序条码表的状态显示

在 TbGxBar(工序条码跟踪表)中:

  • TagWg=0 → 显示 "待{工序名}"(等待加工)
  • TagWg=1 → 显示 "{工序名}完成"
  • TagJy=0 → "待检验"
  • TagJy=1 → "已检"

3.1 TbFKGY 完整字段定义

除Tag状态字段外,TbFKGY还包含以下业务字段:

字段 类型 说明
GYId bigint PK 工艺流转ID
GzLh varchar(50) 工作令号
FkBh varchar(50) 工号
CjBh/CjMc varchar(50) 车间编号/名称
GxOrder int 工序顺序 — 决定加工流程
GxId int 工序ID
GxBh/GxMc varchar(50) 工序编号/名称
JtId int 机台ID
JtBh/JtMc varchar(50) 机台编号/名称
CzgId int 操作工ID
CzgMc varchar(50) 操作工名称
SB varchar(50) 设备
Pc_Sl float 排产数量
Hgp_Zl float 合格品重量
Hgp_QjS float 合格品千件数
Hgp_Th varchar(50) 合格品桶号
BHg_Zl varchar(50) 不合格品重量(检验结果段)
BHg_Qjs varchar(50) 不合格品千件数
BhgZl float 不合格重量(汇总段)
BhgSl float 不合格数量(汇总段)
ScRq datetime 生产日期
ReceiveTime datetime 接收时间
StartTime datetime 开始时间
EndTime datetime 结束时间
LeadTimes int 前置时间
DueTime datetime 到期时间
CpId int 产品ID
PrintNum int 打印次数
ReworkGyId int 返工工艺ID
intReWork int 返工次数
Memo varchar(50) 备注

📊 TbFKGY 示范数据(同一GzLh=WO20210100005下的5条工序记录):

GYId
工艺ID
FkBh
工号
GxOrder
工序顺序
CjBh
车间编号
CjMc
车间名称
GxBh
工序编号
GxMc
工序名称
Pc_Sl
排产数量
TagJY
检验标记
TagComplete
完成标记
TagRework
返工标记
TagWorkState
工作状态
TagState
总状态
LeadTimes
前置时间
27893 WO20210100005003 1 144 20210112-01 14401 20210112 800 0 0 0 0 0 12
27892 WO20210100005002 1 144 20210112-01 14401 20210112 800 0 0 0 0 0 12
27891 WO20210100005001 1 144 20210112-01 14401 20210112 800 0 0 0 0 0 12
27896 WO20210100005003 2 145 20120112-02 14501 20210112 800 0 0 0 0 0 12
27895 WO20210100005002 2 145 20120112-02 14501 20210112 800 0 0 0 0 0 12

说明:GxOrder=1为第一道工序(车间144),GxOrder=2为第二道工序(车间145)。同一GzLh有3张卡(001/002/003),每张卡有2道工序,共6条FKGY记录。
所有Tag均为0表示这些记录尚未开始生产(初始状态)。CpId=1121关联产品。


四、质量检验流程

4.1 检验触发

工序生产完成 → 操作工提交(TbFKGY.TagTj = 1) → 质检人员进行检验

4.2 四种检验类型

类型 报告表 模板表 数据特点 适用场景
首检(A) TbFkBgA/TbFkBgAMx TbFkBgGsA/TbFkBgGsAMx Data1~8 varchar 尺寸检验
巡检(B) TbFkBgB/TbFkBgBMx TbFkBgGsB/TbFkBgGsBMx Data1~8 float 性能检验(硬度/拉力)
过程检验 TbFkBg/TbFkBgMx TbFkBgGs/TbFkBgGsMx Data1~8 varchar 通用工序检验
成品检验 TbFkCpBg/TbFkCpBgMx TbFkCpBgGs/TbFkCpBgGsMx Data1~8 varchar 出货前最终检验

4.3 检验明细结构(所有检验类型通用)

字段 含义 说明
JyXmId/JyXmBh/JyXmMc 检验项目 如外径、硬度、膜厚
JsYq 技术要求 标准值/公差范围
JyFf 检验方法 卡尺、硬度计、膜厚仪等
ScJl 实测记录 测量结果
Data1~Data8 多组实测数据 多样本测量值
MxResult 结果判定 bit: 合格/不合格
ImgMc1/DataImg1 图片1 检验照片
ImgMc2/DataImg2 图片2 检验照片

4.4 不合格品审核流程(7步6部门)

当检验结果为不合格时,进入 TbFkBgAudit / TbFkCpBgAudit 多部门审核:

步骤 字段前缀 角色 内容
1 Jyy_* 检验员 JyyId, JyyMc, JyRq — 记录不合格内容
2 Caigou_* 采购部 Depart, UserID, UserName, Date, Conclusion
3 Engi_* 工程部 同上
4 Manu_* 生产部 同上
5 Quali_* 品质部 同上
6 GE_* 总经理 最终审批
7 Validate_* 确认 Depart, UserId, UserName, Date

4.5 审核处置方式

方式 相关字段/表 说明
返工 TbFkReworkGy, intReWork, ReworkGyId 回到指定工序重新加工
让步接收 TagState 标记为可接收,正常入库
报废 TbDiscard 记录废品类型和数量

📊 检验报告示范数据:

TbFkBg(过程检验):

BgId
报告ID
BgBh
报告编号
BgRq
报告日期
CpMc
产品名称
CpXh
型号
GzLh
工作令号
GxBh
工序编号
FkBh
工号
TagJy
检验标记
2145 FB20210112004 2021-01-12 17:22 车载螺钉 SH45896 WO20210100004 13901 WO20210100004002 1
2144 FB20210112003 2021-01-12 17:22 车载螺钉 SH45896 WO20210100004 13901 WO20210100004001 1

TbFkBgA(首检):

BgId
报告ID
BgBh
报告编号
BgMc
报告名称
CpMc
产品名称
CpXh
型号
GzLh
工作令号
GxBh
工序编号
TagJyA
首检标记
1008 FA20210104001 审 核: 外六角法兰螺栓 5605303U7150 WO20201200003 10101 0

TbFkBgB(巡检):

BgId
报告ID
BgBh
报告编号
BgMc
报告名称
CpMc
产品名称
CpXh
型号
GzLh
工作令号
GxBh
工序编号
TagJyB
巡检标记
1074 FB20200224001 过程检验报告 六角法兰面螺栓 87600012 WO20200100010 10201 0

TbFkCpBg(成品检验):

BgId
报告ID
BgBh
报告编号
BgMc
报告名称
CpMc
产品名称
CpXh
型号
MjBh
模具编号
GsId
模板ID
18 CB20210104001 89000095成品检验报告 内六角法兰面螺栓 89000095 89000095 48
17 CB20200911003 87600200成品检验报告 六角头法兰面螺栓 87600200 87600200 7

TbFkBgAudit(不合格品审核):

djId
审核ID
Djh
单据号
GxMc
工序名称
CpMc
产品名称
Xh
型号
QySl
抽样数
TotalSl
总数
BhgInt
不合格项
BhgContent
不合格内容
TagState
审核状态
TagAudit
审核结果
1 WJ10101-20201111001 冷镀 六角法兰面螺栓 87600500 4 5 1 11 4 1

审核流程示例:Caigou_Conclusion=1, Engi_Conclusion=1, Manu_Conclusion=1, Quali_Conclusion=1, GE_Conclusion=1
TagState=4表示已完成全部审核,TagAudit=1表示已通过,ReworkCj="包装车间"表示返工车间

4.6 紧固件行业特色试验

试验类型 行业标准 说明
拉力试验 GB/T 228, ISO 898 螺栓抗拉强度
扭矩试验 GB/T 3098 扭矩-预紧力
强度试验 ISO 898 保证载荷、楔负载
材质分析 GB/T 4336 化学成分光谱
材料分析 GB/T 13298 金相组织
膜厚测试 GB/T 4956 电镀层/涂层厚度
盐雾试验 GB/T 10125, ISO 9227 耐腐蚀性
摩擦系数 ISO 16047 螺纹摩擦系数

五、电镀/表面处理流程(TbFkGalv — 125字段行业特色表)

5.1 电镀工艺六阶段

阶段 前缀 关键记录
1.领料 Ll* LlRq(日期), LlZsl(总数量), LlZzl(总重量), LlZts(总桶数), LlTh(桶号), LlCpZt(产品状态), LlJcjl(检测记录), LlJcy(检测员)
2.前处理 Qcl* QclRlRq/Sj(入炉), QclGtzl/sl(挂重/数量), QclLb(类别), QclGth(挂号), QclTzsj(提洗), QclSxsj(酸洗), QclDjsj(碱洗), QclYdDy/Dl/Sj(预镀电压/电流/时间), QclClKssj/Jssj(处理时间), QclQqLh/sj/wd(前驱动)
3.电镀 Dd* DdRq(日期), DdKssj(开始), DdGtzl/sl(挂重/数量), DdXb(线别), DdGth(挂号), DdSj(时间), DdDl(电流), DdDy0(电压), DdDcwd(槽温)
4.后处理 Hcl* HclZdDhj(钝化剂), HclZdDhsj(钝化时间), HclZdFbj(封闭剂), HclClRq/Kssj/Ls(处理日期/开始/历时), HclQqLh/Ddsj/sj/Wd(前驱动), HclSdDhj/Sj/Ph(酸钝化), HclFbFbj/Fbnd/Hgwd/Hgsj/Yq(封闭参数)
5.检测 Cj* CjWg(外观), CjHl(氢脆), CjNsx(耐蚀性), CjCc(尺寸), CjHd1~6(膜厚6点), CjNhl1~6(耐盐雾6点), CjJcry(检测人员), CjPd(判定), CjBlcl(不良处理)
6.出货确认 Ch* ChRq(日期), ChZl(重量), ChSl(数量), ChSy(剩余), ChYlch(余料出货), ChZtqr(状态确认), ChMhbg(膜厚报告), ChQrr(确认人), ChShdh(送货单号)

5.2 电镀工艺要求参数

字段 含义 说明
MhYqMin/MhYqMax 膜厚要求 最小/最大膜厚(μm)
YwYqBx/YwYqHx 盐雾要求 白锈/红锈小时数
QqSj/QqWd 前驱动参数 时间/温度要求
FbYq 封闭要求 封闭处理工艺要求
DtZl 单体重量 单个紧固件重量
DjDy 电镀电压 电压要求
DdDl/DdDy/DdSj 电镀参数 电流/电压/时间要求
DhSj/DhPh 钝化参数 钝化时间/pH值
GtZs 挂具组数 挂具数量
TsYq 特殊要求 客户特殊工艺要求

📊 TbFkGalv 示范数据:当前数据库无电镀记录(该功能为行业特色高级功能,使用频率较低)。


六、钢材管理流程

6.1 流程链路

钢材申请(TbGcSq/TbGcSqMx)
    ↓ 审批
钢材采购(TbGcCg/TbGcCgMx)
    ↓
来料检验(TbZlBg) → 合格
    ↓
钢材入库(TbGcRk/TbGcRkMx/TbGcRkMxHw)
    ├→ 领用出库(TbGcCk/TbGcCkMx/TbGcCkMxHw) → 车间使用
    ├→ 退货(TbGcTl/TbGcTlMx) → 退供应商
    ├→ 回库(TbGcHk/TbGcHkMx) → 剩余退回
    └→ 报废 → 不合格处理

6.2 钢材申请(frmGcSq)的数据操作

数据来源: 从钢材需求(GcXq)导入,按 WlId, GcBh, GcMc, GcXh, GcGg, GysIdZg, GysMc 汇总

写入字段:

TbGcSqMx: DjId, Djh, ItemId, MjBh, GcId, GcBh, GysIdZg, Zl, Price, Je, Memo, XsDdMxId

业务规则:

  • 金额自动计算:Je = Zl × Price
  • 复合匹配键:GcId + XsDdMxId
  • ZlT(吨)作为显示计算字段存在于临时表中,实际TbGcSqMx表无此字段

6.3 钢材出库(frmGcCk)的数据操作

写入字段:

TbGcCkMx: DjId, Djh, ItemId, GcId, GcBh, Lh, Ph, Zl, Price, Je, InBh,
           GysIdZg, GysIdGz, Memo, MjBh, CpId, CpPh, GcCgMxId, GcCkTzMxId, GcRkMxId
TbGcCkMxHw: DjId, Djh, GcId, Hw, Zl, InBh, GcRkMxId

库存更新机制:

-- 1. 置零已出库的库存记录
UPDATE TbGcKcMx SET Zl = 0 FROM ... WHERE GcRkMxId匹配

-- 2. 新增未跟踪的库存记录
INSERT INTO TbGcKcMx(...) FROM TbGcCkMx WHERE GcRkMxId NOT IN (SELECT FROM TbGcKcMx)

-- 3. 更新货位
UPDATE TbGcKcMx SET Hw=T.Hw FROM TbGcCkMxHw T WHERE GcRkMxId匹配

关键追溯字段:

  • Lh(炉号)、Ph(批号):钢材批次追溯
  • InBh:内部编号,用于单根/单件跟踪
  • GcRkMxId:关联入库明细,实现入库→出库全追溯
  • GysIdZg(轧钢厂)、GysIdGz(改制厂):双供应商追踪

📊 钢材管理示范数据:

TbGcSq(钢材申请单头):

DjId
单据ID
Djh
单据号
DjRq
日期
WlFlId
物料分类ID
MakerId
制单人ID
109 GS20210112002 2021-01-12 15:32 1 1
108 GS20210112001 2021-01-12 13:19 2 1

TbGcSqMx(钢材申请明细):

GcSqMxId
申请明细ID
DjId
单据ID
Djh
单据号
MjBh
模具编号
GcId
钢材ID
GcBh
钢材编号
Zl
重量(kg)
GysIdZg
轧钢厂ID
532 109 GS20210112002 20210112001 56 860039 12 99
531 108 GS20210112001 (null) 53 860038 2000 31

TbGcCk(钢材出库单头):

DjId
单据ID
Djh
单据号
DjRq
日期
MakerId
制单人ID
Memo
备注
2294 GC20210112001 2021-01-12 75 扫码生成
2293 GC20210111005 2021-01-11 67 扫码生成

TbGcCkMx(钢材出库明细):

GcCkMxId
出库明细ID
DjId
单据ID
Djh
单据号
GcBh
钢材编号
Lh
炉号
Ph
批号
Zl
重量(kg)
InBh
内部编号
GysIdZg
轧钢厂ID
GysIdGz
改制厂ID
GcRkMxId
入库明细ID
2545 2294 GC20210112001 860038 sfc56321 kli235487 2000 8686856 31 30 1875
2544 2293 GC20210111005 860037 KU5555 KY55555 2000 8888899 31 10 1873

说明:Lh=炉号,Ph=批号,InBh=内部编号,GcRkMxId关联入库明细,实现入库→出库追溯

TbGcKcMx(钢材库存明细):

GcKcMxId
库存明细ID
DjId
单据ID
Djh
单据号
GcBh
钢材编号
Lh
炉号
Ph
批号
Zl
重量(kg)
InBh
内部编号
GcRkMxId
入库明细ID
Hw
货位
1165 440 GR20210112003 860039 LH20210112002 PH20210112002 20000 GDH20210112002 1877 (null)
1164 439 GR20210112002 850015 LH202101120010 LH20210112001 10000 GDH20210112001 1876 (null)

七、模具全生命周期流程

7.1 生命周期链路

入库(TbMjRk) → 领用(TbMjLy) → 使用 → 归还(TbMjGh) → [维修(TbMjLlWx)] → 报废(TbMjBf)
    ↕              ↕              ↕         ↕                                    ↕
  履历(TbMjLlRk) 履历(TbMjLlRk) 计数      履历(TbMjLlRk)                      履历(TbMjLlBf)
                               (TbMjCode)

7.2 模具领用(frmMjLy)数据操作

使用数据库事务(BeginTransaction/Commit/Rollback)保证一致性。

写入操作(4表联动):

1. INSERT TbMjLyMx(DjId, Djh, ItemID, TcID, MjId, Sl, Memo, Hw, Gg, Dj)
2. INSERT TbMjLyMxHw(DjId, Djh, MjID, Gg, Dj, MjOrder, Sl, Hw, ScCp, ScSl, Sb, Czg, Memo)
3. UPDATE TbMjHw SET Sl = Sl - @Sl   -- 扣减货位库存
   (或 INSERT TbMjHw ... Sl * -1)    -- 新增负库存记录
4. INSERT TbMjKc(DjLx='模具领用', ..., Sl * -1)  -- 库存日志(负数)
5. INSERT TbMjLlRk(MjId, MjOrder, DjId, Djh, RkLx='模具领用', RkRq)  -- 履历

7.3 模具归还(frmMjGh)数据操作 — 领用的镜像

1. INSERT TbMjGhMx(...)
2. INSERT TbMjGhMxHw(...)
3. UPDATE TbMjHw SET Sl = Sl + @Sl   -- 增加货位库存
4. INSERT TbMjKc(DjLx='模具归还', ..., Sl)  -- 库存日志(正数)
5. INSERT TbMjLlRk(RkLx='模具归还', ...)  -- 履历
6. UPDATE TbMjCode SET UsedTimes = UsedTimes + @ScSl  -- 累加模具使用次数
7. UPDATE TbMjLy SET TagRead = 1  -- 标记领用单已处理

关键规则: TbMjCode.UsedTimes 与 MaxTimes 比较,判断模具是否到达寿命上限。

7.4 模具盘存与定期管理

操作 数据表 说明
盘存 TbMjPc/TbMjPcMx 定期盘点
欠存 TbMjQc 库存不足预警
库存查询 TbMjKc DjLx字段区分出入库类型

📊 模具管理示范数据:

TbMjLy(模具领用单头):

Djid
单据ID
DjRq
日期
Djh
单据号
JsrID
接收人ID
TagRead
已读标记
31 2020-12-12 12:00 ML20201212001 1 0
30 2020-11-23 14:12 ML20201123001 1 0

TbMjGh(模具归还单头):

Djid
单据ID
DjRq
日期
Djh
单据号
JsrID
接收人ID
26 2020-11-17 15:33 MG20201117001 3
25 2020-10-30 09:31 MG20201030001 3

TbMjHw(模具货位):

Id MjId
模具ID
Gg
规格
Dj
等级
Hw
货位
Sl
数量
203 18353 (null) (null) A-1-1 -1
202 18353 11 11 A-1-1 111

说明:Sl=-1表示已被领用(负库存),Hw=A-1-1为货位编码

TbMjKc(模具库存日志):

Id DjLx
单据类型
DjId
单据ID
Djh
单据号
MjId
模具ID
Sl
数量
1475 模具报废 8 MB20201214001 18353 1
1474 模具领用 31 ML20201212001 1245 -1

说明:DjLx区分操作类型,模具领用Sl为负值,模具报废Sl为正值(从库存中移除)

TbMjCode(模具二维码/寿命追踪):

id Code
二维码
MjId
模具ID
Name
名称
Hw
货位
MaxTimes
最大次数
UsedTimes
已用次数
State
状态
CreateTime
创建时间
104 MR202012110011833612 18336 测试模具一 A-1-1 10000000 0 1 2020-12-11 10:22
103 MR202012110011833611 18336 测试模具一 A-1-1 10000000 0 1 2020-12-11 10:22

说明:MaxTimes=最大使用次数,UsedTimes=已使用次数,归还时自动累加。State=1表示可用

7.5 模具维修与报废

操作 履历表 关键字段
维修 TbMjLlWx WxRq(维修日期), QxRy(清洗人), XlRy(修理人), JyRy(检验人), JyJl(检验结论)
报废 TbMjLlBf BfRq(报废日期), BfYy(报废原因), JsYj(技术意见), ZlYj(质量意见)

八、外协加工流程

系统支持两种外协模式。

8.1 标准外协(单据级别)

外协发出(TbWxCh/TbWxChMx)
    ├── 外协加工(系统外)
    ├── 外协收货(TbWxRk/TbWxRkMx) ← WxChMxId追溯到发出
    ├── 外协损耗(TbWxLoss/TbWxLossMx)
    └── 外协结算(TbWxJs/TbWxJsMx)

外协发出写入字段:

TbWxChMx: DjId, Djh, ItemId, MjBh, CpId, CpBh, Zl, Sl, Price, Je,
           ChQr, strGxId, strGxMc, JgNr, RclYq, BmclYq, Ph, JhRq, Memo, XsDdMxId, GysId

业务规则:

  • 供应商筛选:TbGysFl.TagWx=1 过滤为外协单位
  • 自动填充:选择产品后,自动加载同供应商+产品的上次加工内容(JgNr)
  • 重量→数量换算:Sl = Zl / CpKg
  • TagRework标记:区分正常外协和返工外协

8.2 排产级外协(与流转卡直接关联)

数据表 说明
TbFkWxFc 按PcID+GxOrder发出,记录加工项目(JgXm)、质量要求(ZlYq)、发货人(FhR)
TbFKWxJsA 结算A:项目记录(XmJl)、总计记录(ZjJl)、检验员(Jyy)
TbFKWxJsB 结算B:收货日期(ShRq)、事务确认(SwQr)、结算摘要(JsZy)

📊 外协管理示范数据:

TbWxCh(外协发出单头):

DjId
单据ID
Djh
单据号
DjRq
日期
GysId
供应商ID
CjId
车间ID
CpFlId
产品分类ID
TagRework
返工标记
177 WC20210112002 2021-01-12 18:23 97 47 550 False
176 WC20210112001 2021-01-12 18:09 96 47 550 False

TbWxChMx(外协发出明细):

WxChMxId
发出明细ID
DjId
单据ID
Djh
单据号
CpId
产品ID
CpBh
产品编号
Zl
重量(kg)
Sl
数量
Price
单价
Je
金额
strGxMc
工序名称
XsDdMxId
订单明细ID
GysId
供应商ID
239 177 WC20210112002 1117 101079 15 200 100 20000 表面处理004 2727 97
238 176 WC20210112001 1117 101079 15 200 100 20000 (null) 2727 96

说明:strGxMc记录外协工序名称,Zl=重量(kg),Sl=数量,XsDdMxId关联原始订单

TbWxRk(外协收货单头):

DjId
单据ID
Djh
单据号
DjRq
日期
GysId
供应商ID
CjId
车间ID
CpFlId
产品分类ID
171 WR20210112002 2021-01-12 18:24 97 47 550
170 WR20210112001 2021-01-12 18:11 96 47 550

TbWxJs(外协结算单头):

DjId
单据ID
Djh
单据号
DjRq
日期
GysId
供应商ID
CpFlId
产品分类ID
3 WJ20201228001 2020-12-28 14:36 2 4
2 WJ20200911001 2020-09-11 15:48 6 1

九、成品仓库流程

9.1 成品入库(frmRk)数据操作

写入字段:

TbRk:     DjRq, Djh, CjId, CpFlId, MakerId, Memo
TbRkMx:   DjId, Djh, ItemId, GzLh, MjBh, CpId, CpBh, QjPXs, Xs, Sl, Zl,
           Price, Je, Odd, Memo, RkTzMxId, PcMxId, XsDdMxId
TbRkMxHw: DjId, Djh, CpId, Hw, Xs, Sl, GzLh

保质期计算(紧固件模式):

UPDATE ##temp SET Bzq = DATEADD(day, TbCp.Bzq, GETDATE())

业务规则:

  • 验证:明细数量合计 = 货位数量合计
  • 单据号生成:GetNewDjh("Rk")
  • 包装关联:TbBzMx.TagRk 标记已入库

9.2 成品出库(frmCk)数据操作

写入字段:

TbCk:     DjRq, Djh, KhId, CpFlId, MakerId, TagCk, Memo, Je, BigJe
TbCkMx:   DjId, Djh, ItemId, MjBh, CpId, CpBh, QjPXs, Xs, Sl, Zl,
           Price, Je, Odd, ChQr, Ddh, Tph, Memo, CkTzMxId, XsDdMxId
TbCkMxHw: DjId, Djh, CpId, Hw, Xs, Sl, Ddh, GzLh

负库存检查(关键业务规则):

可用库存 = 期初(TbQcMx) + 入库(TbRkMx) - 出库(TbCkMx) + 退货(TbThMx) - 返工(TbFgBzMx)

如出库后库存为负,系统警告并要求确认。

金额处理:

  • 总金额自动汇总:SELECT SUM(Je) FROM 明细
  • 大写金额:CapitalRMB(je)

9.3 发货通知(frmCkTz)数据操作

写入字段:

TbCkTz:   DjRq, Djh, KhId, MakerId, Hth, Memo
TbCkTzMx: DjId, Djh, ItemId, MjBh, CpId, CpBh, Sl, Zl, Price, Je,
           JhRq, Hth, XsDdDjh, Memo, XsDdMxId

包装联动(标准模式):

-- 保存时自动关联包装记录
UPDATE TbBzMx SET CkTzDjh=B.Djh, CkTzMxId=B.CkTzMxId
FROM TbBzMx A, TbCkTzMx B
WHERE A.XsDdMxId=B.XsDdMxId AND A.CkTzDjh='' AND B.DjId=@DjId

📊 成品仓库示范数据:

TbRk(入库单头):

DjId
单据ID
Djh
单据号
DjRq
日期
CjId
车间ID
CpFlId
产品分类ID
MakerId
制单人ID
Memo
备注
1954 RK20210112001 2021-01-12 1 1 75 扫码生成
1952 RK20210111002 2021-01-11 1 1 67 扫码生成

TbRkMx(入库明细):

RkMxId
入库明细ID
DjId
单据ID
Djh
单据号
GzLh
工作令号
CpId
产品ID
CpBh
产品编号
MjBh
模具编号
Xs
箱数
Sl
千件数
Odd
零头
JhRq
日期
3156 1954 RK20210112001 WO20210100004 1117 101079 12212 2 200 200 2021-01-12
3154 1952 RK20210111002 WO20210100003 1114 101076 QQQQ 2 200 200 2021-01-11

说明:Xs=箱数,Sl=千件数,Odd=零头,GzLh关联排产工作令号

TbRkMxHw(入库货位明细):

Id DjID
单据ID
DjH
单据号
CpId
产品ID
Hw
货位
Xs
箱数
Sl
千件数
GzLh
工作令号
barcode
条码
3971 1954 RK20210112001 1117 2-2-1 1 100 WO20210100004 WO20210100004002
3970 1954 RK20210112001 1117 2-2-1 1 100 WO20210100004 WO20210100004001

说明:同一入库单2笔货位记录,对应同一货位2-2-1,每笔100千件,barcode=工号条码

TbCk(出库单头):

DjId
单据ID
Djh
单据号
DjRq
日期
KhId
客户ID
CpFlId
产品分类ID
MakerId
制单人ID
2498 CK20210112001 2021-01-12 19:42 59 1 1
2497 CK20210111002 2021-01-11 57 1 67

TbCkMx(出库明细):

CkMxId
出库明细ID
DjId
单据ID
Djh
单据号
GzLh
工作令号
CpId
产品ID
CpBh
产品编号
Xs
箱数
Sl
千件数
Odd
零头
ChQr
出货确认
CkTzMxId
通知明细ID
XsDdMxId
订单明细ID
3968 2497 CK20210111002 WO20210100003 1114 101076 2 200 200 False 3374 2725
3966 2495 CK20210111001 WO20210100001 1106 101068 2 200 200 False 3373 2723

说明:CkTzMxId关联出库通知,XsDdMxId追溯到原始订单,ChQr=False表示未出货确认

TbCkTz(发货通知单头):

DjId
单据ID
Djh
单据号
DjRq
日期
Hth
合同号
KhId
客户ID
MakerId
制单人ID
1228 CT20210112002 2021-01-12 19:43 87454545 59 1
1227 CT20210112001 2021-01-12 18:30 87454545 59 1

说明:Hth=合同号,KhId=客户ID


十、设备管理(TPM)流程

10.1 设备台账(TbJt) — 30个字段覆盖设备全信息

分类 字段 说明
基础 JtBh, JtQz, JtMc, JtXh, JtGg 编号/前缀/名称/型号/规格
产能 CnPH, CnPD 每小时/每天产能
厂商 Sccs, Gys 生产厂商/供应商
分类 Sblb, Jxlx 设备类别/检修类型
折旧 zjff, zcyz, jcl, zjnx 折旧方法/资产原值/残值率(%)/折旧年限
检验 jyzq, scjy, xcjy 检验周期(天)/上次/下次检验
状态 tagStat, TagWorking 设备状态/运行标记
关联 GxBh 关联工序编号

10.2 保养流程

保养计划(TbJtByJh)
    ├── Byjb(级别): 日常/一级/二级/大修
    ├── Xhfs(循环): 按天/按周/按月
    ├── Jg(间隔天数)
    └── 自动计算: Xcby(下次保养) = Scby(上次) + Jg
        ↓
保养工单(TbJtBy)
    ├── Byzt(保养状态), JJd(紧急度), Byyq(保养要求)
    ├── Kssj/Wcsj(开始/完成), Byys(用时天), Byfy(费用), Bygcjl(过程记录)
    └── 消耗备件 → TbJtByBj(BjId, Dj, Sl, Zj)

10.3 维修流程

维修工单(TbJtWx)
    ├── Wxzt(维修状态), JJd(紧急度), Wxyq(维修要求)
    ├── Kssj/Wcsj, Wxys(用时天), Wxfy(费用), Wxgcjl(过程记录)
    └── 消耗备件 → TbJtWxBj(BjId, Dj, Sl, Zj)

📊 设备管理示范数据:

TbJt(设备台账):

JtId
机台ID
JtBh
编号
JtMc
名称
JtXh
型号
JtGg
规格
Sccs
生产厂商
Sblb
设备类别
zjff
折旧方法
zcyz
资产原值
zjnx
折旧年限
tagStat
设备状态
GxBh
关联工序
TagWorking
运行标记
94 873 kkkk321 fujc555 kkk356 (null) 0 (null) 0 0 1 (null) 0
93 0112 0112 0112 0112 0112 37 21 100000 5 1 10101 0

说明:Sblb=设备类别编号,zjff=折旧方法,zcyz=资产原值,zjnx=折旧年限,GxBh=关联工序,tagStat=1表示可用

TbJtBy(保养工单):

ById
保养ID
JtId
机台ID
Byzt
保养状态
JJd
紧急程度
Bydh
保养单号
JhByr
计划保养人
JhBysj
计划时间
Byyq
保养要求
Gzlb
故障类别
Kssj
开始时间
Wcsj
完成时间
Byys
用时(分钟)
Byfy
费用
11 2 待处理 重大 820002 01 管某某 2020-11-05 测试 机械故障 2020-11-29 2020-11-30 2160 300
10 13 已保养 一般 820003 01 管某某 2020-09-11 (null) 传动故障 2020-09-11 2020-09-11 275 810130

说明:Byzt=保养状态,JJd=紧急程度,Byys=用时(分钟),Byfy=费用,Gzlb=故障类别

TbJtWx(维修工单):

WxId
维修ID
JtId
机台ID
JhWxr
计划维修人
Gzlb
故障类别
Kssj
开始时间
Wcsj
完成时间
Wxys
用时(天)
Wxfy
费用
Lrsj
录入时间
26 13 赵某某 启动按钮飞轮不转 (null) (null) 0 0 2021-01-07
23 11 刘某某 启动按钮飞轮不转 (null) (null) 0 0 2020-10-10

10.4 备件管理

字段 说明
TbJtBj BjBh, BjMc, BjGg, Jldw, Dqkc, Zxkc, Dj, JjBj 保养备件(含当前/最小库存、是否易耗)
TbJtGzBj 同上 故障维修备件

十一、全链路追溯

11.1 追溯ID传递路径

销售订单(XsDdMxId) ──→ 排产单(TbFkPc) ──→ 工序(TbFKGY) ──→ 检验(TbFkBg*)
                          │                    │                    │
                          │                    ↓                    ↓
                          │              电镀(TbFkGalv)     不合格审核(TbFkBgAudit)
                          │                    │
                          ↓                    ↓
                     入库(TbRk/TbRkMx) ──→ 货位(TbKcMxHw) ──→ 出库(TbCk/TbCkMx)

11.2 系统追溯入口

方式 入口 追溯路径
钢材追溯 钢材批号/炉号 钢材入库 → 出库 → 排产 → 产品 → 客户
产品追溯 产品编号/工作令号 排产 → 工序 → 检验 → 入库 → 出库
条码追溯 产品条码扫描 库存货位 → 入库 → 排产 → 工序
订单追溯 XsDdMxId 订单 → 排产 → 生产 → 入库 → 出库

11.3 核心追溯字段出现位置

字段 出现的表
GzLh TbFkPc, TbFKGY, TbFkGalv, TbKcMxHw, TbGzLhFk, TbGxBar等
FkBh TbFkPc, TbFKGY, TbFkGalv, TbFkWxFc等
XsDdMxId TbFkPc, TbCkTzMx, TbBfMx, TbFgMx, TbGcCkMx等
CpId/CpBh 所有与产品相关的表
MjBh TbFkPc, TbFKGY, TbFkGalv, TbKcMxHw等
GxOrder TbFKGY, TbFKGX, TbGyLxMx, TbFkWxFc等
Barcode TbKcMxHw, TbCkMxHw, TbBarcode

📊 追溯示范数据:

TbKcMxHw(库存明细含货位/条码 — 追溯核心表):

GYId
序号
CpBh
产品编号
CpMc
产品名称
CpXh
型号
CpGg
规格
CpDj
等级
CpBmcl
表面处理
GzLh
工作令号
FkBh
工号
Barcode
条码
Hw
货位
Xs
箱数
Sl
千件数
TagWbz
包装标记
550 101079 车载螺钉 SH45896 5/8X0.5625 A2-50 蓝白锌(5μm) WO20210100004 WO20210100004001 WO20210100004002 (null) 1 100 1
549 101079 车载螺钉 SH45896 5/8X0.5625 A2-50 蓝白锌(5μm) WO20210100004 WO20210100004001 WO20210100004001 (null) 1 100 1

说明:单条记录包含完整的产品信息+工作令号+工号+条码+货位,是整个追溯体系的核心数据载体
TagWbz=1表示已包装。通过GzLh可追溯到排产单,通过CpBh可追溯到产品信息

TbZlBg(质量报告/试验中心):

BgId
报告ID
BgBh
报告编号
BgRq
报告日期
BgMc
报告名称
MakerId
制单人ID
GsId
模板ID
FlId
分类ID
484 ZB20210112002 2021-01-12 16:11 1546 1 419 1
483 ZB20210112001 2021-01-12 13:48 GHGH524线材理化报告格斯 1 415 1

说明:FlId区分试验类型(拉力/材质/强度/膨厚等8种),GsId关联检验模板

11.4 关键表关系图

生产核心链路:

TbXsDd/TbXsDdMx ──(XsDdMxId)──→ TbFkPc ──(GzLh/FkBh)──→ TbFKGY
                                    │                         │
                                    │ (GzLh)                  │ (GzLh+GYId)
                                    ↓                         ↓
                               TbFkGalv                  TbFkBg/BgA/BgB
                                                              │
                                    ┌─────────────────────────┘
                                    ↓
                              TbFkBgAudit (不合格审核)

仓库核心链路:

TbRk ──(DjId)──→ TbRkMx ──(DjId)──→ TbRkMxHw
                    │                     │
                    │ (GzLh)              │ (Hw)
                    ↓                     ↓
               TbKcMxHw ←──(Hw)──── TbCpHw
                    │
                    │ (RkMxId)
                    ↓
TbCk ──(DjId)──→ TbCkMx ──(DjId)──→ TbCkMxHw

外协核心链路:

TbWxCh(发出) ──(WxChMxId)──→ TbWxRk(收货)
    │                             │
    │ (CkMxId)                    │ (CkMxId)
    ↓                             ↓
TbWxLoss(损耗)              TbWxJs(结算)

模具核心链路:

TbMjRk(入库) → TbMjHw(+Sl) → TbMjLy(领用,-Sl) → TbMjGh(归还,+Sl)
    ↓               ↓                ↓                   ↓
TbMjLlRk        TbMjKc           TbMjLlRk           TbMjLlRk
(履历)          (库存日志)        (履历)              (履历)
                                                         ↓
                                                    TbMjCode
                                                   (UsedTimes+=)