ARTICLE · 982332
挑战用WPS灵犀开发APS排程系统(十六):55组内胆需求,一键拆出377道工序工时
大家好,我是古老师。
📌
上一篇文章(十五)我们把 150 张订单的内胆需求算清了——55 组(子件代码+完工日期),需求总量 35178,和销售订单对得死死的。有读者在后台问:内胆需求都出来了,什么时候开始排? 先别急。排内胆之前,还差最关键的一步:需求表回答的是"哪个内胆要多少个",可排程要的是"每一道工序各干多少、各花多长时间"。今天这篇就把这块补齐——一行拆多行,把 55 组内胆需求拆成 377 道工序任务,再一键汇总成工序工时交叉表。

一、为什么"有需求"还不能直接排
内胆不是一道工序做出来的,它要走一条工艺路线:
工序 | 单件加工时间 | 类型 |
开料 | 约 6 秒 | 成型 |
一拉 | 约 11 秒 | 成型,最耗时 |
二拉 | 约 13 秒 | 成型,最耗时 |
切边 / 卷边 / 清洁 | 约 7~9 秒 | 辅助 |
三拉 / 四拉 / 退火 | 视材质规格 | 部分内胆才有 |
📌
注意最后一行——不是所有内胆都走四拉、退火,只有特定材质和规格才需要。工艺明细表里 36 种内胆,每种挂 3~8 道工序,总共 261 道工艺记录。
昨天那 55 组需求是"铝合金内胆 2L 某天要 261 个"这种整件口径。可排程的工位要的不是这个——工位要的是"开料这天干多少秒、一拉这天干多少秒"。一个内胆过 6~8 道工序,每道工序的耗时还不一样。
所以中间必须补一步:把"一件内胆"拆成"它的每一道工序"。这就是今天的主角——一行变多行。

+二、一行拆多行:子件代码对上自制件代码

拆的逻辑一句话:任务表每行带一个子件代码,去工艺表匹配自制件代码,把这个内胆的工序一条条列出来,一行任务就变成 N 行工序。
第一件事是认准匹配键——任务表叫「子件代码」,工艺表叫「自制件代码」,同一个东西,两个表两套命名。跨表拼数据最容易栽在这:一不留神拿错字段,匹配全空。我把映射先在本地方跑了一遍,12 个子件代码全部命中工艺表,零缺失,才放心写进脚本。
脚本主流程就四步:
读工艺表,按「自制件代码」把工序数组收好(工序号从小到大排好序); 读汇总表,每行任务按子件代码找到自己的工序数组; 一行任务 × N 道工序 = N 行,每行带上工序号、工序名称、单件加工时间; 工序工时 = 需求数量 × 单件加工时间(秒),一并算好。

关键配置区:
运行日志:
📌
工艺表读取到 36 个自制件代码的工艺路线源表读取到 55 条记录展开生成 377 行(子件代码 + 完工日期 + 工序号)写入【内胆工艺分解明细表】377 条(清空重建完成)校验:总工时(秒) 2146059.8 ≈ 596.13 小时
55 组需求,拆出 377 行工序任务。12 种在制内胆全部命中工艺路线,没有一条需求被漏掉。

三、两个字段:把秒换成小时
377 行每行都有个「单件加工时间」,单位是秒。但排程、做产能评估,大家习惯看小时。所以加了一个公式字段,一行公式搞定:
用时(小时) = [@工序工时] / 3600
工序工时是 需求数量 × 单件加工时间,也是脚本算好写进去的。这样链就完整了:
需求数量 × 单件加工时间(秒) = 工序工时(秒) → ÷3600 = 用时(小时)
验证一下:铝合金内胆 2L 某天 261 个,开料单件 6.4 秒,工序工时 1670.4 秒,用时 0.464 小时。数字对得上。

四、一键汇总:工序工时交叉表
📌
377 行是流水账,看着累。排程要看的是"某天、某道工序,总共多少小时",所以再压一层——交叉表: 行 = 完工日期(11 个:9/2 ~ 9/22) 列 = 工序名称(9 道:开料、一拉、二拉、切边、卷边、清洁、三拉、退火、四拉) 值 = 用时(小时)求和
一张 11 行 9 列的交叉表,脚本读一遍 377 行,按 日期×工序 累加,几秒出结果:

完工日期 | 开料 | 一拉 | 二拉 | 三拉 | 退火 | 四拉 |
09/02 | 0.63 | 1.08 | 1.27 | 0.33 | — | — |
09/06 | 6.51 | 10.59 | 12.08 | 8.41 | 1.41 | 2.70 |
09/08 | 9.02 | 15.24 | 17.95 | 7.10 | — | 0.38 |
09/12 | 9.17 | 15.44 | 18.32 | 11.88 | 0.06 | 0.19 |
📌
这张表一眼能读出几件事: 一拉、二拉是绝对大头:每天这两列几乎占了全天工时的一半,瓶颈工序一眼定位; 退火、四拉大片空白:只有特定材质/规格的内胆才走这两道,验证了工艺表的设计; 9/12 是全月峰值 89.25 小时,排程当天要把这道坎啃下来。
末尾校验:交叉表 11 行加起来总用时 596.13 小时,和分解明细表的总工时完全一致——数据链路自洽。
最后说一句
从订单到工步,现在整条链终于通了:
销售订单 → MRP 内胆需求(55 组) → 工序任务(377 行) → 工序工时交叉表(11×9)
每一层都能往上追溯到原始订单,往下压到单道工序的秒级工时。注塑当年是"展开→汇总→排程",内胆现在把前两步也走完了,而且比注塑多了一层——工序维度。有了这张交叉表,内胆车间的产能评估、瓶颈分析、工位分配,都有数可依了。
下篇预告:拿着 377 道工序任务和这张工时交叉表,进内胆车间的产能评估。
术语解释
文章里出现的技术名词,一句话说清楚:
交叉表:把两列数据"横竖一转"的汇总表——行是日期、列是工序、格子里是工时,一眼看清每天每道工序干多少活。就好比把流水账翻成一页排班表。
工序(Process):把一个零件一步步加工成型的每个步骤,比如开料、一拉、二拉。一个内胆要连过好几道工序才能做出来。
工艺明细表:给每个零件定义"它要做哪几道工序、每道多长时间"的表,相当于车间的施工图纸。
单件加工时间:做一个零件某道工序花的秒数,比如开料一件 6 秒。它是算工时的基础。
公式字段:多维表里不用手填、自动计算的列,数据一变结果跟着变。本篇"用时(小时)"就是一行公式字段算出来的。
匹配键:把两张表接起来时用来"对暗号"的字段,好比两个部门用同一个工号找人。本篇用子件代码对上自制件代码。
本文由 AI 辅助创作
工具:灵犀专业版
模型:DeepSeek V4 Flash
灵点消耗:66
📌
古老师(古哥计划)|中小制造数字化专家|金山 KVP(金山办公最有价值专家)|金山多维表格应用场景专家|金山 WPS 社区优秀创作者 深耕中小制造业数字化落地,擅长用 WPS 多维表格 + AI 低代码方案,帮工厂快速搭建进销存、生产计划、质量追溯等轻量化系统。不用复杂 IT,低成本落地,已服务数百家制造企业,实战经验丰富。