# -*- coding: utf-8 -*-
"""Dựng HTML báo cáo PDF: KẾT QUẢ KIỂM TRA CỦA LỘC QC & TRÍ QC — SỰ CỐ KỸ THUẬT TẠI MINH PHÁT & THÀNH THẮNG.
Nguồn: Tri qc.md + Locqc.md (C:\\Claw 2\\QC). Ảnh: img/ (đã co nhỏ)."""
import io, os
from datetime import datetime

W = r'C:\Claw 2\QC\Bao-cao-MP-TT-0710'
NGAY = datetime.now().strftime('%d/%m/%Y')

CSS = """
@page { size: A4; margin: 14mm 13mm 15mm 13mm }
* { box-sizing: border-box }
body { font-family: "Times New Roman", "Cambria", serif; font-size: 10.8pt; line-height: 1.42; color: #111; margin: 0 }
h1 { font-size: 15.5pt; text-align: center; margin: 0 0 2mm; line-height: 1.3 }
h2 { font-size: 12.6pt; margin: 6mm 0 2mm; padding-bottom: 1.2mm; border-bottom: 1.1pt solid #1b3a5c; color: #1b3a5c; page-break-after: avoid }
h3 { font-size: 11.4pt; margin: 4mm 0 1.5mm; color: #24425f; page-break-after: avoid }
h4 { font-size: 10.9pt; margin: 3mm 0 1mm; color: #24425f; page-break-after: avoid }
.cq { text-align: center; font-size: 11.4pt; font-weight: bold; letter-spacing: .3px; margin: 0 0 1mm }
.meta { text-align: center; font-size: 10pt; color: #333; margin-bottom: 4mm }
table { width: 100%; border-collapse: collapse; margin: 2mm 0 3mm; font-size: 10pt }
th, td { border: .6pt solid #7d8794; padding: 1.3mm 1.8mm; vertical-align: top; text-align: left }
th { background: #e8eef5; font-weight: bold }
td.c, th.c { text-align: center }
.ok { color: #14602a; font-weight: bold } .bad { color: #a01818; font-weight: bold } .warn { color: #8a5b00; font-weight: bold }
.box { border: .8pt solid #1b3a5c; background: #f4f7fb; padding: 2.2mm 3mm; margin: 2.5mm 0 3.5mm; break-inside: avoid; page-break-inside: avoid }
.box b { color: #1b3a5c }
ul, ol { margin: 1.2mm 0 2.5mm; padding-left: 6mm }
li { margin-bottom: .8mm }
figure { margin: 2.5mm 0 3.5mm; break-inside: avoid; page-break-inside: avoid }
figure img { width: 100%; height: auto; max-height: 195mm; object-fit: contain; border: .6pt solid #9aa4b0 }
figure.portrait img { width: 100%; max-height: 150mm; display: block; margin: 0 auto; object-fit: contain }
figure.doc img { width: 100%; max-height: 92mm; object-fit: contain }
figcaption { font-size: 9.2pt; color: #333; margin-top: 1.2mm; font-style: italic }
.two { display: flex; gap: 3mm; break-inside: avoid; page-break-inside: avoid; margin: 2mm 0 3mm }
.two figure { flex: 1; margin: 0 }
.two figure img { max-height: 150mm }
.sig { width: 100%; margin-top: 6mm; break-inside: avoid }
.sig td { border: none; text-align: center; font-size: 10pt; padding-top: 4mm }
.small { font-size: 9.4pt; color: #333 }
h2, h3, table, .box, figure, .two { break-inside: avoid }
"""

# ---------------- nội dung ----------------
P = []
A = P.append


def fig(src, cap, cls='', ):
    return '<figure class="%s"><img src="img/%s"><figcaption>%s</figcaption></figure>' % (cls, src, cap)


def two(src1, cap1, src2, cap2, cls='portrait'):
    return ('<div class="two"><figure class="%s"><img src="img/%s"><figcaption>%s</figcaption></figure>'
            '<figure class="%s"><img src="img/%s"><figcaption>%s</figcaption></figure></div>'
            % (cls, src1, cap1, cls, src2, cap2))


A('<div class="cq">CÔNG TY TNHH SX — TM HÓA KEO BÌNH THẠNH</div>')
A('<div class="meta">KP. Bình Phước B, P. Bình Chuẩn, TP. Thuận An, T. Bình Dương · ĐT: (0274) 3 789 991 – 92 – 93 – 94 · Fax: (0274) 3 789 996<br>'
  'Tiêu chuẩn: ISO 9001 – 14001 – OHSAS 18001</div>')
A('<h1>BÁO CÁO TỔNG HỢP KẾT QUẢ KIỂM TRA QC<br>SỰ CỐ KỸ THUẬT TẠI CÔNG TY MINH PHÁT VÀ CÔNG TY THÀNH THẮNG</h1>')
A('<div class="meta">Phạm vi: các báo cáo kiểm tra từ <b>08/09/2026 đến 06/10/2026</b> · Người lập bản gốc: <b>Nguyễn Ánh Trí (Trí QC)</b>, '
  '<b>Bùi Thiên Lộc (Lộc QC)</b> · Ngày lập bản tổng hợp: <b>%s</b></div>' % NGAY)

A('<table><tr><th style="width:26%">Nội dung</th><th>Chi tiết</th></tr>'
  '<tr><td><b>Khách hàng 1</b></td><td>Công ty <b>Minh Phát</b> — sản phẩm phôi gỗ <b>veneer walnut</b>, <b>cao su + veneer</b></td></tr>'
  '<tr><td><b>Khách hàng 2</b></td><td>Công ty <b>Thành Thắng</b> — xưởng 2 và xưởng 4, các mã màu <b>THTH 91</b>, <b>THTH 46</b>, <b>THTH 401A</b>, THTH 464</td></tr>'
  '<tr><td><b>Sự cố kỹ thuật tại Minh Phát</b></td><td>① Độ bóng <b>BEX 03-2706 H 10 %</b> cao hơn yêu cầu 2–3 lần (đo 19–33 % so với 10 %) ② đốm/sọc bóng trên bóng <b>BT ABR 2410 + 10 %</b> (vụ MP 744H) ③ kiểm tra lô <b>MP 764 H</b> (lót màu 2 hệ nước, đang chờ phun tái chế)</td></tr>'
  '<tr><td><b>Sự cố kỹ thuật tại Thành Thắng</b></td><td><b>Màng sơn bị trắng đục (blushing)</b> trên các mã THTH 91 · THTH 46 · THTH 401A tại xưởng 2 và xưởng 4; theo dõi liên tục 18/09 → 02/10/2026, đã khoanh vùng nguyên nhân về <b>lô bóng NC MOD 1106 30 %</b></td></tr>'
  '<tr><td><b>Người lập báo cáo gốc</b></td><td>Nguyễn Ánh Trí (Trí QC — các mục 08/09 · 11–12/09 · 21–28/09 · 30/09 · 01–06/10) · Bùi Thiên Lộc (Lộc QC — các mục 18/09 · 22/09)</td></tr>'
  '<tr><td><b>Nguồn dữ liệu</b></td><td>Sổ báo cáo QC tại nhà máy: <i>Tri qc.md</i> và <i>Locqc.md</i> (C:\\Claw 2\\QC) + ảnh hiện trường trong QC\\images</td></tr>'
  '</table>')

# ---------- I. TÓM TẮT ----------
A('<h2>I. TÓM TẮT KẾT QUẢ</h2>')
A('<table><tr><th class="c" style="width:9%">Ngày</th><th class="c" style="width:11%">Người</th><th style="width:24%">Mã màu / sản phẩm</th>'
  '<th>Nội dung kiểm tra và kết quả chính</th><th class="c" style="width:11%">Trạng thái</th></tr>')
for ngay, nguoi, sp, nd, tt in [
    ('08/09', 'Trí QC', 'Bóng BT ABR 2410 + 10 % (MP 744H)', 'Pha + 10 % Diluent BT 08H → + 2 % TCF; độ nhớt Din 4: 15"98 → 16"02 → sau 2 giờ 16"18 → sau 4 giờ 16"50; lọc sau 2 giờ và 4 giờ có <b>vài hạt trắng li ti</b>. Chất lượng bóng <b>đạt</b> theo quy trình mẫu; chưa đánh giá được sọc bóng trên sản phẩm nhỏ.', '<span class="warn">ĐẠT có lưu ý</span>'),
    ('11–12/09', 'Trí QC', 'Bóng BEX 03-2706 H 10 % (MP 689 H)', 'Hai lô <b>MSSX 1220826</b> và <b>1040926</b>, veneer walnut, chuyền pallet. Độ bóng sau 4 giờ: <b>29–33 %</b> và <b>19–21 %</b>; qua đêm: 27–30 % và 19–20 % — <b>đều cao hơn yêu cầu 10 %</b> (2–3 lần).', '<span class="bad">KHÔNG ĐẠT</span>'),
    ('11/09', 'Trí QC', 'Phụ lục quy trình MP 689 H', '7 bước; định lượng tham khảo 150 · 200 · 120 · 50 · 140 · 140 g/m²; phụ gia TCF 3 % ở bước bóng; <b>mốc kiểm tra chuẩn là sau 12 giờ</b>.', '<span class="small">Tài liệu</span>'),
    ('06/10', 'Trí QC', 'Màu MP 764 H (Phụ lục 04)', 'Thực hiện xong quy trình lót màu 2 hệ nước trên thẻ mẫu (cao su + veneer, bóng 10 % ± 5 %) → <b>ngày 07/10 phun tái chế kiểm tra màng sơn</b>.', '<span class="warn">Đang theo dõi</span>'),
    ('18/09', 'Lộc QC', 'THTH 401A (xưởng 4) · THTH 46 (xưởng 2)', 'Màng sơn trắng đục → xử lý phun hỗn hợp dung môi (<b>1 phần ST + 1 phần NC mod</b>) 2 pass → <b>màng phục hồi đạt</b>. Kiểm tra bộ nguyên liệu <b>NC mod 1106</b> tại kho: <b>đạt yêu cầu</b>. Nguyên nhân: nhiệt độ thấp, <b>độ ẩm &gt; 68 %</b> → mốc môi trường (blushing).', '<span class="warn">ĐÃ XỬ LÝ</span>'),
    ('21/09', 'Trí QC', 'THTH 91 (mặt ghế, lô 18/09, xưởng 4)', '<b>75/250 sản phẩm</b> bị trắng đục. Quy luật ghi nhận: <b>phun xong không thấy — khô 4 giờ chưa thấy — qua ngày mới thấy</b>. Chân bàn (giò heo) xưởng 4 <b>đạt</b>; màu THTH 464 <b>đạt</b>; vai giường THTH 401A xử lý vẫn còn sót.', '<span class="bad">CÒN LỖI</span>'),
    ('22/09', 'Trí QC', 'THTH 91 · THTH 401A', 'Vai giường và mặt ghế đã xử lý hôm trước → <b>QC nhà máy kiểm tra đạt</b>. Tựa ghế 91: một số bị (nặng loại ra xử lý, nhẹ QC chấp nhận). Chỉ đạo của sếp Tâm: kiểm tra <b>độ ẩm phôi</b> + thực hiện <b>3 quy trình so sánh</b>; RD đưa dung môi <b>Retarder MS 1-220926</b> pha 20 % vào dung môi PU TXXT.', '<span class="warn">ĐANG XỬ LÝ</span>'),
    ('23/09', 'Trí QC', 'THTH 91 (tựa ghế)', 'Sản phẩm dùng dung môi retarder của RD: màng trắng đục <b>đỡ hơn so với hàng đang sản xuất trước đó (7/10)</b>. Môi trường ghi nhận <b>27,9 °C · 55 %</b>; độ ẩm gỗ <b>12–14 %</b>. Chiều mưa: 10 sản phẩm bị mốc → phun lại bằng dung môi PU txxt.', '<span class="warn">ĐANG XỬ LÝ</span>'),
    ('24–25/09', 'Trí QC', 'Bóng NC MOD 1106 20 / 30 / 40 %', 'Phun thử 4 thẻ màu cùng thời điểm (gồm lô 30 % ngày 15/09 pha retarder của RD). <b>25/09:</b> 10 sản phẩm tựa ghế dùng retarder → <b>7 đạt · 3 bị nhẹ</b> (trắng đục không đáng kể).', '<span class="warn">7/10 ĐẠT</span>'),
    ('26/09', 'Trí QC', 'THTH 91 (bóng 30 %)', 'Đo nhiệt – ẩm xưởng 2 &amp; 4: <b>hai máy đo lệch nhau lớn</b> (máy đen 71–80 % so với máy trắng 40–57 %). Độ ẩm phôi gỗ <b>12,0 – 15,0 %</b> (2 mẫu 14,5 % và 15,0 % vượt ngưỡng 10–14 %).', '<span class="warn">SỐ LIỆU NỀN</span>'),
    ('28/09', 'Trí QC', 'THTH 91 (5 sản phẩm bóng 30 %)', '<b>Cả 5 sản phẩm bóng 30 % bị trắng đục toàn bộ</b>; hàng đang chạy <b>bóng 40 % + 20 % đạt</b> (màng trong, thớ gỗ rõ). Có pano dán 2 nhãn đối chứng trên cùng sản phẩm.', '<span class="bad">KHÔNG ĐẠT</span>'),
    ('01/10', 'Trí QC', 'Lô bóng NC MOD 1106 30 %', 'Kéo song song trên phôi cao su ghép thanh: lô chuẩn <b>18/8 đạt</b> (màng trong, thấy vân); lô mới sản xuất <b>30/09 (16h00, 17h15) trắng đục</b> → kết luận nghi vấn quay về <b>lô bóng 30 %</b>, không phải môi trường hay thao tác thi công.', '<span class="bad">KHÔNG ĐẠT</span>'),
    ('02/10', 'Trí QC', 'Bóng NC MOD 1106 — 4 cấp 10/20/30/40 %', 'Kéo thước 150 µm sau 2 giờ: 10 % → 3270826 đạt · 3210926 trắng đục; 20 % → 2240826 đạt · 4050926, 2170926, 11100926 trắng đục; 30 % → 5180826 đạt · 2150926, 1170926 trắng đục; 40 % → 2070826 đạt · 6070926, 1150926, 2210926 trắng đục. Nhận xét: <b>lô sản xuất tháng 9 bị đục hơn lô tháng 8</b>. Lô bóng 30 % sản xuất trong ngày (chuẩn bị giao Thành Thắng) kéo thước trên gỗ <b>đạt</b>.', '<span class="bad">CHUYỂN R&amp;D</span>'),
]:
    A('<tr><td class="c">%s</td><td class="c">%s</td><td>%s</td><td>%s</td><td class="c">%s</td></tr>' % (ngay, nguoi, sp, nd, tt))
A('</table>')

# ---------- II. MINH PHÁT ----------
A('<h2>II. KẾT QUẢ KIỂM TRA TẠI CÔNG TY MINH PHÁT</h2>')

A('<h3>II.1. Ngày 08/09/2026 — Bóng BT ABR 2410 + 10 % (mã MP 744H) — Trí QC</h3>')
A('<p>Nội dung: kiểm tra chất lượng bóng <b>BT ABR 2410 + 10 %</b> tại Công ty Minh Phát, <b>MSSX 1140826</b> (biểu mẫu Phụ lục 02 · QT–KT–TTKT/01).</p>')
A('<table><tr><th class="c" style="width:12%">Bước</th><th>Thao tác và số đo</th></tr>'
  '<tr><td class="c">1</td><td>Bóng BT ABR + 10 % đã pha <b>10 % Diluent BT 08H</b> (3 kg, đã lọc cặn) → độ nhớt <b>Din 4: 15"98</b></td></tr>'
  '<tr><td class="c">2</td><td>Pha <b>2 % phụ gia TCF</b>, khuấy liên tục 2 phút → độ nhớt <b>16"02</b> → lọc lại: <b>trên vải lọc không có gì</b></td></tr>'
  '<tr><td class="c">3</td><td>Để hở 2 giờ (giống sản xuất) → độ nhớt <b>16"18</b> → phun thực tế: <b>súng phun bình thường, không nghẹt lọc</b> → lọc lại: <b>có vài hạt trắng li ti</b></td></tr>'
  '<tr><td class="c">4</td><td>Để hở 4 giờ → độ nhớt <b>16"50</b> → lọc lại: <b>có vài hạt trắng li ti</b></td></tr></table>')
A('<div class="box"><b>Kết luận của QC:</b> bóng BT ABR 2410 + 10 % kiểm tra theo quy trình mẫu MP 744H, thực tế tại Công ty Minh Phát → '
  '<b>chất lượng đạt</b>. Hạn chế: các sản phẩm sơn nhỏ <b>chưa đánh giá được vấn đề sọc bóng</b> khi bề mặt bị phạm; hỗn hợp bóng sau 2 giờ và 4 giờ khi lọc '
  '<b>còn vài hạt trắng li ti</b>. Đề nghị: khi có lô sản xuất tiếp theo, kiểm tra thực tế trên sản phẩm lớn.</div>')
A(fig('mp744h_bong.jpg', 'Bóng BT ABR 2410 + 10 % sau khi pha, kiểm tra bằng vải lọc (MP 744H, 08/09/2026 — ảnh do QC gửi kèm báo cáo).', 'portrait'))

A('<h3>II.2. Ngày 11 – 12/09/2026 — Độ bóng BEX 03-2706 H 10 % (MP 689 H) — Trí QC</h3>')
A('<p>Sản phẩm kiểm tra: sơn bóng <b>BEX 03-2706 H 10 %</b> (2 lô <b>MSSX 1220826</b> và <b>1040926</b>) trên phôi <b>veneer walnut</b>, theo quy trình mẫu <b>MP 689.H</b>, '
  'chạy trên chuyền pallet của Minh Phát. Mẫu được kiểm soát trước khi thực hiện: <b>khui can còn nguyên tem nguyên nhãn</b>, có giám sát của nhân viên kho Minh Phát; '
  'thành phần tham gia: đại diện Kỹ thuật BT Chem (Trần Thanh Dũng) và đại diện Công ty Minh Phát.</p>')
A('<table><tr><th class="c" style="width:8%">Bước</th><th style="width:32%">Công đoạn</th><th>Chi tiết thực hiện</th><th style="width:22%">Thời gian chờ / sấy</th></tr>'
  '<tr><td class="c">1</td><td>Stain màu 1 (hệ dung môi)</td><td>Phun stain màu 1</td><td>Chờ 30 phút</td></tr>'
  '<tr><td class="c">2</td><td>Lót NC 1212 MH (ONE)</td><td>Phun 2 pass → sấy → ra chuyền → xả nhám #320, chà bụi</td><td>Sấy 45 phút → ra chuyền 15 phút</td></tr>'
  '<tr><td class="c">3</td><td>Lót 304 0425 TB.H</td><td>Phun 1 pass wet → sấy → ra chuyền → sấy lại → xả nhám #400, chà bụi</td><td>45 phút → 30 phút → 45 phút</td></tr>'
  '<tr><td class="c">4</td><td>Stain màu 2 (hệ nước)</td><td>Phun stain màu 2</td><td>Chờ 30 phút</td></tr>'
  '<tr><td class="c">5</td><td>Bóng BEX 03-2706 H 10 %</td><td>Phun 1 pass wet → sấy → ra chuyền → để khô qua đêm kiểm tra độ bóng</td><td>Sấy 45 phút → ra chuyền 4 giờ → qua đêm</td></tr></table>')
A('<table><tr><th style="width:40%">Chỉ tiêu kỹ thuật</th><th>Thông số thực tế</th></tr>'
  '<tr><td>Lót NC 1212 MH (ONE)</td><td>Tỷ lệ pha dung môi <b>1 : 1</b> → độ nhớt <b>16"28</b> (cốc NK2)</td></tr>'
  '<tr><td>Lót 304 0425 TB.H</td><td>Độ nhớt <b>18"18</b> (cốc Din 4)</td></tr>'
  '<tr><td>Bóng BEX 03-2706 H 10 %</td><td>+ 10 % Diluent + 3 % PE.TCF → độ nhớt <b>16"20 tăng lên 16"58</b> (cốc Din 4)</td></tr>'
  '<tr><td>Nhiệt độ lò sấy bề mặt sản phẩm</td><td><b>39,9 °C</b></td></tr></table>')
A('<table><tr><th>Lô sản xuất (MSSX)</th><th class="c">Độ bóng khô sau 4 giờ</th><th class="c">Độ bóng khô qua đêm</th><th class="c">So với yêu cầu 10 %</th></tr>'
  '<tr><td><b>1220826</b></td><td class="c">29 % – 33 %</td><td class="c">27 % – 30 %</td><td class="c"><span class="bad">Không đạt (quá bóng)</span></td></tr>'
  '<tr><td><b>1040926</b></td><td class="c">19 % – 21 %</td><td class="c">19 % – 20 %</td><td class="c"><span class="bad">Không đạt (quá bóng)</span></td></tr></table>')
A('<div class="box"><b>Kết luận của QC:</b> cả hai lô bóng <b>BEX 03-2706 H 10 %</b> khi áp dụng đúng quy trình mẫu MP 689.H <b>đều không đạt chỉ tiêu độ bóng</b> '
  '(yêu cầu 10 %, thực tế 19 – 33 %). <b>Đề xuất:</b> xem xét <b>điều chỉnh công thức</b> hoặc hỗ trợ khắc phục kỹ thuật cho đơn hàng tại Công ty Minh Phát.</div>')
A('<p class="small">Thiết bị đo: <b>HORIBA Gloss Checker IG-320</b> — máy đo bóng <b>góc 60°</b>, dải 0–100 GU, độ tái lập ±0,5 %. Hai lần đo trên cùng lô 1220826 '
  '(sau 4 giờ) cho <b>29,6</b> và <b>29,3</b> — chênh 0,3, nằm trong sai số tái lập ⇒ kết quả ổn định, mức bóng thực của lô ~29–30 %.</p>')
A(two('mp_bex_296.jpg', 'Máy HORIBA IG-320 hiển thị <b>29,6</b> — mẫu veneer walnut, bóng BEX 03-2706 H 10 %, lô MSSX 1220826 sau 4 giờ (11/09/2026).',
      'mp_bex_293.jpg', 'Lần đo thứ hai trên cùng mẫu, cùng lô: máy hiển thị <b>29,3</b> (11/09/2026).'))

A('<h3>II.3. Phụ lục 11/09/2026 — Quy trình hóa chất sử dụng cho màu MP 689 H</h3>')
A('<table><tr><th class="c" style="width:6%">Bước</th><th style="width:26%">Hóa chất</th><th style="width:17%">Tỷ lệ</th><th style="width:22%">Thời gian khô</th><th class="c" style="width:14%">Định lượng (g/m²)</th></tr>'
  '<tr><td class="c">*</td><td>Chà nhám bề mặt gỗ — nhám #240, trám trét khuyết tật</td><td>—</td><td>—</td><td class="c">—</td></tr>'
  '<tr><td class="c">1</td><td>Stain sửa gỗ MP 689</td><td>—</td><td>15 phút</td><td class="c">tùy gỗ</td></tr>'
  '<tr><td class="c">2</td><td>Stain màu 1 MP 689</td><td>—</td><td>15 phút</td><td class="c">150</td></tr>'
  '<tr><td class="c">3</td><td>Lót NC 1212 MH (ĐNE)</td><td>Dung môi NC HB: 1 / 0,8 → 1</td><td>1 → 2 giờ, chà nhám #320 + chà bùi nhùi</td><td class="c">200</td></tr>'
  '<tr><td class="c">4</td><td>Stain màu 2 hệ nước MP 689 H</td><td>—</td><td>15 phút</td><td class="c">120</td></tr>'
  '<tr><td class="c">5</td><td>Lót S04 0425 TB H</td><td>Diluent BT 08 H: 10 / 1</td><td>1 → 2 giờ, chà nhám #400 + chà bùi nhùi</td><td class="c">140</td></tr>'
  '<tr><td class="c">6</td><td>Stain màu 2 hệ nước MP 689 H</td><td>—</td><td>15 phút</td><td class="c">50</td></tr>'
  '<tr><td class="c">7</td><td>Bóng BEX 03-2706 H 10 %</td><td>Diluent BT 08 H: 10 / 1 · Phụ gia TCF: 3 %</td><td><b>Sau 12 giờ</b> kiểm tra sản phẩm đạt → đóng gói</td><td class="c">140</td></tr></table>')
A('<p class="small">Ghi chú đối chiếu: quy trình chuẩn <b>có bước chà nhám sau mỗi lần lót</b> (bước 3 — nhám #320; bước 5 — nhám #400, kèm chà bùi nhùi); '
  'mốc kiểm tra đạt/không đạt phải căn cứ <b>mốc 12 giờ hoặc khô qua đêm</b>, số đo sau 4 giờ chỉ là tham khảo. Phụ gia TCF 3 % ở bước bóng — trước đây từng ghi nhận '
  'hiện tượng bón cục/sọc bóng khi pha TCF 2 % ⇒ khi pha cần kiểm tra tốc độ khuấy và thứ tự cho phụ gia.</p>')

A('<h3>II.4. Ngày 06/10/2026 — Kiểm tra màu MP 764 H (Phụ lục 04 · HD-KT-THMM) — Trí QC</h3>')
A('<p>Nội dung: kiểm tra lót màu 2 <b>MP 764 H</b> (kỹ thuật gửi về), thực hiện theo quy trình gửi khách hàng; <b>đã thực hiện xong quy trình trong ngày</b>, '
  'ngày <b>07/10 sẽ phun tái chế kiểm tra màng sơn</b>. Phiếu quy trình: khách hàng <b>Công ty Minh Phát</b> · gỗ <b>cao su + veneer</b> · sơn <b>hệ nước</b> · '
  'hàng trong nhà · độ bóng <b>10 % ± 5 %</b> · ký duyệt Kỹ thuật HKBT — <b>Lê Đăng Học</b>, ngày 10/08/2026.</p>')
A('<table><tr><th class="c" style="width:8%">Bước</th><th style="width:28%">Hóa chất</th><th class="c" style="width:14%">Tỷ lệ</th><th>Phương pháp</th><th style="width:20%">Thời gian khô</th></tr>'
  '<tr><td class="c">*</td><td>Chà nhám bề mặt gỗ (nhám #240) + trám trét khuyết tật</td><td class="c">—</td><td>—</td><td>—</td></tr>'
  '<tr><td class="c">1</td><td>Lót màu 1 hệ nước MP 764 H · Diluent BT 08 H</td><td class="c">100 · 3</td><td>Phun đều và ướt bề mặt</td><td>1 → 2 giờ, chà nhám #400, chà bùi nhùi</td></tr>'
  '<tr><td class="c">2</td><td>Lót màu 2 hệ nước MP 764 H · Diluent BT 08 H</td><td class="c">100 · 5</td><td>Phun đều và ướt bề mặt</td><td>1 → 2 giờ, chà nhám #400, chà bùi nhùi</td></tr>'
  '<tr><td class="c">3</td><td>Lót màu 2 hệ nước MP 764 H · Diluent BT 08 H</td><td class="c">100 · 5</td><td>Phun đều và ướt bề mặt</td><td>1 → 2 giờ</td></tr>'
  '<tr><td class="c">4</td><td>Bóng B07 NY 1024 H 10 % · Diluent BT 08 H · Phụ gia TCF</td><td class="c">100 · 5 · 3</td><td>Phun đều và ướt bề mặt</td><td>Sau 12 giờ kiểm tra đạt → đóng gói</td></tr></table>')
A('<p class="small">Định lượng tham khảo: 140 g/m² cho các bước. Lưu ý của phiếu: ngày nắng nóng, nhiệt độ nhà xưởng <b>≥ 35 °C</b> đề nghị pha '
  '<b>3 → 7 % chất chậm khô Retarder BT 01 H</b> vào hỗn hợp lót; ngày mưa, độ ẩm cao thì tăng nhiệt độ lò sấy hoặc kéo dài thời gian hong phơi.</p>')
A('<p class="small">Ghi nhận theo ảnh: 02 tấm thẻ mẫu cốt <b>cao su + veneer</b>, phần phun sơn chiếm ~3/4 diện tích, dải 1/4 mép phải được <b>che bằng giấy trắng + băng keo</b> làm dải đối chứng. '
  'Màu màng sơn <b>kem nhạt</b>, trải đều; độ bóng <b>mờ (satin)</b> phù hợp ghi chú 10 % ± 5 %; không thấy trầy xước, hạt bụi/vón cục, mốc, loang lổ, trắng đục, phồng rộp hay bong tróc mép cạnh. '
  'Chai mẫu cạnh panel có chữ viết tay <b>“4 H (ms: 1070826)”</b>.</p>')
A(two('mp764_che.jpg', 'Thẻ mẫu MP 764 H — phần mép phải được che giấy trắng + băng keo làm dải đối chứng (06/10/2026).',
      'mp764_the.jpg', 'Cùng thẻ mẫu sau khi bóc dải che: lộ vùng sáng màu hơn, thấy rõ thớ vân veneer; đường phân chia thẳng, rõ rệt.'))

# ---------- III. THÀNH THẮNG ----------
A('<h2>III. KẾT QUẢ KIỂM TRA TẠI CÔNG TY THÀNH THẮNG — SỰ CỐ MÀNG SƠN TRẮNG ĐỤC</h2>')

A('<h3>III.1. Ngày 18/09/2026 — Sự cố trắng đục THTH 401A (xưởng 4) và THTH 46 (xưởng 2) — Lộc QC</h3>')
A('<table><tr><th style="width:26%">Nội dung</th><th>Chi tiết</th></tr>'
  '<tr><td>Hiện tượng lỗi</td><td>Sản phẩm hoàn thiện mã màu <b>THTH 401A (xưởng 4)</b> và <b>THTH 46 (xưởng 2)</b> gặp hiện tượng <b>màng sơn bị trắng đục</b>.</td></tr>'
  '<tr><td>Phương án xử lý</td><td>Phun hỗn hợp dung môi — tỷ lệ <b>1 phần dung môi ST + 1 phần dung môi NC mod</b>, phun <b>2 pass</b> đều bề mặt sản phẩm.</td></tr>'
  '<tr><td>Kết quả sau xử lý</td><td><span class="ok">Màng sơn phục hồi và đạt yêu cầu</span>.</td></tr>'
  '<tr><td>Kiểm tra nguyên liệu lô mới</td><td>Kiểm tra chất lượng <b>bộ nguyên liệu sơn hệ NC mod 1106</b> tại kho Công ty Thành Thắng (theo quy trình đang áp dụng ở xưởng 4 và xưởng 2): <b>đạt yêu cầu</b>.</td></tr>'
  '<tr><td>Sản xuất thực tế trên chuyền</td><td>Đang chạy <b>THTH 401A (xưởng 4)</b> và <b>THTH 91 (xưởng 2)</b>; sản xuất gối đầu và hoàn thiện <b>10h00 – 16h30</b>; kiểm tra <b>màu sắc, màng sơn và độ bóng đều đạt yêu cầu</b>.</td></tr>'
  '<tr><td>Nguyên nhân (nhận xét kỹ thuật)</td><td>Điều kiện môi trường <b>nhiệt độ thấp và độ ẩm cao (&gt; 68 %)</b> gây <b>mốc môi trường (blushing / hấp hơi ẩm)</b>.</td></tr>'
  '<tr><td>Khắc phục &amp; phòng ngừa</td><td>Khi độ ẩm cao: pha thêm <b>dung môi ST (5 – 10 %)</b> vào hỗn hợp lót/bóng, hoặc <b>mở lò sấy</b> để bảo đảm chất lượng màng sơn.</td></tr></table>')
A('<p class="small">Ghi chú: hai tỷ lệ trong cùng báo cáo cần phân biệt — <b>1 : 1 (ST : NC mod)</b> là tỷ lệ <b>phun xử lý</b> 2 pass; '
  '<b>5 – 10 %</b> là mức <b>pha thêm để phòng ngừa</b>. Hai mã <b>THTH 46 ≠ THTH 91</b> (xưởng 2 có cả hai mã; THTH 46 là màu bị lỗi, THTH 91 là mã đang chạy trên chuyền).</p>')
A(two('tt401a_1.jpg', 'Tấm sơn màu nâu đỏ sẫm (bán bóng) — vùng mờ đục/ố ở giữa bề mặt màng sơn (ảnh 1, 18/09/2026).',
      'tt401a_2.jpg', 'Tấm mặt chải thớ màu xám đen — vệt ố nằm dọc rãnh thớ (ảnh 2, 18/09/2026).'))

A('<h3>III.2. Ngày 21/09/2026 — Trắng đục mặt ghế THTH 91 (lô 18/09, xưởng 4) — Trí QC</h3>')
A('<table><tr><th style="width:30%">Hạng mục</th><th>Ghi nhận của QC</th></tr>'
  '<tr><td>Mặt ghế màu THTH 91 (xưởng 4, chuyền pallet, lô sản xuất 18/09)</td><td>Số lượng <b>250 sản phẩm</b> → phát hiện <b>75 sản phẩm</b> bị trắng đục bề mặt.</td></tr>'
  '<tr><td>Tựa ghế màu 91 (xưởng 2)</td><td>Phun hôm thứ bảy: để khô sau 4 giờ <b>không phát hiện gì</b>, đến thứ hai kiểm tra lại <b>vẫn thấy trắng đục</b>.</td></tr>'
  '<tr><td>Chân ghế (xưởng 2, chuyền treo, phun trong ngày)</td><td>Khi phun không có hiện tượng gì — chờ kiểm tra sau khi xuống chuyền.</td></tr>'
  '<tr><td>Chân bàn “giò heo” (xưởng 4, chuyền treo)</td><td><span class="ok">QC nhà máy kiểm tra đạt</span> — không có hiện tượng gì.</td></tr>'
  '<tr><td>Vai giường THTH 401A</td><td>Đã xử lý hôm thứ sáu, kiểm tra hôm nay <b>vẫn còn sót</b> hiện tượng trắng đục → kỹ thuật xử lý lại bằng <b>bóng NC mod 1106 40 % + dung môi PU txxt</b>.</td></tr>'
  '<tr><td>Màu THTH 464 (chiều tối, mưa nhẹ)</td><td>Các chi tiết hoàn thiện <b>không bị trắng đục — màng sơn đạt</b>.</td></tr>'
  '<tr><td>Nhận định sau 1,5 ngày kiểm tra</td><td>Sản phẩm sau phun hoàn thiện <b>không phát hiện gì</b>; để khô sau 4 tiếng <b>cũng không phát hiện gì</b>; <b>khi qua ngày, khô hẳn mới thấy trắng đục</b>.</td></tr></table>')
A(two('tt_matghe.jpg', 'Mặt ghế màu THTH 91 (lô 18/09/2026, xưởng 4) — bề mặt bị trắng đục từng vùng (21/09/2026).',
      'tt_hientrang29.jpg', 'Cận cảnh vùng màng sơn bị trắng đục trên chi tiết ghế (21/09/2026).', cls=''))

A('<h3>III.3. Ngày 22/09/2026 — Kiểm tra xử lý và thử dung môi retarder — Trí QC</h3>')
A('<ul>'
  '<li><b>Vai giường và mặt ghế đã xử lý hôm trước:</b> QC nhà máy kiểm tra <span class="ok">đạt</span>.</li>'
  '<li><b>Tựa ghế màu 91 (phun hôm thứ bảy):</b> một số sản phẩm bị trắng đục — sản phẩm <b>bị nặng loại ra để xử lý</b>, sản phẩm <b>bị nhẹ được QC chấp nhận</b>.</li>'
  '<li><b>Chuyền pallet xưởng 4 chạy màu THTH 401A:</b> kiểm tra từ sáng sớm đến chiều tối <b>chưa phát hiện sản phẩm nào bị trắng đục</b>.</li>'
  '<li><b>Chỉ đạo của sếp Tâm (buổi trưa, cùng anh Giang kỹ thuật):</b> kiểm tra lại <b>độ ẩm sản phẩm lúc chưa sơn và lúc sơn lót</b>; kiểm tra lại màu THTH 91 trên '
  '<b>3 quy trình thực hiện cùng một thời điểm</b>: (1) lót PU → bóng NC mod 1106; (2) lót NC → bóng NC mod; (3) quy trình bộ NC mod đang chạy sản xuất. Chiều cùng ngày đã xin được phôi gỗ.</li>'
  '<li><b>Thử dung môi retarder:</b> RD đưa loại dung môi <b>Retarder MS 1-220926</b> pha <b>20 %</b> vào dung môi PU TXXT; chiều tối lấy dung môi này pha bóng màu và '
  'phun lên <b>01 sản phẩm tựa ghế màu THTH 91</b> để kiểm tra.</li></ul>')

A('<h3>III.4. Ngày 23/09/2026 — Kết quả bước đầu của dung môi retarder và thử 3 quy trình — Trí QC</h3>')
A('<ul>'
  '<li><b>Sản phẩm tựa ghế phun bóng hôm trước (màu THTH 91) dùng dung môi retarder của RD:</b> đánh giá tổng thể vấn đề màng sơn trắng đục '
  '<b>đỡ hơn so với hàng đang sản xuất trước đó (mức 7/10)</b>.</li>'
  '<li><b>Pha bóng màu để chạy sản xuất ~200 tựa ghế:</b> bóng NC mod 40 % (tỷ lệ 2) + bóng NC mod 20 % (tỷ lệ 1,5); trong quá trình phun <b>vẫn bị mốc môi trường do thời tiết</b> '
  '(đã lấy dung môi PU txxt phun lại ngay sau khi phun bóng màu) nhưng <b>mốc ít hơn</b> so với phun bằng retarder của RD.</li>'
  '<li><b>Chiều mưa:</b> 10 sản phẩm tựa ghế bị mốc do thời tiết → phun lại bằng dung môi PU txxt (đã sơn xong tại chuyền treo xưởng 2).</li>'
  '<li><b>Số liệu môi trường và phôi gỗ ghi nhận trong ngày:</b> nhiệt–ẩm kế điện tử tại chuyền sơn <b>27,9 °C · 55 % · 12:14</b>; độ ẩm gỗ đo bằng Benetech GM630: '
  '<b>13,0 % · 12,0 % · 13,0 % · 14,0 % · 12,0 %</b> (nhiệt độ gỗ 32,2 °C, nhóm gỗ 3).</li>'
  '<li><b>3 quy trình thẻ mẫu</b> (lót PU → bóng NC mod 1106; lót NC → bóng NC mod; bộ NC mod đang chạy sản xuất): mỗi quy trình 2 thẻ — 1 thẻ làm trong ngày, 1 thẻ phun lót để qua đêm làm tiếp.</li></ul>')
A(two('tt_tuaghe2309.jpg', 'Tựa ghế / thanh ngang — vùng màng sơn bị trắng đục (23/09/2026).',
      'tt_tamgo2309.jpg', 'Tấm gỗ thử bóng bị trắng đục (23/09/2026).', cls=''))

A('<h3>III.5. Ngày 24 – 25/09/2026 — Thử bóng NC MOD 1106 ở 20 / 30 / 40 % — Trí QC</h3>')
A('<ul>'
  '<li><b>24/09:</b> kiểm tra bóng <b>NC MOD 1106 20 % · 30 % · 40 %</b> và <b>bóng 30 % lô ngày 15/09 pha dung môi retarder của RD</b> — phun trên <b>4 thẻ màu, cùng một thời điểm</b> tại xưởng 2; '
  'kiểm tra thêm 3 sản phẩm chân giường màu THTH 91 với 3 phương án lô bóng: lô 17/09 · lô 15/09 · (bóng 30 % lô 15/09 + bóng 40 %, pha 2 bóng 30 – 1 bóng 40).</li>'
  '<li><b>Lô bóng ghi nhận trên tem:</b> dung môi NC MOD (NC Thinner) <b>170926130</b> — 17/09/2026, 170 kg, dấu mộc QC “ĐẠT / PASS”, tem giao “THÀNH THẮNG 2”; '
  'bóng NC MOD 1106 — <b>20 %</b> MSSX 11100926 (10/09, 25 kg) · <b>30 %</b> MSSX 2150926 (15/09, 25 kg, mộc đỏ “ĐẠT / PASS”) · <b>30 %</b> MSSX 1170926 (17/09) · <b>40 %</b> MSSX 2070826 (07/08).</li>'
  '<li><b>Đánh giá trên ảnh:</b> màng sơn căng mặt, trong, bóng đều, nổi rõ vân thớ gỗ; <b>không phát hiện lỗi bề mặt</b> trong bộ ảnh (không trắng đục, không mốc, không bọt khí, không chảy sệ đọng rãnh).</li>'
  '<li><b>25/09 — kết quả kiểm tra lô tựa ghế dùng dung môi retarder của RD:</b> 10 sản phẩm kiểm tra → <span class="ok">7 sản phẩm đạt</span> · <b>3 sản phẩm bị nhẹ</b> '
  '(màng trắng đục nhưng không đáng kể). Các việc chờ khác (số lượng bóng 30 % MSSX 2150926, phân bố bóng 30 % cho các xưởng) chưa lấy được do kho nghỉ và buổi chiều nhà máy cúp điện.</li></ul>')
A(fig('tt_3capbong.jpg', 'Thẻ mẫu thử 3 cấp bóng 20 % · 30 % · 40 % (và lô 30 % ngày 15/09 pha dung môi retarder của RD), phun cùng thời điểm tại xưởng 2 (24/09/2026).', 'portrait'))

A('<h3>III.6. Ngày 26/09/2026 — Số liệu nhiệt – ẩm xưởng 2 và xưởng 4 — Trí QC</h3>')
A('<table><tr><th style="width:26%">Thời điểm / vị trí</th><th style="width:30%">Máy đo đen (Nakata NJ-2099TH)</th><th style="width:30%">Máy đo trắng (AB GmbH — tem hiệu chuẩn 14/12/2023)</th><th>Nhận xét</th></tr>'
  '<tr><td>Đầu ca sáng</td><td class="c">26,7 °C – 80 %</td><td class="c">26,0 °C – 57 %</td><td>Độ ẩm môi trường rất cao</td></tr>'
  '<tr><td>10:46 – 11:09 (xưởng 2)</td><td class="c">33,4 °C – 71 %</td><td class="c">32,6 °C – 40 % (10:46) · 32,2 °C – 41 % (11:09)</td><td>Hai máy lệch nhau ~30 % RH</td></tr>'
  '<tr><td>Giữa ca</td><td class="c">28,5 °C – 73 %</td><td class="c">26,6 °C – 50 %</td><td>Lệch lớn</td></tr>'
  '<tr><td>Quanh trưa</td><td class="c">29,9 °C – 72 % · 30,6 °C – 73 %</td><td class="c">28,9 °C – 44 % · 29,4 °C – 44 %</td><td>Lệch lớn</td></tr>'
  '<tr><td>Chuyền treo</td><td class="c">—</td><td class="c">31,9 °C – 40 %</td><td>—</td></tr>'
  '<tr><td>16 giờ 30</td><td class="c">—</td><td class="c">28,9 °C – 44 %</td><td>—</td></tr></table>')
A('<p class="small">Độ ẩm gỗ đo trên phôi (chế độ HOLD): <b>12,5 % · 13,5 % · 12,0 % · 14,5 % · 15,0 %</b> — hai giá trị <b>14,5 % và 15,0 % vượt ngưỡng 10–14 %</b> thường áp dụng cho gỗ nội thất. '
  'Kiểm tra màng sơn bóng NC MOD 1106 30 % (màu THTH 91) trên 5 sản phẩm vai giường và đầu giường: khi phun xong không thấy hiện tượng gì — chờ kiểm tra ngày 29/09.</p>')

A('<h3>III.7. Ngày 28/09/2026 — 5 sản phẩm bóng 30 % bị trắng đục toàn bộ — Trí QC</h3>')
A('<table><tr><th>Đối tượng kiểm tra</th><th class="c" style="width:20%">Cấp bóng</th><th style="width:26%">MSSX / ký hiệu</th><th class="c" style="width:22%">Kết quả</th></tr>'
  '<tr><td>5 sản phẩm thử (vai giường, đầu giường) — phun bóng màu THTH 91</td><td class="c">Bóng 30 %</td><td>2150926 · R 150926</td><td class="c"><span class="bad">Trắng đục toàn bộ bề mặt</span>, màng mờ như phủ sương, che mờ chiều sâu thớ vân gỗ</td></tr>'
  '<tr><td>Hàng đang chạy sản xuất</td><td class="c">Bóng 40 % + Bóng 20 %</td><td>nhãn dán trên thanh phôi và pano đối chứng</td><td class="c"><span class="ok">Màng sơn trong, thớ gỗ rõ nét — đạt</span></td></tr></table>')
A('<p class="small">Trên cùng một mặt sản phẩm (pano đầu giường) có dán 2 nhãn đối chứng: một bên <b>Bóng 30 % (MSSX 2150926)</b> bị trắng đục, bên còn lại <b>Bóng 40 % + bóng 20 %</b> màng trong đạt '
  '— cho phép so trực tiếp hai cấp bóng trên cùng một điều kiện phun.</p>')
A(fig('tt_pano30.jpg', 'Hai panô để cạnh nhau có nhãn dán đối chứng: “Bóng 30 % — MSSX 2150926” và “Bóng 40 % + 20 %” (28/09/2026). Trên ảnh, khác biệt độ trong của màng sơn thể hiện nhẹ hơn so với quan sát trực tiếp tại xưởng.'))

A('<h3>III.8. Ngày 01/10/2026 — Kéo song song lô chuẩn 18/8 và lô mới sản xuất 30/09 — Trí QC</h3>')
A('<table><tr><th style="width:26%">Mẫu trên phôi</th><th style="width:30%">Ký hiệu ghi trên phôi</th><th class="c">Kết quả ghi nhận</th></tr>'
  '<tr><td>Lô cũ (chuẩn tham chiếu)</td><td>18/8 · B\'30</td><td class="c"><span class="ok">Màng sơn trong suốt, lộ rõ vân thớ gỗ, màu nâu sẫm ấm — đạt</span></td></tr>'
  '<tr><td>Lô mới sản xuất 30/09 — mốc 16h00</td><td>Mới sx 30/9 · B\'30 · ĐU 16hPM</td><td class="c"><span class="bad">Màng sơn trắng đục (blushing/haze) rõ — không đạt</span></td></tr>'
  '<tr><td>Lô mới sản xuất 30/09 — mốc 17h15</td><td>Mới sx 30/9 (30/9) · B\'30 · ĐU 17h15</td><td class="c"><span class="bad">Màng sơn trắng đục rõ — không đạt</span></td></tr></table>')
A('<div class="box"><b>Kết luận của QC ngày 01/10:</b> lô bóng NC MOD 1106 30 % đang sản xuất <b>vẫn có hiện tượng trắng đục</b> khi kéo song song với lô chuẩn 18/8 trên cùng tấm phôi, '
  'cùng điều kiện môi trường ⇒ <b>nghi vấn quay về chất lượng lô bóng 30 %</b>, không phải điều kiện môi trường hay thao tác thi công tại nhà máy.</div>')
A(fig('tt_kéo0110.jpg', 'Tấm phôi cao su ghép thanh kéo các vệt bóng song song (01/10/2026); ghi chú trên phôi: “b\'30”, “Mới SX (30/9)”. Theo ghi nhận của QC, vệt lô chuẩn 18/8 trong suốt còn hai vệt lô mới sản xuất 30/09 bị trắng đục; trên ảnh chụp, mức khác biệt thể hiện nhẹ hơn so với quan sát tại hiện trường.'))

A('<h3>III.9. Ngày 02/10/2026 — Kiểm tra bóng NC MOD 1106 ở 4 cấp độ bằng kéo thước 150 µm — Trí QC</h3>')
A('<p>Phép kiểm: pha bóng NC mod 1106 (1-1) + <b>5 % tinh màu THTH 91</b>, kéo thước 150 µm trên gỗ, đọc kết quả <b>sau 2 giờ</b>.</p>')
A('<table><tr><th class="c" style="width:10%">Cấp bóng</th><th style="width:42%">MSSX màng sơn <span class="ok">đạt</span> (không trắng đục)</th><th>MSSX màng sơn <span class="bad">bị trắng đục</span></th></tr>'
  '<tr><td class="c">10 %</td><td>3270826</td><td>3210926</td></tr>'
  '<tr><td class="c">20 %</td><td>2240826</td><td>4050926 · 2170926 · 11100926 <i>(trắng đục nhưng không rõ)</i></td></tr>'
  '<tr><td class="c">30 %</td><td>5180826</td><td>2150926 · 1170926 <i>(“2 lô còn lại đục hơn”)</i></td></tr>'
  '<tr><td class="c">40 %</td><td>2070826</td><td>6070926 · 1150926 · 2210926 <i>(phun trên thẻ theo quy trình màu THTH 91)</i></td></tr></table>')
A('<div class="box"><b>Nhận xét, kết luận của QC (nguyên văn):</b> các lô sản xuất <b>tháng 9 bị đục hơn so với các lô tháng 8/2026</b>; riêng bóng 20 % và 30 %: '
  '<b>lô 5/9 và 10/9 trong hơn lô 15/9 và 17/9</b>. Kiểm tra lô bóng NC MOD 1106 30 % đang sản xuất trong ngày (chuẩn bị giao Công ty Thành Thắng) — <b>kéo thước 150 trên gỗ: màng sơn đạt</b>. '
  'Báo cáo kiểm tra số 01-1026 ghi kết luận: <b>“Chuyển R&amp;D xử lý”</b>.</div>')
A(two('tt_thego40.jpg', 'Thẻ gỗ kéo 3 vết bóng 40 % — nền “1740 (1-1) + 5 % tinh màu THTH 91”, 3 vết ứng với MSSX 6070926 · 2070826 · 1150926 (02/10/2026).',
      'tt_bang0210.jpg', 'Bảng ghi tay kết quả kéo trên gỗ sau 2 giờ cho 4 cấp bóng 10 / 20 / 30 / 40 % (02/10/2026).', cls=''))

# ---------- IV. ĐIỂM CẦN XÁC NHẬN ----------
A('<h2>IV. ĐIỂM CẦN XÁC NHẬN</h2>')
A('<ol>'
  '<li><b>Phân biệt các mã màu tại Thành Thắng:</b> THTH 91 ≠ THTH 46 ≠ THTH 401A; đồng thời phân biệt <b>“Thành Thắng 2”</b> (đơn vị nhận hàng ghi trên tem phuy) với <b>“xưởng 2 / xưởng 4”</b> (xưởng bên trong nhà máy) — không gộp khi theo dõi.</li>'
  '<li><b>Hai máy đo nhiệt – ẩm cho kết quả lệch lớn</b> tại Thành Thắng (40 % so với 71 % cùng thời điểm) ⇒ cần chốt máy nào dùng làm chuẩn trước khi lấy số liệu môi trường làm căn cứ đánh giá.</li>'
  '<li><b>Mã “1740” ghi trên thẻ gỗ ngày 02/10</b> (“1740 (1-1) + 5 % tinh màu THTH 91”) khác với cách ghi trong báo cáo kiểm tra (“pha bóng nc mod 1106 (1-1) + 5 % tinh màu THTH 91”) — cần xác nhận “1740” là gì.</li>'
  '<li><b>Lệch giữa báo cáo và bảng ghi tay (02/10):</b> MSSX <b>2210926</b> (bóng 40 %) có trong báo cáo kiểm tra và trên thẻ gỗ nhưng <b>không có trong bảng kết quả ghi tay</b> (bảng 40 % chỉ ghi 3 mã).</li>'
  '<li><b>Chưa có kết quả sau 24 giờ / sau khi đóng gói</b> cho các lô bóng kiểm tra ngày 02/10 (bảng ghi “kéo trên gỗ sau 2H”).</li>'
  '<li><b>Mã dung môi còn viết tắt:</b> “dung môi ST”, “dung môi NC mod”, “dung môi PU txxt”, “Retarder MS 1-220926” — đề nghị ghi rõ ký hiệu đầy đủ theo hệ thống mã nhà máy.</li>'
  '<li><b>Thiếu số đo định lượng</b> ở nhiều mốc “đạt”: độ bóng bằng máy, độ dày màng (DFT), độ bám dính (cắt ca-rô), nhiệt độ – độ ẩm lúc phun và khi kiểm tra, độ nhớt sau pha.</li>'
  '<li><b>Tại Minh Phát:</b> kết luận “đạt/không đạt” của lô bóng cần căn cứ <b>mốc 12 giờ hoặc khô qua đêm</b> theo quy trình, và phải ghi rõ <b>góc đo 60°</b> khi so với thẻ mẫu đã ký.</li>'
  '<li><b>Màu MP 764 H:</b> chai mẫu ghi <b>“ms: 1070826”</b> trong khi phiếu quy trình đề ngày <b>10/08/2026</b>; đồng thời bước 2 và bước 3 của phiếu cùng ghi tên “Lót màu 2” — cần xác nhận trước khi ban hành ra bên ngoài.</li>'
  '<li><b>Tên người trên báo cáo Minh Phát 08/09:</b> phần đầu ghi “Nguyễn Anh Tú” nhưng chữ ký cuối là “nguyễn ánh trí” — đã chuẩn hoá theo <b>Nguyễn Ánh Trí</b> (xác nhận của Anh Minh 05/09/2026).</li>'
  '<li><b>Nguyên nhân gốc của trắng đục chưa chốt:</b> hồ sơ mới dừng ở mức <b>“Chuyển R&amp;D xử lý”</b> — chưa có kết luận nguyên nhân và biện pháp khắc phục chính thức của R&amp;D.</li>'
  '</ol>')

A('<h2>V. NGUỒN DỮ LIỆU TRÍCH XUẤT</h2>')
A('<ul>'
  '<li><b>Tri qc.md</b> (sổ báo cáo QC của Nguyễn Ánh Trí): các mục ngày 08/09 · 11–12/09 (và Phụ lục 11/09) · 06/10 (Minh Phát); 19/09 · 21/09 · 22/09 · 23/09 · 24/09 · 25/09 · 26/09 · 28/09 · 30/09 · 01/10 · 02/10 (Thành Thắng).</li>'
  '<li><b>Locqc.md</b> (sổ báo cáo QC của Bùi Thiên Lộc): mục ngày 18/09/2026 (sự cố trắng đục THTH 401A và THTH 46 — Thành Thắng), mục 22/09/2026 (kiểm tra chất lượng tại Minh Phát 2).</li>'
  '<li><b>Ảnh</b>: thư mục QC\\images (ảnh do Nguyễn Ánh Trí và Bùi Thiên Lộc gửi qua Zalo, và ảnh chủ tài khoản cung cấp ngày 18/09/2026).</li>'
  '<li>Toàn bộ số liệu giữ nguyên theo hồ sơ gốc; các điểm chưa thống nhất giữa hồ sơ được nêu ở mục IV, không tự chọn một số.</li>'
  '</ul>')
A('<table class="sig"><tr><td style="width:50%"><b>Người lập bản tổng hợp</b><br><span class="small">(tổng hợp từ sổ báo cáo QC)</span></td>'
  '<td style="width:50%"><b>Xác nhận Phòng QC</b><br><span class="small">Nguyễn Ánh Trí · Bùi Thiên Lộc</span></td></tr></table>')

html = '<!DOCTYPE html><html lang="vi"><head><meta charset="utf-8"><title>Bao cao QC - Minh Phat va Thanh Thang</title><style>%s</style></head><body>%s</body></html>' % (CSS, '\n'.join(P))
p = os.path.join(W, 'Bao_cao_QC_MinhPhat_ThanhThang.html')
io.open(p, 'w', encoding='utf-8').write(html)
print('đã ghi HTML:', p, os.path.getsize(p), 'byte')
print('số hình:', html.count('<figure'))
