{ "biz": "为未绑定设备的工位补产能并重算时长", "target": "36.213.150.237:10000/mom-hm", "executedAt": "2026-10-15", "sql": "add-station-machine.sql", "problem": "工位 1/7/9 未绑定设备,导致其下 118 个生产任务 duration=0", "scheme": "复用空闲设备(用户确认)", "before": { "workstationMachineRows": 49, "zeroDurationTasks": 118 }, "bindings": [ { "id": 100, "workstationId": 1, "workstation": "原料验收工作站", "machineryId": 130, "machinery": "虫草清洗机", "efficiency": 200, "conveyorBelt": 1 }, { "id": 101, "workstationId": 7, "workstation": "人工选别工作站", "machineryId": 49, "machinery": "半自动捆扎机", "efficiency": 300, "conveyorBelt": 1 }, { "id": 102, "workstationId": 9, "workstation": "冷却工作站", "machineryId": 48, "machinery": "全自动打包机", "efficiency": 600, "conveyorBelt": 1 } ], "after": { "workstationMachineRows": 52, "zeroDurationTasks": 0, "recomputed": { "ws1": { "tasks": 58, "min": 1, "max": 177 }, "ws7": { "tasks": 53, "min": 1, "max": 111 }, "ws9": { "tasks": 7, "min": 1, "max": 10 } }, "totalTasks": 604 }, "recheck": { "全库复算不一致数": 0, "说明": "按 duration = CEIL(quantity / Σ(效率×max(皮带,1))) 在 SQL 内独立复算全库 604 条,与写入值零差异" }, "notes": [ "机器 48/49/130 绑定前均未被任何工位占用(游离设备),不影响既有 486 条时长。", "工位 7(人工选别) 所属车间8 无空闲设备,按方案跨车间借用车间3 的半自动捆扎机。", "mes_dv_machinery.workstation_id 列全库为 NULL,非绑定来源;绑定唯一来源是 mes_md_workstation_machine,故只写该表。" ], "rollback": "DELETE FROM mes_md_workstation_machine WHERE id IN (100,101,102); UPDATE mes_pro_task SET duration=0 WHERE deleted=0 AND workstation_id IN (1,7,9);" }