从两份 Excel 到一套排产系统:一次家电代工厂的数据初始化实战
去年秋天,我接触了一家做厨电代工的中型工厂:12 条总装线并行、月排产万台级别、产品型号超 150 个,同时给美的、老板、名气、海信、苏泊尔等七八个品牌做 ODM。
他们的 ERP 管好了物料主数据、BOM 和采购订单。但到了排产这一层,画面就变了——PMC 主管的电脑上开着三个 Excel:汇总表、明细表、当月排期表。每天的工作是从 ERP 导出新产品编码,手动 VLOOKUP 到排期表里做验证,然后在日期列一格一格填数量。算到尾数不够了,就手动调公式:=800-59、=700-392。
ERP 管好了"账本",但车间决策层——PMC 排产——仍然是断裂的。MRP 夜间批处理一次要 1-4 小时,处理不了"插单、换线、并行产线分配"这些实时决策。
这篇文章讲的,就是我们如何用 轻排 PMClite 把这批积压多年的 Excel 数据一键转换成可运行的排产系统。不写一行代码,当天上线。
一、客户的原始数据长什么样
客户发来两份 Excel:
第一份:BOM 数据(从 ERP 导出的"新系统 BOM 格式")。28 个字段、5 级 BOM 结构,以一台吸油烟机为例:
- 成品(吸油烟机) →
- 自制件(箱体地线插片) → 采购件(镀锌板)
- 自制件(箱体背板组件) → 自制件(箱体背板) → 采购件(镀锌板)
- 自制件(箱体围板) → 自制件(箱体围板未喷涂) → 采购件(冷板)
品号类型只有两种值:自制件、采购件。自制件既可能是产品,也可能是半成品;采购件就是最终要买的物料。
第二份:排产数据,含汇总、明细、当月排期三个 sheet。汇总表里每一行是"线别 + 产品编码 + 型号 + 客户 + 排产合计",后面跟着几十列日期,每天数量用公式串联。
二、三个核心难题
难题 1:产品和物料怎么分?
BOM 表里,"主件品号"列一定是产品,"元件品号"列可能是物料、也可能是另一个产品(半成品)。规则是:
- 出现在主件列 → 一定是产品
- 只出现在元件列且类型为采购件 → 物料
- 两列都出现 → 半成品
规则简单,但 150+ 产品、几百个物料、几十条 BOM 关系,手工分类一天都做不完。
难题 2:生产计划怎么算?
排产表里一个产品常跨多条产线。以某型号为例:1 线排了 1518 台,2 线分 4 段共 3108 台,合计 4626 台。系统里应该生成 1 条生产计划(4626 台)和 2 条工单(1 线 1518 台、2 线 3108 台)。
手工算这个,排产员得拿计算器一行一行加。
难题 3:日期怎么确定?
排产表里日期是横排的、每天一列。工单的"计划开始/结束日期"要从这些列里自动推导——第一列有数量的日期作为开始,最后一列作为结束。而 Excel 里的日期,可能是数字序列号、可能是文本、也可能是公式递推。
三、解法:一个"数据转换器"就够
整个方案的核心思路是:在导入前,先用一个转换工具把 ERP 数据"翻译"成 PMClite 能读的 JSON。浏览器打开就能用,本地运行,数据不上传服务器。
客户的操作流程:上传 BOM Excel → 上传排产 Excel → 点"转换" → 下载 JSON → 到 PMClite 导入。四步。
① 读取 BOM:解析主件 / 元件 / 用量
② 读取排产:解析线别 / 编码 / 客户 / 数量
③ 自动分类:产品 vs 物料 vs 半成品
④ 自动聚合:产品 → 计划,产线+产品 → 工单
最后输出一份 PMClite 标准 JSON。
为什么做成独立工具,而不是系统内嵌功能?
因为每家客户的 Excel 格式都不一样:某鼎、某蝶、某友的字段名、层级表示、类型编码各不相同。写死在系统里,每接一个客户就得改代码。做成独立工具后,转换逻辑可以按客户定制,系统本身保持稳定。
四、导入后客户看到了什么
转换完成、在轻排 PMClite 里导入 JSON 之后:
- 仪表盘立刻刷新 —— 物料数、产品数、BOM 条数、计划数、工单数、客户数,全部实时显示
- 产品页看到完整产品树 —— 150+ 产品,每个的 BOM 层级、物料数量、被引用次数一目了然。半成品蓝色标记、成品绿色标记
- 生产页看到 12 条产线的工单列表 —— 每条工单带产线名、数量、优先级、齐套状态。齐套状态系统自动算:递归展开多级 BOM、对比库存、缺料标红
- 甘特图自动生成 —— 每条产线的时间线可视化,绿=正常、黄=即将到期、红=已逾期
- 多级齐套分析 —— 点开任意工单的"齐套详情",看该工单需要哪些物料、库存多少、缺多少、缺的物料有没有在途采购单
同样的 5 级 BOM 齐套分析,Excel 手工做要 20 分钟。
需要说明的是:轻排 PMClite 的定位不是替代 ERP,而是补足 ERP 到车间之间的"最后一公里"。ERP 管账,PMClite 管排产、管齐套、管领料。两者数据通过 JSON 导入导出打通,客户不需要换系统,不需要漫长实施周期。
五、这次案例的方法论
第一,从数据初始化入手,而不是从功能演示入手。
客户最怕"又一个系统要填数据"。我们反过来:客户已有的 Excel,我们帮他自动导进去。不需要从零录入 150 个产品、几百个物料、几十条 BOM。
第二,把"转换"做成独立工具,而不是系统内嵌功能。
转换逻辑按客户定制,系统本身保持稳定——这是能快速复用到其他客户的关键。
第三,聚合逻辑是核心,不是附加。
排产表里"一个产品跨多条产线"是常态,不是异常。数据模型必须支持"一个产品对应多个工单",这个设计第一天就要考虑进去。
第四,日期处理要做多层兜底。
Excel 日期格式千奇百怪:数字序列号、文本日期、公式递推。必须能识别多种格式,识别失败时有合理默认值,保证导入不会因为日期列而失败。
六、结语
这家客户的故事不是"又上了一套系统"。他们的 ERP 还在跑,Excel 也还在用——但排产这一层,从"每天 2 小时手工凑数"变成了"30 秒自动重排"。
轻排 PMClite 做的事情很朴素:用轻量的方式,解决重的问题。
多级 BOM、齐套检查、排产排程、领料管理、扫码追溯——这几个 PMC 最痛的场景,ERP 覆盖不到,大 APS 太重,Excel 太乱。中间的位置,就是轻排 PMClite 的定位。
本文案例数据已脱敏处理,不涉及具体客户信息。轻排 PMClite 为独立产品,与文中提到的 ERP 厂商无商业关联。