# -*- coding: utf-8 -*-
"""So sanh phan CANH TRANH giua bao cao KTV T39 va T40 (bang muc III + cac doan 'Canh tranh:' trong tung cum)."""
import io, re, sys
from docx import Document

T39 = r"C:\Claw 2\Bao cao - Hanh chinh\Dac-Phai-VIen-KT\Bao-Cao-Tuan\T39\Bao_cao_tong_hop_Tuan39_21-09_27-09-2026.docx"
T40 = r"C:\Users\admin\AppData\Local\hermes\cache\documents\doc_825c2646f6b1_Bao_cao_tong_hop_Tuan40_28-09_04-10-2026.docx"


def dump(p, nhan):
    d = Document(p)
    print("=" * 100)
    print("###", nhan, "|", p.split("\\")[-1])
    print("=" * 100)
    # 1. cac bang
    for ti, t in enumerate(d.tables, 1):
        print("\n--- BANG %d (%d hang x %d cot) ---" % (ti, len(t.rows), len(t.columns)))
        for r in t.rows:
            cells = [c.text.strip().replace("\n", " ") for c in r.cells]
            print(" | ".join(cells)[:600])
    # 2. cac doan co 'Canh tranh' + tieu de cum
    print("\n--- CAC DOAN 'Canh tranh:' THEO CUM ---")
    cum = ""
    for para in d.paragraphs:
        t = para.text.strip()
        if not t:
            continue
        if re.match(r"^\d+\.\s+Cụm ", t) or re.match(r"^[IVX]+\.\s", t):
            cum = t
            print("\n[%s]" % cum[:120])
        if re.search(r"[Cc]ạnh tranh|đối thủ|nhà cung cấp|NCC\b|công ty khác|hãng khác", t):
            print("   *", t[:700])
    # 3. liet ke ten doi thu xuat hien bat ky (ngoai bang)
    print("\n--- LAN XUAT HIEN TEN DOI THU (ngoai bang) ---")
    names = ["AkzoNobel", "Akzo", "MTH", "Tân Hồng Phát", "Poly Poxy", "PolyPoxy", "Jotun", "Teknos",
             "Sayerlack", "Amer", "Nippon", "Dulux", "Xinpan", "Bayer", "VNP", "Kim Sơn", "Đại Phát",
             "Hoàng Gia", "NSG", "Sato", "Pico", "Sam Sung", "Sherwin", "PPG", "Musashi", "Toyo", "Wanhua"]
    body = "\n".join(p.text for p in d.paragraphs)
    for n in names:
        c = len(re.findall(re.escape(n), body, re.I))
        if c:
            print("   %-16s %d lan" % (n, c))
            for m in re.finditer(re.escape(n), body, re.I):
                seg = body[max(0, m.start() - 120):m.start() + 160].replace("\n", " ")
                print("        ...", seg[:280])


dump(T39, "TUAN 39")
dump(T40, "TUAN 40")
