# -*- coding: utf-8 -*-
r"""B193: gop bai hoc thang 10 (2 so QC + CSDL C + bang BGĐ) -> 1 tai lieu theo khuon skill
bai-hoc-ky-thuat-tu-bao-cao (muc I..V) + xuat DOCX + kiem chung."""
import io, os, re, subprocess, sys, zipfile

RA = r'C:\Claw 2\QC\_baihoc_1010'
DICH = r'C:\Claw 2\QC\Bai-hoc-ky-thuat'
os.makedirs(DICH, exist_ok=True)
MD = os.path.join(DICH, 'Bai-hoc-ky-thuat_thang-10-2026.md')
DOCX = os.path.join(DICH, 'Bai-hoc-ky-thuat_thang-10-2026.docx')

loc = io.open(os.path.join(RA, 'BAIHOC_LOC_T10.md'), encoding='utf-8').read()
tri = io.open(os.path.join(RA, 'BAIHOC_TRI_T10.md'), encoding='utf-8').read()


def than(t):
    """bo dong tieu de + dong dem, giu phan bai hoc."""
    t = re.sub(r'^#.*kết luận đã chốt.*\n', '', t, flags=re.I | re.M)
    t = re.sub(r'^\s*\d+ bài học.*\n', '', t, flags=re.I | re.M)
    return t.strip()


def dem(t, k):
    return len(re.findall(k, t))


I = """# BÀI HỌC KINH NGHIỆM KỸ THUẬT — THÁNG 10/2026

Căn cứ: 24 mục báo cáo QC ngày 01/10, 02/10, 03/10, 05/10, 06/10, 07/10, 08/10, 09/10, 10/10, 12/10, 13/10, 14/10/2026
của hai nhân viên QC (sổ Locqc.md và Tri qc.md); bảng theo dõi sự cố của BGĐ tuần 3 tháng 10 (12-14/10/2026);
và 24 mục bài học kinh nghiệm đã ghi trong CSDL C (ngày 01/10 đến 12/10/2026).

Phạm vi: chỉ ghi những gì nguồn đã kết luận/đã chốt và các bài học rút ra kèm việc phải làm.
Số liệu giữ nguyên văn theo nguồn, không suy diễn, không làm tròn. Tên cá nhân đã ẩn theo quy ước.

## I. Sự cố - nguyên nhân gốc - việc đã chốt (theo nhà máy)

| Nhà máy | Sự cố | Nguyên nhân gốc | Việc đã chốt |
|---|---|---|---|
| Mê Kông III | MK 12/17 H: sản phẩm hoàn thiện không đồng đều màu giữa các nền phôi | Chênh màu sinh ra ở lớp primer trắng (chênh nhiều nhất ΔE 6,96; hoàn thiện còn ΔE 1,61); phôi MDF khác màu rút sơn khác nhau | BGĐ: thử thêm 5% paste trắng 3012 H vào Primer BT 02-2203 H (white); KT đã sơn thử 10 chi tiết hàng rời - tương đối đồng màu khi ráp lại (14/10) |
| Mê Kông III | Lót SW2-2108 H trắng (màu 17/17 H): lỗ kim bề mặt | Lớp lót/quy trình chưa phù hợp | RD điều chỉnh lớp lót + KT điều chỉnh quy trình; RD làm mẫu đưa KT thử nhưng chưa chốt kết quả (14/10) |
| Thành Thắng | THTH 91: màng sơn trắng đục | Nghi lô tinh màu (MSSX 120926) và lô bóng NC Mod 1106 30% | QC2 kiểm tra bóng NC Mod 1106 30% vẫn bị đục - chuyển RD xem lại và điều chỉnh |
| Thành Thắng | Dùng dung môi pha trộn tự phát gây lỗi màng sơn | Không tuân thủ dung môi chuẩn do BT-Chem ban hành | Đã phê bình, yêu cầu chỉ dùng đúng dung môi chuẩn |
| Tiến Hưng | TTH 270 (Wilmslow White): màu bị vàng/chạy màu giữa các lô | Chưa có kết luận nguyên nhân gốc trong kỳ | KT kiểm tra lần sản xuất thứ nhất sau quy định thống nhất; up thẻ mẫu đầu chuyền có giá trị Lab + chữ ký khách; mang thẻ về cho QC ghi nhận (KT chưa cập nhật tiếp - 14/10) |
| Tiến Hưng | OAK 158 C: lông gỗ, phôi cấn móp phải tái chế phủ bóng lại | Công đoạn tạo phôi/bề mặt gỗ | Xử lý tái chế - đang theo dõi |
| Đăng Long | DL 16/19: tróc sơn (glaze màu) | Cả 4 phương án công thức glaze đều tróc lớp | Chuyển R&D; 12/10 chuyển sang dùng stain dặm thay glaze dặm; khi nhà máy chạy đơn màu này trên gỗ MDF, QC sẽ xuống kiểm tra (14/10) |
| Đăng Long | Mã màu 6: xì keo/xì dầu trên bề mặt | Độ nhớt sơn chưa đúng điều kiện phun tại xưởng | Yêu cầu xưởng tăng độ nhớt cho mã màu 6 và rà soát hiện tượng xì keo/xì dầu |
| Minh Phát 2 | MP 764 H: phun tái chế song phun bóng liền bị vàng | Quy trình sản xuất không phù hợp (không chờ khô giữa lót và bóng); màu chỉnh mang về khác xa thẻ gốc lưu tại BT-Chem | Đề nghị cho 5% lót màu 2 MP 764 H vào bóng trong; Kỹ thuật quyết sửa quy trình hay xem lại màu giao |
| Scansia Pacific | Bộ sơn PU BLACK (Walmart): dính mặt khi xếp chồng | Màng chưa khô đủ chịu tải dằn; hỗn hợp lót màu PU tăng độ nhớt nhanh (14"71 -> 45"18 sau 3 giờ -> sệt sau 4 giờ) | Chỉ xếp chồng/đóng gói sau khi dằn 0,5 kg/cm2 đạt ở mốc khô 6 giờ; đề nghị R&D xem lại thời gian sống của hỗn hợp lót màu PU |
| Tân Việt Tiến | TVT White: khách phản ánh đơn sản xuất 13/08/26 bị ngả vàng | Chưa có báo cáo xử lý của Kỹ thuật | QC đã đo máy X-Rite sau 18 giờ: tái chế 1 path ΔE 0,30; tái chế 2 paths ΔE 0,70 (chênh lệch nhưng không khác biệt nhiều) |
| Tân Việt Tiến | TVT White/giường tủ: lỗi trầy, móp, bụi, rãnh khe không đều ~5% ở khu vực lắp ráp | Lỗi cơ học ở khâu lắp ráp (không phải lỗi màng sơn) | Tái chế lại trước khi QC nhà máy nghiệm thu; Kỹ thuật kiểm soát sản phẩm sau hoàn thiện/tái chế trước đóng gói |
| Hành Mỹ | Bóng Bex 03-2402 H 25% (BC) Tumbling: độ bóng láng bề mặt không đạt so với mẫu gốc | Chưa có kết luận (QC đang kiểm tra) | QC đang kiểm tra; lô liên quan nsx 19/09 và 30/09, số lượng 140 kg |
| Hạnh Phúc | HP 269: độ nhớt thấp | Chưa có kết luận nguyên nhân gốc | KT cập nhật lại tỉ lệ pha lót NC T 2012 là 1:1.5 và báo cáo lại (KT chưa cập nhật tiếp - 14/10) |
| Hố Nai | Mẫu 1050 tồn hơn 3 tháng không ký duyệt được | Chà nhám không kỹ lưỡng từng công đoạn | Đã thay người phụ trách, yêu cầu chà nhám kỹ đúng kỹ thuật - mẫu làm thành công, hoàn thành 2 thẻ mẫu |
| Hố Nai | Lót màu 2 không đạt độ che phủ theo quy trình cũ | Thứ tự bước quy trình chưa phù hợp điều kiện phun thực tế | Mang 2 kg sơn xuống xưởng thử, đảo lại bước quy trình - màng sơn đạt, nhà máy ký xác nhận |
| Minh Dương | Thẻ mẫu đạt ở nhà đo nhưng đo lại tại nhà máy báo không đạt | Đo màu ngay sau khi phun; sơn bóng 20-30% sụt bóng sau khi khô làm sắc thái màu biến đổi | Quy trình chuẩn: để màng khô hoàn toàn qua đêm (tối thiểu 4 giờ) rồi mới đo chỉ số màu và độ bóng |
| Thiết Đan | Sơn màu đen bị mốc meo/dộp màng khi khô | Dung môi bay quá nhanh, màng khô không đều trong điều kiện xưởng | Bổ sung 500 g dung môi đơn (chậm khô) - màng khô đẹp, láng mịn, không mốc/dộp |
| Thiết Đan | Tinh màu/thẻ mẫu mới và hệ NC mod 1106 | Độ ẩm môi trường (trời mưa, sáng sớm) | Điều chỉnh 5% Retarder vào hỗn hợp khi trời mưa và sáng sớm - chất lượng đạt, không bị mốc môi trường |
| Phú Khang Phát | Mã 186: chạy lót/bóng hệ nước kết hợp màu hệ dung môi khi chưa có thẻ mẫu gốc và quy trình hệ nước | Chạy kết hợp hệ sơn để tận dụng tồn kho nhưng thiếu thẻ mẫu gốc (master) và SOP | BGĐ yêu cầu bắt buộc lập Thẻ mẫu gốc và ban hành quy trình chuẩn bằng văn bản trước khi chạy đại trà |
| Phú Khang Phát | PKP 98: lót thực tế NC PC 23 so với phiếu quy trình ghi LÓT NC 1212 (MH); thẻ mẫu gốc từ 2021 | Thẻ mẫu gốc quá cũ, khách chưa ký mẫu nhân lại | Chờ khách ký mẫu gốc mới trước khi dùng làm chuẩn kiểm tra chuyền |
| Minh Hưng Tiến | MHT 02 (AX 123): dính vết giấy tổ ong | Chưa có kết luận nguyên nhân gốc | Cập nhật quy trình đóng gói, theo dõi lại quy trình màu; KT phải kết luận cho BGĐ (chốt với khách, thử theo quy trình mới có làm được hay không) |
| Thịnh Việt | TVIET 246 / TVIET 299A: dính foam khi đóng gói | Chưa có kết luận nguyên nhân gốc | Làm lại quy trình các màu bị khiếu nại dính mặt; quy trình mới màu TVIET 299A chưa có |
| Thịnh Việt | TVIET 432 Mây H: primer tróc lớp | Primer BT 0922 tróc lớp (18H: 11 vị trí, 42H: 20 vị trí) | Chọn primer BT 2507 (đạt) để chạy sản xuất |

## II. Các bài học đúc kết

Hai nhân viên QC làm việc độc lập cùng chỉ ra một số nhóm vấn đề giống nhau - đó là các bài học đáng tin nhất:
- Ảnh hưởng của loại nền phôi đến màu sắc (bài học 13-14 của sổ Lộc; bài học 10 của sổ Trí).
- Thời gian khô và điều kiện xếp chồng/đóng gói (bài học 4-5 của sổ Lộc; bài học 3-4-5 của sổ Trí).
- Phải đo màu bằng máy quang phổ ở mốc khô hoàn toàn, kèm ngưỡng ΔE đã chốt (bài học 16 của sổ Lộc; bài học 9 của sổ Trí).

### A. Từ sổ QC ngày 01/10 - 14/10/2026 - nhân viên QC thứ nhất (20 bài học)

@LOC@

### B. Từ sổ QC ngày 01/10 - 14/10/2026 - nhân viên QC thứ hai (17 bài học)

@TRI@

## III. Checklist mang xuống cắm chốt tại chuyền

A. Thẻ công đoạn - thẻ mẫu gốc
- [ ] Thẻ mẫu gốc còn hiệu lực; không dùng thẻ quá cũ (PKP 98 từ 2021) khi khách chưa ký mẫu nhân lại
- [ ] Thẻ mẫu đầu chuyền có giá trị Lab và chữ ký khách hàng
- [ ] Áp thẻ mẫu chuẩn lên sản phẩm đang sản xuất để kiểm màu thực tế (không kiểm bằng cảm quan rời)
- [ ] Phiếu mẫu màu/quy trình đính kèm khớp mã đang kiểm tra và phiếu kiểm tra có số báo cáo

B. Hỗn hợp pha - thao tác phun
- [ ] Khuấy kỹ bằng máy, kiểm chất lượng và đo độ nhớt TRƯỚC khi lên chuyền; đậy nắp phuy
- [ ] Ghi lại độ nhớt theo từng giờ sau khi pha
- [ ] Biết thời gian sống của hỗn hợp trước khi vào sản xuất (PU sau khi pha cứng chỉ dùng 3-4 giờ)
- [ ] Chỉnh Retarder theo thời tiết: 5% khi trời mưa/sáng sớm; 3-7% khi nhiệt độ xưởng quá cao hoặc quá thấp
- [ ] Giữ đủ thời gian chờ giữa lót và bóng khi phun tái chế

C. Kiểm định mức - đóng gói - màu sắc
- [ ] Định lượng primer theo từng loại nền phôi, không áp một định mức chung
- [ ] Kiểm tra màng đã khô chịu được tải dằn trước khi xếp chồng (dằn 0,5 kg/cm2: chỉ đạt từ mốc khô 6 giờ)
- [ ] Đo màu/độ bóng bằng máy quang phổ SAU khi màng khô qua đêm (tối thiểu 4 giờ)
- [ ] So màu theo ngưỡng ΔE nội bộ đã chốt (chưa có ngưỡng thì không kết luận bằng cảm quan)
- [ ] Màu sản phẩm mặt bàn phải test chỉ tiêu kháng hoá chất đạt mới cho lên chuyền sản xuất

Chế tài: phát hiện pha màu trắng vào primer chống xì dầu, dùng dung môi pha trộn tự phát, hoặc đo màu khi màng chưa khô thì DỪNG CHUYỀN NGAY và báo QC/Kỹ thuật.

## IV. Việc cần theo dõi

| Việc | Đầu mối | Bằng chứng |
|---|---|---|
| Chốt ngưỡng ΔE nội bộ cho màu trắng/trắng ngà | Kỹ thuật + QC | Văn bản ngưỡng ΔE ban hành |
| MK 12/17 H: chốt phương án primer và định lượng theo từng loại nền | Kỹ thuật | Báo cáo tổng hợp + thẻ mẫu gốc mới |
| AQ 455 (Hố Nai 1): hướng xử lý sọc đốm ở lớp bóng | Kỹ thuật | Kết luận sau khi làm việc với Ban Giám đốc |
| PU BLACK (Scansia): thời gian sống và độ nhớt hỗn hợp lót màu PU | R&D | Văn bản trả lời của R&D |
| DL 16/19 (Đăng Long): kết quả độ bám sau khi đổi sang stain dặm | QC | Biên bản kiểm tra khi nhà máy chạy gỗ MDF |
| TVT White (Tân Việt Tiến): báo cáo xử lý của Kỹ thuật | Kỹ thuật | Báo cáo xử lý + kết quả đo lô khách phản ánh |
| MHT 02 (Minh Hưng Tiến): kết luận cho BGĐ | Kỹ thuật | Văn bản kết luận |
| TVIET 299A (Thịnh Việt): quy trình mới | Kỹ thuật | Phiếu quy trình mới |
| HP 269 (Hạnh Phúc): cập nhật tỉ lệ pha lót NC T 2012 | Kỹ thuật | Ghi nhận tỉ lệ pha đã cập nhật |
| Thẻ mẫu gốc quá cũ (PKP 98 và các mã tương tự) | Kỹ thuật + khách hàng | Mẫu gốc mới có chữ ký khách |

## V. Ghi chú

- Số liệu giữ nguyên theo nguồn (sổ QC, bảng theo dõi BGĐ tuần 3 tháng 10, CSDL C), không suy diễn thêm nguyên nhân ngoài nguồn.
- 16/20 bài học của sổ thứ nhất và 14/17 bài học của sổ thứ hai ghi rõ "[nguồn không nêu nguyên nhân gốc]" - đề nghị Kỹ thuật bổ sung nguyên nhân gốc cho các vụ này.
- Tên cá nhân (kỹ thuật viên, QC) đã ẩn theo quy ước; tên nhà máy và mã màu giữ nguyên.
- Khi ban hành chính thức cần bổ sung tên người lập và chữ ký; checklist nên in A4 kẹp tại chuyền.
"""

I = I.replace('@LOC@', than(loc)).replace('@TRI@', than(tri))
I = I.replace('⇒', '->').replace('→', '->').replace('−', '-')
io.open(MD, 'w', encoding='utf-8').write(I)
print('  da gop: %d byte | %d dong' % (len(I.encode()), I.count('\n') + 1))
print('     bai hoc: %d | muc I dong bang: %d | o tick: %d | bang: %d' % (
    len(re.findall(r'### Bài học \d+', I)), I.count('\n| '), I.count('- [ ]'), I.count('\n|---')))

SC = r'C:\Users\admin\AppData\Local\hermes\skills\productivity\qc-daily-report-chain\scripts\md2docx-qc.py'
r = subprocess.run([sys.executable, SC, MD, DOCX, DICH], capture_output=True, text=True, encoding='utf-8',
                   errors='replace', cwd=DICH, timeout=900)
print('  xuat DOCX: %s' % (r.stdout or r.stderr or '')[-160:].strip())
from docx import Document
d = Document(DOCX)
txt = '\n'.join(p.text for p in d.paragraphs) + '\n' + '\n'.join(
    c.text for t in d.tables for row in t.rows for c in row.cells)
print('  DOCX: %d byte | %d doan | %d bang | dau ** = %d' % (
    os.path.getsize(DOCX), len(d.paragraphs), len(d.tables), txt.count('**')))
for k in ('BÀI HỌC KINH NGHIỆM KỸ THUẬT', 'MK 12/17 H', 'ΔE 6,96', '14"71', '0,5 kg/cm2', 'DỪNG CHUYỀN NGAY',
          'AI CẦN THEO DÕI', 'Việc cần theo dõi', 'Bài học 20', 'Bài học 17'):
    print('     %-26s %s' % (k, k in txt))
