很多团队把库存质检失败理解成“整批不过”。企业版的源码明显不是这么想的,它在失败处理上保留了大量颗粒度。
这篇文章主要参考:
enterprise/quality_control/models/quality.py
一、lot 可以不是 100% 全检
quality.point 上的 testing_percentage_within_lot 与 is_lot_tested_fractionally 很关键。只要比例小于 100%,系统就认为是“分批抽检”,后续 quality.check._compute_qty_to_test() 会按 lot 数量乘比例,再向上取整。
二、量测类检查不是只给 pass/fail,还顺手做 SPC 统计
对 test_type = measure 的点,源码用 Welford 方法计算 average 和 standard_deviation,并做 Bessel 修正。这个实现细节说明官方考虑的不是一次性判定,而是长期波动趋势。
三、失败后可以只挪走失败数量
_move_to_failure_location() 对 measure_on='move_line' 的处理很细:如果整条 move line 都失败,可直接改目的库位;如果只失败一部分,会先减少原 move / move line 的数量,再复制出失败 move line 与失败 move,同时为剩余部分创建通过检查。也就是说,企业版支持“同一批里一部分过、一部分不过”。
四、结论
企业版库存质检最有价值的地方,是它把“失败”建模成可分量、可转库、可统计、可追踪的过程。这样质量问题才不会只剩一个红色状态。
DISCUSSION
评论区