-- 为 3 个未绑定设备的工位补设备产能 + 重算对应生产任务时长 | 目标库 mom-hm | 2026-10-15 -- 背景:工位 1(原料验收)、7(人工选别)、9(冷却) 在 mes_md_workstation_machine 无绑定, -- 导致其下 118 个生产任务 duration=0(后端 calculateDuration 无设备即返回 0)。 -- 方案(用户确认「复用空闲设备」):从各站所属车间挑一台闲置设备绑定,取设备自带效率。 -- 工位1 原料验收(车间9) -> 设备130 虫草清洗机 效率200/时 -- 工位7 人工选别(车间8) -> 车间8无空闲设备,借用设备49 半自动捆扎机 效率300/时 -- 工位9 冷却 (车间3) -> 设备48 全自动打包机 效率600/时 -- 时长口径复刻后端:duration = CEIL(排产数量 / Σ(效率 × max(皮带,1))),本处每站均单设备、皮带=1。 -- 幂等:先删本脚本要插入的绑定再插入。回滚:见文件末尾注释。 START TRANSACTION; -- 1. 工位-设备绑定(游离设备 48/49/130 当前均未被任何工位占用) DELETE FROM mes_md_workstation_machine WHERE workstation_id IN (1, 7, 9) AND machinery_id IN (130, 49, 48); INSERT INTO mes_md_workstation_machine (id, workstation_id, machinery_id, quantity, remark, creator, create_time, updater, update_time, deleted) VALUES (100, 1, 130, 1, NULL, '1', NOW(), '1', NOW(), b'0'), (101, 7, 49, 1, NULL, '1', NOW(), '1', NOW(), b'0'), (102, 9, 48, 1, NULL, '1', NOW(), '1', NOW(), b'0'); -- 2. 重算这三个工位下生产任务的生产时长(其余 486 条不动) UPDATE mes_pro_task SET duration = CEILING(quantity / 200) WHERE deleted = 0 AND workstation_id = 1; UPDATE mes_pro_task SET duration = CEILING(quantity / 300) WHERE deleted = 0 AND workstation_id = 7; UPDATE mes_pro_task SET duration = CEILING(quantity / 600) WHERE deleted = 0 AND workstation_id = 9; COMMIT; -- 回滚: -- 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);