ForgeFlow-ERP/backend/sql/fix_trash_pad_bom_route.sql
2026-06-12 16:00:56 +08:00

224 lines
8.1 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

USE jiaheng_erp;
SET NAMES utf8mb4;
START TRANSACTION;
-- 垃圾桶垫默认 BOM
INSERT INTO md_bom (
bom_code, product_item_id, version_no, is_default, status, effective_date, expire_date, remark
)
SELECT
'BOM-BT-002',
(SELECT id FROM md_item WHERE item_code = 'FG-BT-002'),
'V1.0', 1, 'ACTIVE', CURRENT_DATE(), NULL,
'垃圾桶垫默认BOM单件净重1.6kg按SAP440钢板毛重1.82kg计入MRP'
FROM DUAL
WHERE NOT EXISTS (
SELECT 1
FROM md_bom
WHERE product_item_id = (SELECT id FROM md_item WHERE item_code = 'FG-BT-002')
AND is_default = 1
AND status = 'ACTIVE'
);
INSERT INTO md_bom_item (
bom_id, seq_no, material_item_id, usage_type, qty_per_piece, net_weight_per_piece_kg,
gross_weight_per_piece_kg, loss_rate, issue_over_tolerance_rate, remark
)
SELECT
(SELECT id FROM md_bom WHERE product_item_id = (SELECT id FROM md_item WHERE item_code = 'FG-BT-002') AND is_default = 1 AND status = 'ACTIVE' ORDER BY id DESC LIMIT 1),
10,
(SELECT id FROM md_item WHERE item_code = 'RM-SAP440-500600-2.5'),
'WEIGHT', 1.000000, 1.600000, 1.820000, 0.1375, 0.0200,
'垃圾桶垫按SAP440钢板计料MRP按1.82kg/件计算采购仍按2吨倍数向上取整'
FROM DUAL
WHERE NOT EXISTS (
SELECT 1
FROM md_bom_item
WHERE bom_id = (
SELECT id FROM md_bom
WHERE product_item_id = (SELECT id FROM md_item WHERE item_code = 'FG-BT-002')
AND is_default = 1
AND status = 'ACTIVE'
ORDER BY id DESC LIMIT 1
)
AND seq_no = 10
);
-- 垃圾桶垫默认工艺路线
INSERT INTO md_process_route (
route_code, route_name, product_item_id, version_no, is_default, status, effective_date, expire_date, remark
)
SELECT
'ROUTE-BT-002', '垃圾桶垫标准工艺路线',
(SELECT id FROM md_item WHERE item_code = 'FG-BT-002'),
'V1.0', 1, 'ACTIVE', CURRENT_DATE(), NULL,
'适用于垃圾桶垫的默认冲压件六道工序路线'
FROM DUAL
WHERE NOT EXISTS (
SELECT 1
FROM md_process_route
WHERE product_item_id = (SELECT id FROM md_item WHERE item_code = 'FG-BT-002')
AND is_default = 1
AND status = 'ACTIVE'
);
INSERT INTO md_process_route_operation (
route_id, seq_no, process_id, work_center_id, operation_name,
std_setup_minutes, std_cycle_seconds, std_labor_cost, std_machine_cost, std_outsource_cost,
allowed_scrap_rate, report_required, is_key_operation, status, remark
)
SELECT
(SELECT id FROM md_process_route WHERE product_item_id = (SELECT id FROM md_item WHERE item_code = 'FG-BT-002') AND is_default = 1 AND status = 'ACTIVE' ORDER BY id DESC LIMIT 1),
10,
(SELECT id FROM md_process WHERE process_code = 'PROC-KP'),
(SELECT id FROM md_work_center WHERE center_code = 'WC-KP-01'),
'开平',
12.00, 4.00, 0.08, 0.10, 0.00, 0.0030, 1, 0, 'ACTIVE', '垃圾桶垫板材整平与下料准备'
FROM DUAL
WHERE NOT EXISTS (
SELECT 1
FROM md_process_route_operation
WHERE route_id = (
SELECT id FROM md_process_route
WHERE product_item_id = (SELECT id FROM md_item WHERE item_code = 'FG-BT-002')
AND is_default = 1
AND status = 'ACTIVE'
ORDER BY id DESC LIMIT 1
)
AND seq_no = 10
);
INSERT INTO md_process_route_operation (
route_id, seq_no, process_id, work_center_id, operation_name,
std_setup_minutes, std_cycle_seconds, std_labor_cost, std_machine_cost, std_outsource_cost,
allowed_scrap_rate, report_required, is_key_operation, status, remark
)
SELECT
(SELECT id FROM md_process_route WHERE product_item_id = (SELECT id FROM md_item WHERE item_code = 'FG-BT-002') AND is_default = 1 AND status = 'ACTIVE' ORDER BY id DESC LIMIT 1),
20,
(SELECT id FROM md_process WHERE process_code = 'PROC-CY'),
(SELECT id FROM md_work_center WHERE center_code = 'WC-CY-01'),
'冲压',
20.00, 6.00, 0.18, 0.24, 0.00, 0.0150, 1, 1, 'ACTIVE', '垃圾桶垫主成形工序,重点监控毛边与裂纹'
FROM DUAL
WHERE NOT EXISTS (
SELECT 1
FROM md_process_route_operation
WHERE route_id = (
SELECT id FROM md_process_route
WHERE product_item_id = (SELECT id FROM md_item WHERE item_code = 'FG-BT-002')
AND is_default = 1
AND status = 'ACTIVE'
ORDER BY id DESC LIMIT 1
)
AND seq_no = 20
);
INSERT INTO md_process_route_operation (
route_id, seq_no, process_id, work_center_id, operation_name,
std_setup_minutes, std_cycle_seconds, std_labor_cost, std_machine_cost, std_outsource_cost,
allowed_scrap_rate, report_required, is_key_operation, status, remark
)
SELECT
(SELECT id FROM md_process_route WHERE product_item_id = (SELECT id FROM md_item WHERE item_code = 'FG-BT-002') AND is_default = 1 AND status = 'ACTIVE' ORDER BY id DESC LIMIT 1),
30,
(SELECT id FROM md_process WHERE process_code = 'PROC-MC'),
(SELECT id FROM md_work_center WHERE center_code = 'WC-MC-01'),
'去毛刺',
10.00, 4.00, 0.06, 0.05, 0.00, 0.0040, 1, 0, 'ACTIVE', '清理冲压毛边与锐边'
FROM DUAL
WHERE NOT EXISTS (
SELECT 1
FROM md_process_route_operation
WHERE route_id = (
SELECT id FROM md_process_route
WHERE product_item_id = (SELECT id FROM md_item WHERE item_code = 'FG-BT-002')
AND is_default = 1
AND status = 'ACTIVE'
ORDER BY id DESC LIMIT 1
)
AND seq_no = 30
);
INSERT INTO md_process_route_operation (
route_id, seq_no, process_id, work_center_id, operation_name,
std_setup_minutes, std_cycle_seconds, std_labor_cost, std_machine_cost, std_outsource_cost,
allowed_scrap_rate, report_required, is_key_operation, status, remark
)
SELECT
(SELECT id FROM md_process_route WHERE product_item_id = (SELECT id FROM md_item WHERE item_code = 'FG-BT-002') AND is_default = 1 AND status = 'ACTIVE' ORDER BY id DESC LIMIT 1),
40,
(SELECT id FROM md_process WHERE process_code = 'PROC-ZW'),
(SELECT id FROM md_work_center WHERE center_code = 'WC-ZW-01'),
'折弯',
14.00, 5.00, 0.12, 0.12, 0.00, 0.0060, 1, 1, 'ACTIVE', '局部折边成形,控制角度一致性'
FROM DUAL
WHERE NOT EXISTS (
SELECT 1
FROM md_process_route_operation
WHERE route_id = (
SELECT id FROM md_process_route
WHERE product_item_id = (SELECT id FROM md_item WHERE item_code = 'FG-BT-002')
AND is_default = 1
AND status = 'ACTIVE'
ORDER BY id DESC LIMIT 1
)
AND seq_no = 40
);
INSERT INTO md_process_route_operation (
route_id, seq_no, process_id, work_center_id, operation_name,
std_setup_minutes, std_cycle_seconds, std_labor_cost, std_machine_cost, std_outsource_cost,
allowed_scrap_rate, report_required, is_key_operation, status, remark
)
SELECT
(SELECT id FROM md_process_route WHERE product_item_id = (SELECT id FROM md_item WHERE item_code = 'FG-BT-002') AND is_default = 1 AND status = 'ACTIVE' ORDER BY id DESC LIMIT 1),
50,
(SELECT id FROM md_process WHERE process_code = 'PROC-HJ'),
(SELECT id FROM md_work_center WHERE center_code = 'WC-HJ-01'),
'焊接',
18.00, 8.00, 0.20, 0.10, 0.00, 0.0050, 1, 1, 'ACTIVE', '必要焊点补强与外观控制'
FROM DUAL
WHERE NOT EXISTS (
SELECT 1
FROM md_process_route_operation
WHERE route_id = (
SELECT id FROM md_process_route
WHERE product_item_id = (SELECT id FROM md_item WHERE item_code = 'FG-BT-002')
AND is_default = 1
AND status = 'ACTIVE'
ORDER BY id DESC LIMIT 1
)
AND seq_no = 50
);
INSERT INTO md_process_route_operation (
route_id, seq_no, process_id, work_center_id, operation_name,
std_setup_minutes, std_cycle_seconds, std_labor_cost, std_machine_cost, std_outsource_cost,
allowed_scrap_rate, report_required, is_key_operation, status, remark
)
SELECT
(SELECT id FROM md_process_route WHERE product_item_id = (SELECT id FROM md_item WHERE item_code = 'FG-BT-002') AND is_default = 1 AND status = 'ACTIVE' ORDER BY id DESC LIMIT 1),
60,
(SELECT id FROM md_process WHERE process_code = 'PROC-QA'),
(SELECT id FROM md_work_center WHERE center_code = 'WC-QA-01'),
'检验包装',
8.00, 6.00, 0.09, 0.02, 0.00, 0.0020, 1, 1, 'ACTIVE', '终检确认外观、尺寸、包装完整'
FROM DUAL
WHERE NOT EXISTS (
SELECT 1
FROM md_process_route_operation
WHERE route_id = (
SELECT id FROM md_process_route
WHERE product_item_id = (SELECT id FROM md_item WHERE item_code = 'FG-BT-002')
AND is_default = 1
AND status = 'ACTIVE'
ORDER BY id DESC LIMIT 1
)
AND seq_no = 60
);
COMMIT;