# -*- coding: utf-8 -*-
"""Tạo tài liệu GỌN theo yêu cầu mới: CHỈ 2 bảng quy trình + lưu ý bắt buộc (không phân tích, không truy vết, không KPH)."""
import io, os, re, shutil, subprocess
from docx import Document
from docx.shared import RGBColor

D = r'C:\Claw 2\Nghien cuu\Du-an-A-Quy-trinh-son'
PY = r'C:\Users\admin\AppData\Local\hermes\hermes-agent\venv\Scripts\python.exe'
SRC = os.path.join(D, 'DE_XUAT_2PA_NAU-XAM-TRO_v3_washcoat_2026-10-06.md')
OUT_MD = os.path.join(D, 'QUY_TRINH_DE_XUAT_NAU-XAM-TRO_2026-10-06.md')
OUT_DOCX = os.path.join(D, 'QUY_TRINH_DE_XUAT_NAU-XAM-TRO_2026-10-06.docx')

t = io.open(SRC, encoding='utf-8').read()
# lấy 2 bảng quy trình (giữ nguyên nội dung đã kiểm chứng)
khoi = {}
for k in re.split(r'\n### ', t):
    m = re.match(r'\d+\. Bảng quy trình Phương án (\d)', k)
    if m:
        lines = k.split('\n')
        bang = [l for l in lines if l.startswith('|')]
        ghi = [l for l in lines if l.startswith('- **Khác biệt') or l.startswith('- **Ưu') or l.startswith('- **Khuyến nghị')]
        khoi[int(m.group(1))] = (bang, ghi)
assert 1 in khoi and 2 in khoi, 'thiếu bảng'

md = []
md.append('# QUY TRÌNH SƠN ĐỀ XUẤT — MẪU NÂU XÁM TRO (LÔ 05)')
md.append('')
md.append('*Ngày: 06/10/2026 · Hệ sơn: NC · Độ bóng mục tiêu: mờ 5–15 GU*')
md.append('')
md.append('![Ảnh mẫu](anh_mau_moi/mau_01.jpg)')
md.append('')
md.append('> **THIẾU ẢNH GỖ MỘC — đề nghị chủ dự án cung cấp.** Tạm tính gỗ mộc tông sáng, hơi ngả vàng.')
md.append('')
for pa in (1, 2):
    ten = 'PHƯƠNG ÁN 1 — KHUYẾN NGHỊ' if pa == 1 else 'PHƯƠNG ÁN 2 — THAY THẾ'
    md.append('## %s' % ten)
    md.append('')
    md += khoi[pa][0]
    md.append('')
    md += khoi[pa][1]
    md.append('')
md.append('## LƯU Ý BẮT BUỘC')
md.append('')
md.append('1. **Trước khi lau màu:** bề mặt lót phải **khô tương đối hoàn toàn**; **không xả nhám/gây xước mặt lót** (màu chui xuống vết nhám ⇒ thâm màu); **không để sơn chịu khô (dry spray)**; nếu buộc xả nhám thì nhám rất mịn + xả cực nhẹ, rồi thổi bụi và lau tack trước khi lau.')
md.append('2. **Sau MỖI lần chà nhám:** kiểm tra màu dưới đèn — vùng nào lác/bạt màu thì **dặm màu** đúng tông rồi mới phủ lớp kế tiếp.')
md.append('3. **Pha màu lau:** glaze nền + tinh màu (thử **100 : 3–8**), pha loãng bằng dung môi bay hơi chậm tới ~10–12 s; pha xong **dùng hết trong 2–3 giờ**.')
md.append('4. **Kiểm tra độ bám dính:** cắt ca-rô + giật băng keo (ASTM D3359) trên thẻ mẫu, khô **≥ 20–24 giờ**, đạt **4B–5B** mới chạy chuyền; phun 2 passes, **màng ướt 100–125 µm**, áp 3 bar.')
md.append('5. **Khô trước đóng gói 12–24 giờ.**')
io.open(OUT_MD, 'w', encoding='utf-8', newline='').write('\n'.join(md) + '\n')
print('MD gọn:', os.path.getsize(OUT_MD), 'byte |', len(md), 'dòng')

subprocess.run([PY, r'C:\Users\admin\AppData\Local\hermes\skills\productivity\markdown-to-docx\scripts\md2docx.py', OUT_MD, OUT_DOCX, 'full'],
               capture_output=True, text=True, encoding='utf-8', errors='replace', cwd=D)
d = Document(OUT_DOCX)
for s in ['Heading 1', 'Heading 2', 'Heading 3']:
    try:
        d.styles[s].font.color.rgb = RGBColor(0, 0, 0)
    except Exception:
        pass
d.save(OUT_DOCX)
d = Document(OUT_DOCX)
txt = '\n'.join(x.text for x in d.paragraphs)
for tb in d.tables:
    for r in tb.rows:
        for c in r.cells:
            txt += '\n' + c.text
print('DOCX gọn: %d byte | đoạn %d | bảng %d | ảnh %d' % (os.path.getsize(OUT_DOCX), len(d.paragraphs), len(d.tables), len(d.inline_shapes)))
for k in ['KPH', 'ID 44', 'CSDLA', 'L\\*', 'zoom', 'loài gỗ', 'Sồi', 'Tần bì', 'mảng màu', 'Mảng', 'truy vết', 'QT_']:
    print('   kiểm tra KHÔNG được có "%-10s": %s' % (k, 'SẠCH' if k not in txt else 'CÒN!'))
out = os.path.join(os.environ['LOCALAPPDATA'], 'hermes', 'cache', 'gui_duan_a')
os.makedirs(out, exist_ok=True)
shutil.copy2(OUT_DOCX, out)
print('bản gửi:', os.path.getsize(os.path.join(out, os.path.basename(OUT_DOCX))), 'byte')
