# -*- coding: utf-8 -*-
"""Thêm mục 16/09/2026 (Lộc QC — Cty Đăng Long, màu DLO 16/19 quy trình MDF) vào Locqc.md."""
import io, os, shutil, datetime, difflib

F = r"C:\Claw 2\QC\Locqc.md"
NGAY = datetime.datetime.now().strftime("%d%m%Y")
BKDIR = os.path.join(r"C:\Claw 2\QC", NGAY, "BACKUP_MD", "Nhan su tham gia")
os.makedirs(BKDIR, exist_ok=True)
BK2 = os.path.join(BKDIR, f"QC__Locqc_{datetime.datetime.now().strftime('%d%m')}_trc_danglong.md")
shutil.copy2(F, BK2)
print("backup lần 2:", BK2, os.path.getsize(F), "bytes")

s = io.open(F, encoding="utf-8", newline="").read()
NL = "\r\n" if "\r\n" in s else "\n"
assert "ĐĂNG LONG (màu DLO 16/19" not in s, "đã có mục Đăng Long 16/09 — dừng"

MUC = """---

# BÁO CÁO CÔNG VIỆC HẰNG NGÀY — CẬP NHẬT 16/09/2026: Kiểm tra tại Công ty **ĐĂNG LONG** (màu **DLO 16/19** — quy trình **MDF**, sản phẩm **mặt hộc kéo**)

**Ngày báo cáo:** 16/09/2026 · **Người báo cáo:** Bùi Thiên Lộc (QC BT Chem)
**Kính gửi:** BLĐ phòng Kỹ thuật & phòng QC BT-Chem
**Nhà máy:** Công ty **Đăng Long** · **Quy trình:** **MDF** · **Sản phẩm:** **mặt hộc kéo** · **Màu:** **DLO 16/19**

## 1. Diễn biến — độ bám dính KHÔNG ĐẠT trên lô sản xuất tiếp theo

- Công đoạn hoàn thiện sản xuất **lúc 19 giờ ngày 15/9/2026** (sản phẩm **mặt hộc kéo**); **hôm nay (16/09) kiểm tra chất lượng: độ bám dính KHÔNG ĐẠT**.
- Quy trình sử dụng **glaze màu công thức chưa điều chỉnh** — **mới giao xuống, mã số tháng 9**. Kỹ thuật kiểm tra trước: **màu sắc có lệch so với thẻ gốc**; **kỹ thuật đã điều chỉnh màu lại và cho sản xuất** — **KHÔNG có thông tin màu sai về công ty**.
- Trong quy trình sản xuất trên chuyền, kỹ thuật có **điều chỉnh 3% phụ gia 08/22** vào hỗn hợp **Lót NC HB**.
- **Đã sản xuất khoảng 53 sản phẩm hộc kéo/ngày**; **thứ Hai 14/09/2026** và ngày **15/09/2026** kiểm tra chất lượng **độ bám ĐẠT yêu cầu** (hôm nay kiểm tra lại **vẫn đạt**).
- **Tiếp tục sản xuất số lượng còn lại khoảng 600 sản phẩm** thì kiểm tra **độ bám KHÔNG ĐẠT**.

## 2. Điều chỉnh công thức glaze màu DLO 16/19

- Công thức glaze màu DLO 16/19 **sử dụng màu hệ Pegasol pha với glaze tự nhiên và dung môi PE**.
- Kỹ thuật đã **kiểm tra trước trên thẻ** — kết quả kiểm tra chất lượng **ĐẠT**.
- **Hôm nay cho thử thực tế trên chuyền** — **mai (17/09) sẽ đánh giá kết quả**.

## 3. Đã / chưa kiểm chứng

| Nội dung | Trạng thái |
|:--|:--|
| Độ bám dính mốc **14–15/09** (~53 SP) | ✅ **Đã kiểm tra — ĐẠT** (hôm nay kiểm lại vẫn đạt) |
| Độ bám dính lô còn lại **~600 SP** (sản xuất 19 giờ 15/09) | ❌ **Đã kiểm tra — KHÔNG ĐẠT** |
| Màu sắc so với thẻ gốc (mẻ glaze mã tháng 9) | ⚠️ **Đã phát hiện lệch khi kiểm tra trước SX** — KT tự điều chỉnh màu, **chưa báo về công ty** |
| Công thức glaze mới (**Pegasol + glaze tự nhiên + dung môi PE**) | 🔄 Kiểm tra trên thẻ **ĐẠT**; **thử trên chuyền 16/09** — **chờ đánh giá 17/09** |
| Số lô/mẻ glaze tháng 9 · tỷ lệ pha công thức chưa điều chỉnh | ⚠️ **Chưa có trong nguồn** — đề nghị bổ sung |

> ⚠️ **Ghi chú đối chiếu & theo dõi:**
> - ⚠️ **Nguồn:** nội dung do **chủ tài khoản (Anh Minh)** cung cấp bằng text ngày 16/09/2026 — **chưa có bản ký số/ảnh**; số liệu **giữ nguyên văn, không tự sửa**.
> - 📌 **Nối vụ cùng nhà máy – cùng sản phẩm (16/19) – cùng lỗi độ bám:** mục **Đăng Long DLO 11 (16/19) ngày 28–29/08/2026** (khối 30 portal, `su_co_kph` #48, hồ sơ KPH #812) ghi **độ bám yếu trên mặt hộc kéo ~20–30% của lô 200 hộc kéo (khách TJX)** ở công đoạn **glaze kéo sọc cọ**. Lần này lại **KHÔNG ĐẠT độ bám** ở lô ~600 sản phẩm **sau khi đổi công thức glaze (mã tháng 9)** ⇒ **nghi vấn tập trung ở công đoạn glaze / lót**, đề nghị kiểm tra chéo **mẻ glaze mới** và **mốc kiểm độ bám**.
> - ⚠️ **KT tự điều chỉnh màu, không báo về công ty:** kiểm tra trước phát hiện **màu lệch thẻ gốc** nhưng xử lý nội bộ rồi cho sản xuất — **phá vỡ kiểm soát màu** (đúng nhóm A của bộ tài liệu KPH: *một mã = một bộ chuẩn, mọi lệch phải báo & ghi biên bản*). Đề nghị quy định **bắt buộc báo về công ty mọi lần điều chỉnh màu**, kèm số đo/lý do.
> - 📌 **Mốc chuyển đạt → không đạt cần chốt:** 53 SP/ngày đạt (14–15/09) nhưng ~600 SP sau không đạt ⇒ cần ghi rõ **thời điểm thay mẻ glaze**, **lần pha/nhân màu**, **thời điểm thêm 3% phụ gia 08/22 vào Lót NC HB**, **độ nhớt** và **khoảng cách thời gian giữa các lớp** — để biết nút nào làm mất bám (glaze hay lót NC HB).
> - 📌 **Theo dõi thử chuyền công thức glaze mới (17/09):** yêu cầu ghi rõ **điều kiện thử (thẻ ↔ chuyền)**, **tỷ lệ pha Pegasol : glaze tự nhiên : dung môi PE**, **độ nhớt**, **kết quả độ bám (giật băng keo + cắt ca rô, sau 24 giờ)** và **màu so thẻ gốc** — nếu đạt mới đề nghị chốt công thức.
> - 📌 **Liên kết hồ sơ KPH:** nội dung này đã ghi đồng bộ vào **CSDL chính (`su_co_kph` #48)**, **CSDL KPH (hồ sơ #812)** và **portal KPH — khối 30 `danglong-dlo11`, panel “📎 Bổ sung 16/09/2026 — DLO 16/19 độ bám dính không đạt (~600 SP)”**.
> - 📌 **Báo cáo liên quan đã có:** *Báo cáo tróc sơn Đăng Long DL 16/19* (hồ sơ HTML + PDF 12 trang trong `C:\\Claw 2\\QC\\Base\\Dang-Long-troc-son\\`) — dùng làm mốc đối chiếu quy trình 7 bước và kết quả cắt carô 4B/5B.
"""
new = s.rstrip("\r\n") + NL + NL + MUC.replace("\n", NL)
io.open(F, "w", encoding="utf-8", newline="").write(new)

old_l = io.open(BK2, encoding="utf-8", newline="").read().split("\n")
new_l = io.open(F, encoding="utf-8", newline="").read().split("\n")
sm = difflib.SequenceMatcher(None, old_l, new_l, autojunk=False)
removed = added = 0
for tag, i1, i2, j1, j2 in sm.get_opcodes():
    if tag in ("replace", "delete"): removed += i2 - i1
    if tag in ("replace", "insert"): added += j2 - j1
print(f"dòng mất: {removed} | dòng thêm: {added}")
print("file sau:", os.path.getsize(F), "bytes | có mục Đăng Long 16/09:", "ĐĂNG LONG (màu DLO 16/19" in io.open(F, encoding="utf-8").read())
