3. 报工数据模型设计基础
报工不是一张孤立的“产量登记表”,而是把车间里发生的一次加工活动,拆解成可追溯、可核算、可分析的结构化记录。要让报工数据真正支撑生产进度、成本核算与质量追溯,第一步不是写数据库表,而是先建立概念数据模型:识别核心实体、明确实体属性、理清实体之间的关系与基数。本节围绕报工单、工序任务、人员、设备、物料、工时、产量、质量八类核心实体展开,并给出可直接用于后续逻辑设计的建模方法。
一、先分清“任务”与“报工”两个层次
车间里最常见的建模错误,是把“计划要做的活”和“实际干完的活”混在一张表里。正确的做法是分两层:
- 工序任务:由生产订单或工单分解而来,描述“某产品在某工序上计划做多少、由谁在何时完成”。它属于计划层,一条任务对应一个工序段,例如“红烧牛肉罐头—灌装封口工序—计划 5000 罐”。
- 报工单:操作工在实际完工或阶段完工时提交的记录,描述“这一次实际投入了什么、产出了多少、花了多少时间、质量如何”。它属于执行层,一条任务可以对应多张报工单(分批报工、跨班次报工)。
因此二者的关系是一对多:工序任务 1 : N 报工单。这个基数判断直接决定了后续“任务完成进度 = 累计报工数量 / 任务计划数量”的计算方式,也决定了报工单必须携带任务标识作为外键。
二、八类核心实体的职责与关键属性
概念模型阶段不必纠结字段类型,但必须把每个实体的“身份标识”和“业务关键属性”想清楚。以下为示例性设计,实际项目可按企业口径调整:
| 实体 | 身份标识 | 关键属性(示例) | 在报工中的角色 |
|---|---|---|---|
| 工序任务 | 任务号 | 产品编码、工序号、计划数量、计划起止时间、状态 | 报工的对象与数量基准 |
| 报工单 | 报工单号 | 报工时间、班次、报工类型(首报/补报/返工)、状态 | 一次报工活动的主记录 |
| 人员 | 员工工号 | 姓名、班组、岗位、技能等级 | 操作者与审核者 |
| 设备 | 设备编号 | 设备名称、产线、额定产能、状态 | 加工资源与产能核算依据 |
| 物料 | 物料编码 | 名称、规格、批次号、计量单位 | 投入与产出物,支撑追溯 |
| 工时 | 工时记录号 | 开始时间、结束时间、有效工时、停机时长 | 人工成本与效率分析 |
| 产量 | 产量明细号 | 合格数、不合格数、报废数、单位 | 产出计量与良率计算 |
| 质量 | 质检记录号 | 检验项目、实测值、判定结论、不合格原因 | 质量判定与追溯 |
需要特别强调物料的双重身份:在报工中它既可能是“投入物料”(如原料肉、辅料、包装罐),也可能是“产出物料”(成品或半成品)。概念模型里通常用“物料”实体加一个“物料角色”属性(投入/产出)来区分,避免为投入和产出各建一套重复实体。
三、实体关系与基数判断
把八类实体连起来,核心关系可以归纳为:
- 工序任务 1 : N 报工单——一张任务可分多次报工。
- 报工单 N : 1 人员——每张报工单有唯一主操作人;若需记录协作,可再加“报工单—人员”的明细关联,形成 N : M。
- 报工单 N : 1 设备——一次报工通常对应一台主设备;多设备并行加工时用明细表拆分为 N : M。
- 报工单 1 : N 工时——一张报工单可包含多段工时(如正常生产段、停机段)。
- 报工单 1 : N 产量——按产品/批次/规格分行记录。
- 报工单 1 : N 质量——按检验项目分行记录,也可与产量明细关联到具体批次。
- 报工单 N : M 物料——通过“报工物料明细”关联,并携带投入量或产出量及批次号。
下图给出本节的概念数据模型:以报工单为中心,向上挂接工序任务,向下展开人员、设备、工时、产量、质量与物料明细,并标注了基数。
四、从概念模型到可落地的设计要点
概念模型画出来只是第一步,落地时还有三个容易踩坑的地方值得提前处理。
第一,报工单要能“算得清”。产量与工时是两张明细表,而不是报工单上的两个数字字段。原因是一次报工可能包含正常生产段和停机段,也可能同时产出主产品和副产品。把产量、工时拆成明细行,才能支持“按批次核算良率”“按班次统计停机损失”这类分析。示例口径:某灌装工序一张报工单记录合格 4800 罐、不合格 60 罐、报废 20 罐,有效工时 6.5 小时、停机 0.5 小时,则良率 = 4800 / (4800+60+20) ≈ 98.4%,单位时间产出 = 4800 / 6.5 ≈ 738 罐/小时。这些指标全部来自明细行汇总,而不是人工填写。
第二,状态字段要定义清楚。报工单建议设置“草稿—已提交—已审核—已冲销”四态。冲销态用于纠正错报,而不是直接删除记录,这样历史数据可追溯。工序任务则用“未开始—进行中—已完工—已关闭”表达进度,任务完工数量由已审核报工单累计得出,避免手工维护两套数字导致不一致。
第三,物料批次是追溯的锚点。报工物料明细必须记录批次号,并与产量明细的产出批次建立关联。这样当某批次成品出现质量问题时,可以沿“质量记录→产量批次→报工单→投入物料批次”反向定位到原料供应商与操作班组,形成完整的正向与反向追溯链。
把上述实体与关系固化下来,后续的逻辑模型设计(主键、外键、索引、约束)就有了明确依据,报表口径与接口字段也能保持一致。概念模型的价值不在于画得漂亮,而在于让“一次报工到底记录了什么、能回答哪些问题”在开发之前就被想清楚。