diff --git a/scripts/init.sql b/scripts/init.sql index 78ed1adf..2bafd40a 100644 --- a/scripts/init.sql +++ b/scripts/init.sql @@ -1532,6 +1532,170 @@ ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; DROP TEMPORARY TABLE tmp_materials; +-- ---------- 多供应商补入:源里用分隔符写了多家,迁移时只留了第一家 ---------- +-- 见设计文档 7.4。32 条,每条 2 家,故每条补 1 行,全在武汉。 + +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_010, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'A020001' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_010, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'A020002' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_010, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'A020003' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_010, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'A020004' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_010, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'A020005' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_010, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'A030001' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_010, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'A030002' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_010, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'A030003' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_010, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'A030004' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_010, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'A030005' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_010, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'A030006' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_008, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'B010019' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_007, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'B010020' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_007, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'B010021' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_007, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'B010022' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_007, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'B010034' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_008, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'B010035' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_029, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'B020014' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_017, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'B020015' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_017, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'B020017' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_017, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'B020019' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_017, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'B020024' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_017, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'B020031' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_017, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'B020033' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_017, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'B020034' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_017, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'B020037' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_017, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'B020042' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_017, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'B020043' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_017, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'B020044' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_017, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'B020046' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_017, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'B020047' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; +INSERT INTO material_suppliers + (organization_id, material_id, supplier_id, material_manufacturer_id, is_preferred, status) +SELECT @org_wh, m.id, @p_wh_017, NULL, FALSE, 'active' + FROM materials m WHERE m.organization_id = @org_wh AND m.material_code = 'B020048' +ON DUPLICATE KEY UPDATE is_preferred = material_suppliers.is_preferred; + -- ---------- 变更日志 → material_logs ---------- -- 源表没有操作类型,统一记作 update;修改原因进 description。 -- 不导用户账号,operator_id 留空,operator 存源里的用户名。