生产计划员最怕的“停工待料”,终于有解了
干过制造业生产计划的朋友应该都有过这种体验:月初排产排得信心满满,结果到月底一看,好几个订单卡在物料上,不是缺这个就是缺那个,车间工人闲着没事干,采购那边却忙得焦头烂额。说实话,这种“计划赶不上变化”的窘境,太让人崩溃了。
今天给大家分享一个挺实用的工具——Faisabilité OF,它专门用来帮我们提前判断:一个制造订单到底能不能顺利开工?缺料的话具体缺啥?缺多少?什么时候能补上?这样一来,咱们就能提前想办法,而不是等到最后一刻才被动应对。
它是怎么工作的?
这个工具的核心逻辑其实不复杂,就是递归BOM拆解。啥意思呢?就是你给一个成品订单,它会自动打开它的BOM清单(物料清单),看看这个成品由哪些组件构成。如果某个组件是外购件,就直接对比库存;如果是自制件,那就继续往下拆,看看这个自制件又需要哪些原材料或半成品。就这样一层一层地查下去,直到把所有依赖的物料都检查一遍。
举个简单的例子,假设你要生产100台电机,而电机本身需要外壳、线圈、轴承等零件,其中线圈又需要铜线和绝缘材料。那么这个工具就会先检查线圈的库存够不够,如果不够,再检查铜线和绝缘材料够不够。只要有一层缺料,它就会把缺料信息记录下来。
在代码层面,它通过一个叫 verifier_of 的函数实现递归检查,核心的计算逻辑也很直白:
stock_dispo(article) = STOCK_PHYSIQUE - STOCK_ALLOUE - STOCK_BLOQUE
# 项目模式:加上预计到货
stock_projete(article, date_besoin) = stock_dispo(article) + SUM(QUANTITE_RESTANTE pour DATE_RECEPTION_PREVUE ≤ date_besoin)
这里有个很贴心的设计——它区分了“当前可用库存”和“预计可用库存”。如果你选择projete模式,它会把未来一段时间的采购到货量也算进去。比如某物料现在库存不够,但下周有一批货会到,而且订单交期在下周之后,那它就会认为这个订单是可行的。这样就不会因为短期的缺料而误判订单状态。
三种状态,清清楚楚
检查完之后,它会给出三种状态之一:
- ✅ FAISABLE(可行):所有物料都齐了,可以放心开工。
- 🟡 PARTIEL(部分可行):有些物料现在不够,但考虑未来到货后可以满足,或者部分组件缺料,需要等待。
- 🔴 BLOQUÉ(受阻):有核心物料缺货,而且短期内到不了,订单暂时没法启动。
除了状态,它还会列出一份详细的缺料清单,比如这样:
OF F426-08419 | Article: BDH1050-75 | Qté: 384 | Date fin: 13/03/2026
Statut : 🔴 BLOQUÉ
Composants manquants :
Article | Désignation | Besoin | Dispo | Manque | Récep. prévue
E7368 | MOTEUR BDH 75W | 384 | 150 | 234 | 25/03/2026
看到这个报告,你立马就知道:哦,原来缺的是电机,差了234个,要到3月25号才能到货。那这个订单能不能等?如果交期在3月底,那问题不大;如果交期就在3月中旬,那可能就得赶紧找替代方案或者联系客户调整交期了。
多订单并发?也不怕
实际生产中,很少只有一个订单在跑,通常是几十个订单同时进行。这时候就会出现“僧多粥少”的情况——同一批物料,好几个订单都在抢。这个工具内置了一个智能分配算法,它的处理逻辑是这样的:
- 先把所有订单按照交期从早到晚排序,交期最紧的优先分配。
- 按照这个顺序,依次检查每个订单的可行性,如果可行,就先把对应的库存“虚拟占用”掉。
- 如果某个订单因缺料不可行,但后面有个交期稍晚的订单反而完全可行,那就会让后面这个订单“插队”到前面。目的很简单——尽可能多地把能开工的订单都安排上,而不是让一个难题卡住所有后续订单。
这个规则真的挺符合实际生产的管理思路。与其让一个缺料的订单占着库存不放,不如先把那些能顺利生产的订单推上去,保证产线不闲置。
怎么用起来?
使用方式也很直接,只要准备好几份CSV数据文件,然后在命令行里跑一个脚本就行:
python3 .claude/skills/faisabilite-of/scripts/verif_faisabilite.py \
--data-dir data \
--of F426-08419,F426-08164 \
--mode projete
参数说明:
--data-dir:指定存放CSV文件的目录--of:要检查的订单号,多个用逗号分隔--mode:immediat只看当前库存,projete考虑未来到货
跑完之后会生成一个汇总报告,统计总共有多少订单可行、多少部分可行、多少受阻,然后每个订单的详细情况也都会列出来。整个过程自动化,省去了人工翻表格对数据的痛苦。
说点实际的感受
我自己在试用这个工具的时候,最大的感受就是——终于不用再手工拉Excel对比库存了。以前每次有客户问“这个单子能不能按时交”,我都得先去查库存表,再查BOM,再算算采购到货时间,折腾半天才能给个模糊的答复。现在直接把订单号扔给脚本,几秒钟就能给出一个明确的结论,而且还会把缺料明细列得清清楚楚,跟客户沟通的时候也更有底气。
当然,这个工具也不是万能的。它对数据的准确性要求比较高,如果库存表没及时更新,或者BOM有误,那结果也会不准。但话说回来,数据准确本身也是生产管理的基本功嘛。
总之,如果你也是搞生产计划或者供应链管理的,这个技能值得一试。它可以帮你提前发现风险,把“停工待料”的隐患消灭在萌芽状态。