生产排产下达(生成生产工单)后,若第一道工序需要质检(isQuality=true),系统自动为该工序预生成一张过程检验(单道工序时生成出厂检)质检单。质检员无需等待该工序报工审核即可直接在质检列表中开始检验。
覆盖全部工单创建入口:
| 入口 | 说明 |
|---|---|
生产订单绑定工艺路线 bindingRoute |
生成工单后预生成质检单 |
销售台账生成生产数据 addProductionData |
生成工单后预生成质检单 |
印刷单逆时针倒排 processRouteAnticlockwise |
生成工单后预生成质检单 |
预生成规则:
dragSort 升序 + id 升序);isQuality 非 true 则不生成;inspect_type=2(出厂检),否则 inspect_type=1(过程检,process=第一道工序名);quantity=工单计划数量;work_order_id=第一道工序工单 id,product_main_id=NULL(未关联报工)。识别预生成质检单:
quality_inspect表中product_main_id IS NULL且work_order_id非空的记录即为排产预生成单。
第一道工序报工审核(nextAddProductMain)时:
work_order_id 匹配且 product_main_id IS NULL)→ 认领:回填 product_main_id=报工 id,quantity 更新为实际入库数量(产出 + 加放 - 报废);inspect_state=1)且为出厂检 → 先删除按计划数量入库的库存记录,再按实际数量重新入库,保证库存准确;后续工序(非第一道)报工审核时仍按原有逻辑生成质检单。
COALESCE(qi.work_order_id, ppm.work_order_id) 关联,预生成单(无报工)也能正常显示工单号;product_main_id=NULL)按 work_order_id → 生产订单 → 销售台账 反查客户名称。删除生产订单 / 删除销售台账生产数据 / 删除生产工艺路线工序项时,自动清理对应的预生成质检单及其检验参数;若预生成单已提交(inspect_state=1),则拒绝删除并提示“已提交的检验单不能删除”。
无新增、无修改接口。均为后端行为变更。
无前端代码改动。
若需在界面区分“排产预生成”的质检单,可参考 work_order_id(非空)且 product_main_id 为空进行判断。
执行 sql/quality_inspect_add_work_order_id.sql:
ALTER TABLE quality_inspect ADD COLUMN work_order_id BIGINT NULL COMMENT '生产工单id(排产预生成质检单关联)' AFTER product_main_id;
ALTER TABLE quality_inspect ADD INDEX idx_quality_inspect_work_order_id (work_order_id);