# -*- coding: utf-8 -*-
"""Cập nhật 3 tài liệu KPH sau khi thêm vụ TTH270 (38 khối / 37 vụ; nhóm A: 11 vụ)."""
import io, os, re
D = r"C:\Claw\nghiên-cứu\26-Su-co-KPH-Bai-hoc-va-giai-phap"
def edit(fn, pairs):
    p = os.path.join(D, fn)
    t = io.open(p, encoding="utf-8").read()
    miss = []
    for old, new in pairs:
        if old in t:
            t = t.replace(old, new)
        else:
            miss.append(old[:70])
    io.open(p, "w", encoding="utf-8").write(t)
    print(f"{fn}: {len(pairs)-len(miss)}/{len(pairs)} thay thế")
    for m in miss: print("   ⚠ KHÔNG tìm thấy:", m)

# ---------------- TÀI LIỆU 1: PHÂN TÍCH ----------------
edit("Phan-tich-37-vu-khong-phu-hop-tren-portal-KPH_16-09-2026.md", [
 ("| **37 khối** |", "| **38 khối** |"),
 ("từ **06/2026 đến 15/09/2026** (vụ mới nhất: Minh Dương — mây lưng tựa ghế màu NAT 02A, 15/09)",
  "từ **06/2026 đến 16/09/2026** (vụ mới nhất: Tiến Hưng — màu sơn TTH270 bị vàng/chạy màu giữa các lô, 16/09)"),
 ("1. Portal có **37 khối vụ** nhưng số vụ thực là **36** —",
  "1. Portal có **38 khối vụ** nhưng số vụ thực là **37** —"),
 ("2. Portal ghi sai **\"35 vụ việc\"** ở 2 chỗ (logo nav và hero badge) trong khi DOM có 37 khối — **đã sửa thành 37 vụ việc ngày 16/09/2026** (sao lưu `index.bak_20260916_1432_trc_sua_so_vu.html` trước khi ghi; đã kiểm lại: 37 khối, div/figure cân bằng).",
  "2. Portal ghi sai số vụ (\"35 vụ việc\") trong khi DOM nhiều hơn — **đã sửa ngày 16/09/2026 tại 3 chỗ** (logo nav, hero badge, tiêu đề mục 01), nay ghi **38 vụ việc** khớp DOM; có sao lưu `index.bak_<stamp>_trc_sua_so_vu.html` và `index_html.bak_<stamp>_truoc_tth270` trước khi ghi, đã kiểm lại: 38 khối, `div`/`figure` cân bằng."),
 ("## II. Tổng quan 37 vụ theo nhóm vấn đề", "## II. Tổng quan 37 vụ theo nhóm vấn đề (38 khối)"),
 ("| **A. Sai màu / lệch màu / không tái lập được màu** | 10 | 28% |",
  "| **A. Sai màu / lệch màu / không tái lập được màu** | 11 | 30% |"),
 ("| **TỔNG** | **36 vụ / 37 khối** | 100% |", "| **TỔNG** | **37 vụ / 38 khối** | 100% |"),
 ("| Đang theo dõi | 23 |", "| Đang theo dõi | 24 |"),
 ("**Ba nhóm chiếm 25/36 vụ (69%): sai màu · khuyết tật bề mặt · bám dính kém.**",
  "**Ba nhóm chiếm 26/37 vụ (70%): sai màu · khuyết tật bề mặt · bám dính kém.**"),
 ("## III. Bảng tổng hợp 37 vụ việc", "## III. Bảng tổng hợp 37 vụ việc (38 khối trên portal)"),
 ("| 35 | Tiến Triển — Farm house | TD-166 (4 kế hoạch, 3,5 container, khách MODUS) | Lệch tone so với mẫu ký 24/04: lốm vàng cam hơn | A | Theo dõi |",
  "| 35 | Tiến Triển — Farm house | TD-166 (4 kế hoạch, 3,5 container, khách MODUS) | Lệch tone so với mẫu ký 24/04: lốm vàng cam hơn | A | Theo dõi |\n| 36 | **Tiến Hưng** | **TTH270 (Wilmslow White)** — FBO-WD03PKLR/FMT | **Màu bị vàng/chạy màu giữa các lô 2026; khách GF + MK khiếu nại; bảng màu ký lưu 2025 bị dơ, khác màu nhưng vẫn dùng làm chuẩn kiểm hàng đại trà (Biên bản 01-2026/BB-LV-BT, 16/09/2026)** | **A** | Theo dõi |"),
 ("### Nhóm A — Sai màu / lệch màu / không tái lập được màu (10 vụ, 28%)",
  "### Nhóm A — Sai màu / lệch màu / không tái lập được màu (11 vụ, 30%)"),
 ("**Vụ tham chiếu:** MHT 66 WH · MHT 69 WH · MHT 71 Grey · BH 432 · PKP KW 536H · Thanh Hùng VNHW 19 1725 · Hố Nai 2 (HN2-13/12/52 và mẫu gốc HN 52/12) · Wallen Ginger (Hố Nai + Hố Nai M&M) · Tiến Triển TD-166.",
  "**Vụ tham chiếu:** MHT 66 WH · MHT 69 WH · MHT 71 Grey · BH 432 · PKP KW 536H · Thanh Hùng VNHW 19 1725 · Hố Nai 2 (HN2-13/12/52 và mẫu gốc HN 52/12) · Wallen Ginger (Hố Nai + Hố Nai M&M) · Tiến Triển TD-166 · **Tiến Hưng TTH270**."),
 ("5. **Không tái lập được khi làm lại** (Wallen Ginger",
  "5. **Bộ chuẩn bị hư hỏng theo thời gian nhưng vẫn dùng làm chuẩn** (Tiến Hưng TTH270, 16/09: bảng màu ký lưu 2025 bị dơ, cầm tay nhiều lần, bảo quản – vệ sinh kém → **chính bảng màu đã khác màu được lấy để kiểm tra màu cho hàng sản xuất đại trà**, khiến màu trắng ngả vàng và không tái lập được giữa các lô; khách GF + MK khiếu nại). Đây là bằng chứng trực tiếp cho quy định *một mã = một bộ chuẩn duy nhất, có kiểm soát vệ sinh – bảo quản*.\n6. **Không tái lập được khi làm lại** (Wallen Ginger"),
 ("**Giải pháp cốt lõi (chi tiết ở tài liệu \"Bộ giải pháp theo nhóm\"):** tách **thẻ mẫu gỗ (wood-effect reference)** khỏi **thẻ Master**; chốt quy trình phun chuẩn khi phê duyệt màu; đo ΔE trên hộp đèn chuẩn với nguồn sáng khách dùng; kiểm tra màu lại sau 3–7 ngày trên mẻ pha.",
  "**Giải pháp cốt lõi (chi tiết ở tài liệu \"Bộ giải pháp theo nhóm\"):** tách **thẻ mẫu gỗ (wood-effect reference)** khỏi **thẻ Master**; chốt quy trình phun chuẩn khi phê duyệt màu; đo ΔE trên hộp đèn chuẩn với nguồn sáng khách dùng; kiểm tra màu lại sau 3–7 ngày trên mẻ pha; **bộ chuẩn phải được vệ sinh – bảo quản – kiểm tra định kỳ và hủy khi đã biến màu; mỗi lô pigment trắng phải sơn mẫu A4 đối chiếu gold seal, hai bên ký và lưu tại một nơi**."),
 ("| 12 | Rà soát đỉnh tháng 8/2026 (29 hồ sơ) theo khách/nhóm | CSDL KPH | QC | 30/09/2026 | Mục V.2 |",
  "| 12 | Rà soát đỉnh tháng 8/2026 (29 hồ sơ) theo khách/nhóm | CSDL KPH | QC | 30/09/2026 | Mục V.2 |\n| 13 | **Góp ý Biên bản 01-2026/BB-LV-BT + Quy trình kiểm soát bảng màu pigment (Tiến Hưng)** | Portal KPH + CSDL | Phòng Kỹ thuật | 25/09/2026 | Vụ TTH270 (16/09) |"),
 ("*Tài liệu phân tích nội bộ — số liệu lấy trực tiếp từ portal KPH (37 khối) và CSDL KPH (823 hồ sơ), ngày 16/09/2026. Các con số tỷ lệ nhóm trong tài liệu này tính trên 36 vụ thực (37 khối, 1 cặp trùng).*",
  "*Tài liệu phân tích nội bộ — số liệu lấy trực tiếp từ portal KPH (38 khối) và CSDL KPH (824 hồ sơ), ngày 16/09/2026. Các con số tỷ lệ nhóm tính trên 37 vụ thực (38 khối, 1 cặp trùng). Vụ Tiến Hưng TTH270 (16/09) đã được nhập đồng bộ: `su_co_kph` #57 · hồ sơ KPH #824 · portal khối 38 `tienhung-tth270`.*"),
])

# ---------------- TÀI LIỆU 2: BÀI HỌC ----------------
edit("Bai-hoc-ky-thuat-va-quan-ly_tu-37-vu-KPH_16-09-2026.md", [
 ("**Nguồn: portal KPH — 37 khối vụ (36 vụ thực), 06/2026 → 15/09/2026 — Tổng hợp 16/09/2026**",
  "**Nguồn: portal KPH — 38 khối vụ (37 vụ thực), 06/2026 → 16/09/2026 — Tổng hợp 16/09/2026**"),
 ("Hố Nai 2 (báo cáo QC 08/09): so với mẫu lưu VP Hố Nai, mẫu QC nhà máy ΔE **0,74** còn mẫu lưu BTChem ΔE **1,28** (kém vàng hơn). Thẻ màu HN2-13/12/52 bị ngả vàng so với sản phẩm.",
  "Hố Nai 2 (báo cáo QC 08/09): so với mẫu lưu VP Hố Nai, mẫu QC nhà máy ΔE **0,74** còn mẫu lưu BTChem ΔE **1,28** (kém vàng hơn). Thẻ màu HN2-13/12/52 bị ngả vàng so với sản phẩm. **Tiến Hưng TTH270 (16/09): bảng màu ký lưu 2025 bị dơ, cầm tay nhiều lần, bảo quản – vệ sinh kém, đã khác màu — nhưng chính bảng màu đó vẫn được dùng để kiểm tra màu cho hàng sản xuất đại trà.**"),
 ("Wallen Ginger (khách cuối Modus, thư 04/09): mẫu BTChem làm và được duyệt → nhà máy sản xuất thử và hàng loạt được → **BTChem làm lại chính mẫu đó thì không ra**.",
  "Wallen Ginger (khách cuối Modus, thư 04/09): mẫu BTChem làm và được duyệt → nhà máy sản xuất thử và hàng loạt được → **BTChem làm lại chính mẫu đó thì không ra**. Tiến Hưng TTH270 (16/09) là ca đối chứng: khách **GF + MK** khiếu nại màu TTH270 bị vàng, mở sản phẩm thấy khác màu so với khi ở kho."),
 ("| Màu lệch **ngay khi kiểm tra trước sản xuất** | Chuẩn đối chiếu sai, lấy lô trước làm chuẩn | MHT 66 WH, MHT 69 WH, MHT 71 Grey |",
  "| Màu lệch **ngay khi kiểm tra trước sản xuất** | Chuẩn đối chiếu sai, lấy lô trước làm chuẩn | MHT 66 WH, MHT 69 WH, MHT 71 Grey |\n| Màu **ngả vàng theo lô**, bảng mẫu ký lưu bị dơ/ biến màu | Bộ chuẩn hư theo thời gian nhưng vẫn dùng làm chuẩn | Tiến Hưng TTH270 (GF + MK) |"),
 ("| 15 | Chuẩn hoá 5 ô nhập hồ sơ KPH để tự thống kê nhóm lỗi | Quản lý | QC + CNTT | 15/10/2026 | Hạn chế dữ liệu mục V |",
  "| 15 | Chuẩn hoá 5 ô nhập hồ sơ KPH để tự thống kê nhóm lỗi | Quản lý | QC + CNTT | 15/10/2026 | Hạn chế dữ liệu mục V |\n| 16 | **Quy định vệ sinh – bảo quản – kiểm tra định kỳ bộ bảng màu gold; hủy ngay bảng đã biến màu** | A | QC + KT | 25/09/2026 | Tiến Hưng TTH270 |\n| 17 | **Góp ý Biên bản + Quy trình kiểm soát bảng màu pigment cho Tiến Hưng trước khi TH ký ban hành** | Quản lý | Phòng Kỹ thuật | 25/09/2026 | Biên bản 01-2026/BB-LV-BT |"),
 ("*Tài liệu nội bộ — rút từ 37 khối vụ trên portal KPH và đối chiếu CSDL KPH 823 hồ sơ, ngày 16/09/2026.*",
  "*Tài liệu nội bộ — rút từ 38 khối vụ trên portal KPH và đối chiếu CSDL KPH 824 hồ sơ, ngày 16/09/2026.*"),
])

# ---------------- TÀI LIỆU 3: BỘ GIẢI PHÁP ----------------
edit("Bo-giai-phap-theo-nhom-vu-KPH_16-09-2026.md", [
 ("**36 vụ / 37 khối trên portal KPH — 06/2026 → 15/09/2026 — Tổng hợp 16/09/2026**",
  "**37 vụ / 38 khối trên portal KPH — 06/2026 → 16/09/2026 — Tổng hợp 16/09/2026**"),
 ("- **Dữ liệu:** 37 khối vụ trên portal KPH (36 vụ thực), đối chiếu CSDL KPH **823 hồ sơ** và CSDL chính `su_co_kph`.",
  "- **Dữ liệu:** 38 khối vụ trên portal KPH (37 vụ thực), đối chiếu CSDL KPH **824 hồ sơ** và CSDL chính `su_co_kph`."),
 ("- **Thứ tự ưu tiên:** làm theo mức độ chiếm số vụ (A 10 · C 8 · B 7 chiếm 69%)",
  "- **Thứ tự ưu tiên:** làm theo mức độ chiếm số vụ (A 11 · C 8 · B 7 chiếm 70%)"),
 ("![Phân nhóm 36 vụ không phù hợp trên portal KPH (06/2026 – 15/09/2026)](hinh_kph/F01_phan-nhom-36-vu.png)",
  "![Phân nhóm 37 vụ không phù hợp trên portal KPH (06/2026 – 16/09/2026)](hinh_kph/F01_phan-nhom-37-vu.png)"),
 ("*Hình 1: Ba nhóm A – C – B chiếm 25/36 vụ (69%) — đây là vùng ưu tiên số 1.*",
  "*Hình 1: Ba nhóm A – C – B chiếm 26/37 vụ (70%) — đây là vùng ưu tiên số 1.*"),
 ("![Trạng thái 37 khối vụ trên portal KPH, 16/09/2026](hinh_kph/F02_trang-thai-37-khoi.png)",
  "![Trạng thái 37 khối vụ trên portal KPH, 16/09/2026](hinh_kph/F02_trang-thai-38-khoi.png)"),
 ("*Hình 2: 23/37 khối đang theo dõi, 7 khối đã xử lý, 3 khối chờ kết quả.*",
  "*Hình 2: 24/38 khối đang theo dõi, 7 khối đã xử lý, 3 khối chờ kết quả.*"),
 ("## II. NHÓM A — SAI MÀU / LỆCH MÀU / KHÔNG TÁI LẬP ĐƯỢC MÀU (10 vụ)",
  "## II. NHÓM A — SAI MÀU / LỆCH MÀU / KHÔNG TÁI LẬP ĐƯỢC MÀU (11 vụ)"),
 ("**Vụ tham chiếu:** MHT 66 WH · MHT 69 WH · MHT 71 Grey · BH 432 · PKP KW 536H · Thanh Hùng VNHW 19 1725 · Hố Nai 2 (HN2-13/12/52 và mẫu gốc HN 52/12) · Wallen Ginger (Hố Nai + Hố Nai M&M) · Tiến Triển TD-166.",
  "**Vụ tham chiếu:** MHT 66 WH · MHT 69 WH · MHT 71 Grey · BH 432 · PKP KW 536H · Thanh Hùng VNHW 19 1725 · Hố Nai 2 (HN2-13/12/52 và mẫu gốc HN 52/12) · Wallen Ginger (Hố Nai + Hố Nai M&M) · Tiến Triển TD-166 · **Tiến Hưng TTH270 (GF + MK, 16/09/2026)**."),
 ("| A9 | **Lưu hũ mẫu màu sai + nhãn lô** khi phát hiện lệch | Mỗi vụ: 1 hũ màu sai + 1 thẻ mẫu đối chiếu, lưu 12 tháng | MHT 69 WH, MHT 71 Grey (đều có hũ lưu) |",
  "| A9 | **Lưu hũ mẫu màu sai + nhãn lô** khi phát hiện lệch | Mỗi vụ: 1 hũ màu sai + 1 thẻ mẫu đối chiếu, lưu 12 tháng | MHT 69 WH, MHT 71 Grey (đều có hũ lưu) |\n| A10 | **Quy định vệ sinh – bảo quản – kiểm tra định kỳ bộ bảng màu gold:** hộp kín, không cầm tay trực tiếp, kiểm tra màu định kỳ, **hủy ngay bảng đã biến màu**; **mỗi lô sơn trắng (pigment) sơn mẫu A4 đối chiếu gold seal, hai bên KT BT & nhà máy cùng ký, ghi ngày, lưu tại một nơi (VP BQĐ-XS)**; lưu gold 3 tấm/đợt 10 tấm; **nhận bảng màu theo ∆E < 0,5 có ghi số đo trên gold seal**; so lại màu/3 lần sản xuất | Sổ theo dõi bảng màu (ngày kiểm, người kiểm, kết quả); ∆E ghi trên gold seal ≤ 0,5 và có chữ ký 2 bên | Tiến Hưng TTH270: bảng màu ký lưu 2025 bị dơ/khác màu vẫn dùng làm chuẩn kiểm hàng đại trà (Biên bản 01-2026/BB-LV-BT) |"),
 ("Trường \"hiện tượng\" của hồ sơ cũ thường chỉ ghi **mã sản phẩm** (ví dụ \"Màu AQ 929\"), nên **không phân nhóm tự động được**: chỉ 18/91 hồ sơ 2026 phân nhóm được bằng từ khoá, 73/91 rơi vào \"khác\".",
  "Trường \"hiện tượng\" của hồ sơ cũ thường chỉ ghi **mã sản phẩm** (ví dụ \"Màu AQ 929\"), nên **không phân nhóm tự động được**: chỉ 18/91 hồ sơ 2026 phân nhóm được bằng từ khoá, 73/91 rơi vào \"khác\". Vụ Tiến Hưng TTH270 (16/09) đã được nhập làm hồ sơ **#824** và khối **38** trên portal — là hồ sơ 2026 đầu tiên có đủ 5 ô mô tả theo mẫu (nhóm hiện tượng, giai đoạn, tuổi hàng, điều kiện thử, đối chứng) để làm ví dụ chuẩn."),
 ("| **1 (ngay)** | A1, A2, A4, B1, B2, C1, C3, D1 | Rẻ, chặn được 25/36 vụ (nhóm A–C–B), không cần đầu tư thiết bị | 30/09/2026 |",
  "| **1 (ngay)** | A1, A2, A4, A10, B1, B2, C1, C3, D1 | Rẻ, chặn được 26/37 vụ (nhóm A–C–B), không cần đầu tư thiết bị | 30/09/2026 |"),
 ("*Tài liệu nội bộ — xây dựng từ 37 khối vụ portal KPH và CSDL KPH 823 hồ sơ, ngày 16/09/2026.",
  "*Tài liệu nội bộ — xây dựng từ 38 khối vụ portal KPH và CSDL KPH 824 hồ sơ, ngày 16/09/2026."),
])
