-- ============================================================================
-- S59 đợt 3 (2026-06-11) — RENAME 71 WorkItems theo format PMH anh Kiệt FDC chốt
-- (Zalo 16:59 "MÃ CV gồm chữ MEP-SUB-1 rồi tên 1 MEP Sub MEP (Full) — đúng kiểu vậy"):
--   Mã CV  = nhóm + STT không pad:  MAT-n / SUB-n / MEP-SUB-n / MEP-EQU-n
--   Tên CV = "STT nhóm tên":        "1 Mat Bê tông", "1 MEP Sub MEP (Full)"…
-- UPDATE giữ nguyên Id (phiếu PE/2026/A/001 vừa tạo trỏ WorkItemId vẫn đúng).
-- PHẢI chạy TRƯỚC khi deploy commit seed mới (per-code idempotent: nếu deploy
-- trước, app restart thấy mã mới "thiếu" sẽ ADD 71 row mới = 142).
-- Run:  sqlcmd -S .\SQLEXPRESS -d SolutionErp -i s59-rename-workitems-pmh.sql
-- ============================================================================
SET QUOTED_IDENTIFIER ON;
SET NOCOUNT ON;

PRINT '=== BEFORE ===';
SELECT 'TOTAL' AS T, COUNT(*) AS C FROM WorkItems
UNION ALL SELECT 'OLD-CODES', COUNT(*) FROM WorkItems WHERE Code LIKE 'VT-%' OR Code LIKE 'TP-%' OR (Code LIKE 'MEP-0%') OR Code LIKE 'TB-%';

BEGIN TRANSACTION;

-- VẬT TƯ - XÂY DỰNG: VT-01..16 -> MAT-1..16
UPDATE WorkItems SET Code=N'MAT-1',  Name=N'1 Mat Bê tông' WHERE Code=N'VT-01';
UPDATE WorkItems SET Code=N'MAT-2',  Name=N'2 Mat Thép cây, Thép lưới hàn' WHERE Code=N'VT-02';
UPDATE WorkItems SET Code=N'MAT-3',  Name=N'3 Mat Cọc ly tâm' WHERE Code=N'VT-03';
UPDATE WorkItems SET Code=N'MAT-4',  Name=N'4 Mat Cống ly tâm' WHERE Code=N'VT-04';
UPDATE WorkItems SET Code=N'MAT-5',  Name=N'5 Mat Cừ tràm' WHERE Code=N'VT-05';
UPDATE WorkItems SET Code=N'MAT-6',  Name=N'6 Mat Kim loại ( rọ đầu cọc, V mạ kẽm, Vinox, bản mã…)' WHERE Code=N'VT-06';
UPDATE WorkItems SET Code=N'MAT-7',  Name=N'7 Mat Nắp gang' WHERE Code=N'VT-07';
UPDATE WorkItems SET Code=N'MAT-8',  Name=N'8 Mat Gạch xây, Xi măng, cát, đá, gạch trồng cỏ' WHERE Code=N'VT-08';
UPDATE WorkItems SET Code=N'MAT-9',  Name=N'9 Mat Gạch trồng cỏ, gạch trang trí…' WHERE Code=N'VT-09';
UPDATE WorkItems SET Code=N'MAT-10', Name=N'10 Mat Gạch ốp lát' WHERE Code=N'VT-10';
UPDATE WorkItems SET Code=N'MAT-11', Name=N'11 Mat Ván khuôn' WHERE Code=N'VT-11';
UPDATE WorkItems SET Code=N'MAT-12', Name=N'12 Mat Sơn nước' WHERE Code=N'VT-12';
UPDATE WorkItems SET Code=N'MAT-13', Name=N'13 Mat Phụ gia (sika, vinkem, Gps…)' WHERE Code=N'VT-13';
UPDATE WorkItems SET Code=N'MAT-14', Name=N'14 Mat PVC, vải địa' WHERE Code=N'VT-14';
UPDATE WorkItems SET Code=N'MAT-15', Name=N'15 Mat Nẹp inox, nẹp nhựa' WHERE Code=N'VT-15';
UPDATE WorkItems SET Code=N'MAT-16', Name=N'16 Mat Khác' WHERE Code=N'VT-16';

-- THẦU PHỤ - XÂY DỰNG: TP-01..30 -> SUB-1..30
UPDATE WorkItems SET Code=N'SUB-1',  Name=N'1 Sub Thầu phụ cọc ( cơ, robot)' WHERE Code=N'TP-01';
UPDATE WorkItems SET Code=N'SUB-2',  Name=N'2 Sub Thầu phụ cọc Khoan nhồi' WHERE Code=N'TP-02';
UPDATE WorkItems SET Code=N'SUB-3',  Name=N'3 Sub Thầu phụ cọc CDM' WHERE Code=N'TP-03';
UPDATE WorkItems SET Code=N'SUB-4',  Name=N'4 Sub Kết cấu thép' WHERE Code=N'TP-04';
UPDATE WorkItems SET Code=N'SUB-5',  Name=N'5 Sub Cáp dự ứng lực' WHERE Code=N'TP-05';
UPDATE WorkItems SET Code=N'SUB-6',  Name=N'6 Sub Panel' WHERE Code=N'TP-06';
UPDATE WorkItems SET Code=N'SUB-7',  Name=N'7 Sub Nhôm kính, alu' WHERE Code=N'TP-07';
UPDATE WorkItems SET Code=N'SUB-8',  Name=N'8 Sub Cửa thép, Cửa cuốn, sectional door' WHERE Code=N'TP-08';
UPDATE WorkItems SET Code=N'SUB-9',  Name=N'9 Sub Cửa gỗ' WHERE Code=N'TP-09';
UPDATE WorkItems SET Code=N'SUB-10', Name=N'10 Sub Cơ khí hoàn thiện lan can, cầu thang' WHERE Code=N'TP-10';
UPDATE WorkItems SET Code=N'SUB-11', Name=N'11 Sub Dây cứu sinh' WHERE Code=N'TP-11';
UPDATE WorkItems SET Code=N'SUB-12', Name=N'12 Sub Nội thất' WHERE Code=N'TP-12';
UPDATE WorkItems SET Code=N'SUB-13', Name=N'13 Sub Vách trần thạch cao' WHERE Code=N'TP-13';
UPDATE WorkItems SET Code=N'SUB-14', Name=N'14 Sub Vách ngăn di động' WHERE Code=N'TP-14';
UPDATE WorkItems SET Code=N'SUB-15', Name=N'15 Sub Vách ngăn vệ sinh' WHERE Code=N'TP-15';
UPDATE WorkItems SET Code=N'SUB-16', Name=N'16 Sub Granit' WHERE Code=N'TP-16';
UPDATE WorkItems SET Code=N'SUB-17', Name=N'17 Sub Hoàn thiện sàn thảm, vinyl' WHERE Code=N'TP-17';
UPDATE WorkItems SET Code=N'SUB-18', Name=N'18 Sub Chống mối' WHERE Code=N'TP-18';
UPDATE WorkItems SET Code=N'SUB-19', Name=N'19 Sub Chống thấm' WHERE Code=N'TP-19';
UPDATE WorkItems SET Code=N'SUB-20', Name=N'20 Sub Sơn PU, Epoxy, liquid' WHERE Code=N'TP-20';
UPDATE WorkItems SET Code=N'SUB-21', Name=N'21 Sub Dock Leveler.' WHERE Code=N'TP-21';
UPDATE WorkItems SET Code=N'SUB-22', Name=N'22 Sub Cẩu trục' WHERE Code=N'TP-22';
UPDATE WorkItems SET Code=N'SUB-23', Name=N'23 Sub Trạm cân' WHERE Code=N'TP-23';
UPDATE WorkItems SET Code=N'SUB-24', Name=N'24 Sub Thang máy, thang hàng, …' WHERE Code=N'TP-24';
UPDATE WorkItems SET Code=N'SUB-25', Name=N'25 Sub Sàn nâng.' WHERE Code=N'TP-25';
UPDATE WorkItems SET Code=N'SUB-26', Name=N'26 Sub Landscape' WHERE Code=N'TP-26';
UPDATE WorkItems SET Code=N'SUB-27', Name=N'27 Sub Cổng xếp.' WHERE Code=N'TP-27';
UPDATE WorkItems SET Code=N'SUB-28', Name=N'28 Sub Logo, Bảng hiệu.' WHERE Code=N'TP-28';
UPDATE WorkItems SET Code=N'SUB-29', Name=N'29 Sub TP thi công Màng nhựa' WHERE Code=N'TP-29';
UPDATE WorkItems SET Code=N'SUB-30', Name=N'30 Sub Khác' WHERE Code=N'TP-30';

-- MEP: MEP-01..09 -> MEP-SUB-1..9 (chạy TRƯỚC khối MEP-EQU để LIKE 'MEP-0%' không đụng)
UPDATE WorkItems SET Code=N'MEP-SUB-1', Name=N'1 MEP Sub MEP (Full)' WHERE Code=N'MEP-01';
UPDATE WorkItems SET Code=N'MEP-SUB-2', Name=N'2 MEP Sub Hệ thống trung thế' WHERE Code=N'MEP-02';
UPDATE WorkItems SET Code=N'MEP-SUB-3', Name=N'3 MEP Sub PCCC (Phòng cháy chữa cháy).' WHERE Code=N'MEP-03';
UPDATE WorkItems SET Code=N'MEP-SUB-4', Name=N'4 MEP Sub Hệ thống điện, điện nhẹ' WHERE Code=N'MEP-04';
UPDATE WorkItems SET Code=N'MEP-SUB-5', Name=N'5 MEP Sub Hệ thống HVAC, Utility (Thông gió & Điều hòa không khí & Phù trợ).' WHERE Code=N'MEP-05';
UPDATE WorkItems SET Code=N'MEP-SUB-6', Name=N'6 MEP Sub Hệ thống cấp thoát nước' WHERE Code=N'MEP-06';
UPDATE WorkItems SET Code=N'MEP-SUB-7', Name=N'7 MEP Sub Hệ thống xử lý nước thải' WHERE Code=N'MEP-07';
UPDATE WorkItems SET Code=N'MEP-SUB-8', Name=N'8 MEP Sub Hệ thống solar' WHERE Code=N'MEP-08';
UPDATE WorkItems SET Code=N'MEP-SUB-9', Name=N'9 MEP Sub Khác' WHERE Code=N'MEP-09';

-- THIẾT BỊ: TB-01..16 -> MEP-EQU-1..16
UPDATE WorkItems SET Code=N'MEP-EQU-1',  Name=N'1 MEP _ Equ Máy biến áp' WHERE Code=N'TB-01';
UPDATE WorkItems SET Code=N'MEP-EQU-2',  Name=N'2 MEP _ Equ Tủ điện' WHERE Code=N'TB-02';
UPDATE WorkItems SET Code=N'MEP-EQU-3',  Name=N'3 MEP _ Equ Tủ trung thế.' WHERE Code=N'TB-03';
UPDATE WorkItems SET Code=N'MEP-EQU-4',  Name=N'4 MEP _ Equ Busway' WHERE Code=N'TB-04';
UPDATE WorkItems SET Code=N'MEP-EQU-5',  Name=N'5 MEP _ Equ Cáp điện' WHERE Code=N'TB-05';
UPDATE WorkItems SET Code=N'MEP-EQU-6',  Name=N'6 MEP _ Equ Thiết bị Utility (Máy nén khí, Hút bụi hút mùi, Boiler,...)' WHERE Code=N'TB-06';
UPDATE WorkItems SET Code=N'MEP-EQU-7',  Name=N'7 MEP _ Equ Máy lạnh' WHERE Code=N'TB-07';
UPDATE WorkItems SET Code=N'MEP-EQU-8',  Name=N'8 MEP _ Equ Ống thép, inox' WHERE Code=N'TB-08';
UPDATE WorkItems SET Code=N'MEP-EQU-9',  Name=N'9 MEP _ Equ Thang máng cáp' WHERE Code=N'TB-09';
UPDATE WorkItems SET Code=N'MEP-EQU-10', Name=N'10 MEP _ Equ Ống PVC, HDPE' WHERE Code=N'TB-10';
UPDATE WorkItems SET Code=N'MEP-EQU-11', Name=N'11 MEP _ Equ Thiết bị báo cháy' WHERE Code=N'TB-11';
UPDATE WorkItems SET Code=N'MEP-EQU-12', Name=N'12 MEP _ Equ Đèn (đèn chiếu sáng, đèn năng lượng, đèn exit….)' WHERE Code=N'TB-12';
UPDATE WorkItems SET Code=N'MEP-EQU-13', Name=N'13 MEP _ Equ Thiết bị chữa cháy (Sprinkler, Chữa cháy khí, FM200,…)' WHERE Code=N'TB-13';
UPDATE WorkItems SET Code=N'MEP-EQU-14', Name=N'14 MEP _ Equ Bơm (bơm PCCC, Bơm nước…)' WHERE Code=N'TB-14';
UPDATE WorkItems SET Code=N'MEP-EQU-15', Name=N'15 MEP _ Equ Bồn nước, Thiết bị vệ sinh' WHERE Code=N'TB-15';
UPDATE WorkItems SET Code=N'MEP-EQU-16', Name=N'16 MEP _ Equ Khác' WHERE Code=N'TB-16';

PRINT '=== AFTER (expect TOTAL 71 / OLD-CODES 0 / NEW-CODES 71) ===';
SELECT 'TOTAL' AS T, COUNT(*) AS C FROM WorkItems
UNION ALL SELECT 'OLD-CODES', COUNT(*) FROM WorkItems WHERE Code LIKE 'VT-%' OR Code LIKE 'TP-%' OR (Code LIKE 'MEP-0%') OR Code LIKE 'TB-%'
UNION ALL SELECT 'NEW-MAT', COUNT(*) FROM WorkItems WHERE Code LIKE 'MAT-%'
UNION ALL SELECT 'NEW-SUB', COUNT(*) FROM WorkItems WHERE Code LIKE 'SUB-%'
UNION ALL SELECT 'NEW-MEP-SUB', COUNT(*) FROM WorkItems WHERE Code LIKE 'MEP-SUB-%'
UNION ALL SELECT 'NEW-MEP-EQU', COUNT(*) FROM WorkItems WHERE Code LIKE 'MEP-EQU-%';
SELECT TOP 5 Code, Name FROM WorkItems WHERE Code LIKE 'MEP-SUB-%' ORDER BY Code;

COMMIT TRANSACTION;
PRINT 'S59 rename PMH COMMITTED.';
