#!/usr/bin/env python3
"""Tạo báo cáo bổ sung MHT-66 (WH) — kèm 3 hình ảnh mẫu so sánh"""

from docx import Document
from docx.shared import Pt, Cm, RGBColor, Inches
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.enum.table import WD_TABLE_ALIGNMENT
from docx.oxml.ns import qn, nsdecls
from docx.oxml import parse_xml
import os

DIR = r"C:\antigra-DS\CLAW_LAM_VIEC\Bao cao - Hanh chinh\KPH\BA0-CAO\MinhHungTien-66-WH-sai-mau"
IMG1 = os.path.join(DIR, r"images_kph\mau_so_sanh_MHT66_PU_vs_NC_30-07-2026.jpg")
IMG2 = os.path.join(DIR, r"images_kph\goc_tu_MHT66_son_mai_30-07-2026.jpg")
IMG3 = os.path.join(DIR, r"images_kph\mau_cong_doan_pu_MHT66_MAT67_30-07-2026.jpg")
OUT = os.path.join(DIR, "Bao-cao-bo-sung-hinh-anh-MHT66-WH-30-07-2026.docx")

doc = Document()

style = doc.styles['Normal']
style.font.name = 'Times New Roman'
style.font.size = Pt(12)
style.element.rPr.rFonts.set(qn('w:eastAsia'), 'Times New Roman')

# ─── Tiêu đề ───
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
run = p.add_run("BÁO CÁO BỔ SUNG HÌNH ẢNH MẪU SO SÁNH — MHT-66 (WH)")
run.bold = True
run.font.size = Pt(16)
run.font.name = "Times New Roman"
run.font.color.rgb = RGBColor(47, 84, 150)

p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
run = p.add_run("Công ty Minh Hưng Tiến — Khách hàng FlexiLoad")
run.font.size = Pt(13)
run.font.name = "Times New Roman"

p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
run = p.add_run("Ngày chụp mẫu: 30/07/2026  |  Ngày báo cáo: 30/07/2026  |  QC: Bùi Thiên Lộc")
run.font.size = Pt(11)
run.font.name = "Times New Roman"

doc.add_paragraph()

# ─── Mục đích ───
doc.add_heading("1. Mục đích", level=2)
p = doc.add_paragraph()
run = p.add_run("Bổ sung hình ảnh tài liệu cho hồ sơ sự cố sai màu MHT-66 (WH) tại Công ty Minh Hưng Tiến. Các hình ảnh ghi nhận các mẫu công đoạn, mẫu so sánh hệ sơn và góc tủ thực tế có dán tem QC.")
run.font.name = "Times New Roman"
run.font.size = Pt(12)

# ─── Hình 1 ───
doc.add_heading("2. So sánh mẫu MHT-66: Hệ PU+UV vs Hệ NC", level=2)

p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
run = p.add_run()
run.add_picture(IMG1, width=Inches(5.2))

p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
run = p.add_run("Hình 1: So sánh 02 mẫu màu công đoạn MHT-66 (WH) — Trái: Lót 2U+trg → PU MHT-66(BH) → UV / Phải: Lót NC 2402 1U Ang+trg → Lót NC MHT-66(NV)")
run.font.name = "Times New Roman"
run.font.size = Pt(9)
run.italic = True

doc.add_paragraph()

# Bảng so sánh
table = doc.add_table(rows=4, cols=3)
table.style = 'Table Grid'
table.alignment = WD_TABLE_ALIGNMENT.CENTER

def sc(cell, text, bold=False, size=9, color=None, bg=None, align=WD_ALIGN_PARAGRAPH.LEFT):
    cell.text = ""
    p = cell.paragraphs[0]
    p.alignment = align
    run = p.add_run(text)
    run.font.name = "Times New Roman"
    run.font.size = Pt(size)
    run.bold = bold
    if color: run.font.color.rgb = color
    if bg:
        shading = parse_xml(f'<w:shd {nsdecls("w")} w:fill="{bg}"/>')
        cell._tc.get_or_add_tcPr().append(shading)

for ci, h in enumerate(["", "Mẫu trái (Hệ PU+UV)", "Mẫu phải (Hệ NC)"]):
    sc(table.rows[0].cells[ci], h, bold=True, size=9, color=RGBColor(255,255,255), bg="2F5496", align=WD_ALIGN_PARAGRAPH.CENTER)

data = [
    ["Sơn lót cạnh", "Lót màu ↑ 2U + trg", "Lót NC 2402 | 1U Ang + trg"],
    ["Sơn màu", "PU MHT-66 (BH)\n+ UV ↑", "Lót NC MHT-66 (NV)"],
    ["Ngày mẫu", "3/7/2026", "3/7/2026"],
]
for ri, row_data in enumerate(data):
    for ci, val in enumerate(row_data):
        sc(table.rows[ri+1].cells[ci], val, bold=(ci==0))

doc.add_paragraph()

# ─── Hình 2 ───
doc.add_heading("3. Góc tủ thành phẩm MHT-66 có tem QC", level=2)

p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
run = p.add_run()
run.add_picture(IMG2, width=Inches(5.2))

p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
run = p.add_run("Hình 2: Góc tủ bếp sơn mài MHT-66 — tem ghi: Sơn Mài MHT-66 — Tủ dưới bếp — B1, Mẫu mới — Duyệt")
run.font.name = "Times New Roman"
run.font.size = Pt(9)
run.italic = True

doc.add_paragraph()

# ─── Hình 3 ───
doc.add_heading("4. Mẫu công đoạn PU có ký duyệt Kỹ Thuật", level=2)

p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
run = p.add_run()
run.add_picture(IMG3, width=Inches(5.2))

p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
run = p.add_run("Hình 3: Mẫu công đoạn PU đã được Kỹ Thuật ký duyệt — Trái: MHT-66 (AH) / Phải: MAT-67 (DL) — ngày 3/7/2026")
run.font.name = "Times New Roman"
run.font.size = Pt(9)
run.italic = True

doc.add_paragraph()

# ─── Tổng hợp ───
doc.add_heading("5. Tổng hợp thông tin từ các mẫu", level=2)

table2 = doc.add_table(rows=5, cols=4)
table2.style = 'Table Grid'
table2.alignment = WD_TABLE_ALIGNMENT.CENTER

for ci, h in enumerate(["Hình", "Mã màu", "Hệ sơn", "Ghi chú"]):
    sc(table2.rows[0].cells[ci], h, bold=True, size=9, color=RGBColor(255,255,255), bg="2F5496", align=WD_ALIGN_PARAGRAPH.CENTER)

data2 = [
    ["Hình 1", "MHT-66 (BH)", "PU + UV", "Lót 2U+trg → Màu PU → UV ↑"],
    ["Hình 1", "MHT-66 (NV)", "NC", "Lót NC 2402 1U Ang+trg → Màu NC"],
    ["Hình 2", "MHT-66", "Sơn Mài", "Tủ dưới bếp — B1 Mẫu mới — Đã duyệt"],
    ["Hình 3", "MHT-66 (AH)\nMAT-67 (DL)", "PU", "Ký duyệt Kỹ Thuật ngày 3/7/2026"],
]

for ri in range(4):
    for ci in range(4):
        sc(table2.rows[ri+1].cells[ci], data2[ri][ci], size=9)

# Lưu
doc.save(OUT)
print(f"✅ Đã tạo: {OUT}")
