# -*- coding: utf-8 -*-
r"""B183: gom thong tin truoc khi ghi KPH tuan 3 — schema, id nha may/khach, khoi portal, 3 cho ghi so vu."""
import io, re, sqlite3

PORTAL = r'C:\Claw 2\Bao cao - Hanh chinh\BAOCAOTONGHOP\HTML\KPH_TongHop_0508\index.html'
BT = r'C:\c\deepseek-harness\claw2-db\btchem.db'
KPH = r'C:\Claw\Khieu Nai KHach Hang\btchem_kph.db'
h = io.open(PORTAL, encoding='utf-8').read()
c = sqlite3.connect('file:%s?mode=ro' % BT.replace('\\', '/'), uri=True)
k = sqlite3.connect('file:%s?mode=ro' % KPH.replace('\\', '/'), uri=True)

print('  === schema su_co_kph:')
for r in c.execute('pragma table_info(su_co_kph)'):
    print('     %-22s %s' % (r[1], r[2]))
print('  === schema ho_so_kph:')
for r in k.execute('pragma table_info(ho_so_kph)'):
    print('     %-22s %s' % (r[1], r[2]))

print('\n  === nha_may (btchem.db) cho 3 khach moi:')
for tu in ('Tân Việt Tiến', 'Hạnh Phúc', 'Hành Mỹ', 'TVT'):
    for r in c.execute('select id, ten, coalesce(khu_vuc,""), coalesce(nhom,"") from nha_may where ten like ?', ('%' + tu + '%',)):
        print('     btchem.nha_may id=%-3d %-32s | %s | %s' % r)
print('  --- nha_may_alias:')
try:
    for tu in ('Tân Việt Tiến', 'Hạnh Phúc', 'Hành Mỹ', 'TVT'):
        for r in c.execute('select nha_may_id, alias from nha_may_alias where alias like ?', ('%' + tu + '%',)):
            print('     alias %-28s -> nha_may_id %d' % (r[1], r[0]))
except Exception as e:
    print('     (khong co bang alias:', e, ')')

print('\n  === khach_hang (btchem_kph.db) cho 3 khach moi:')
for tu in ('Tân Việt Tiến', 'Hạnh Phúc', 'Hành Mỹ'):
    for r in k.execute('select id, ten from khach_hang where ten like ?', ('%' + tu + '%',)):
        print('     kph.khach_hang id=%-4d %s' % r)

print('\n  === khoi portal chua "TVIET 246" / "Hành Mỹ" / "MHT 02" / "MK 12/17":')
khoi = []
for m in re.finditer(r'<!-- =+ (\d+)\. ([\w\-.]+) =+ -->', h):
    i1 = h.find('<!-- ============', m.end())
    khoi.append((m.group(1), m.group(2), h[m.end():i1 if i1 > 0 else len(h)]))
# them cac khoi khong co comment: neo theo <div class="inc" id="...">
ids = [(m.start(), m.group(1)) for m in re.finditer(r'<div class="inc" id="([^"]+)"', h)]
for i, (pos, slug) in enumerate(ids):
    cuoi = ids[i + 1][0] if i + 1 < len(ids) else len(h)
    seg = h[pos:cuoi]
    h3 = re.search(r'<h3>(.*?)</h3>', seg, re.S)
    tieu = re.sub(r'\s+', ' ', re.sub(r'<[^>]+>', '', h3.group(1))).strip() if h3 else '(?)'
    for tu in ('TVIET 246', 'TV 246', 'Hành Mỹ', 'MHT 02', 'MK 12/17', 'HP 269', 'TVT White', 'Bex 03-2402'):
        if tu.lower() in seg.lower():
            print('     [%s] id=%-22s %s' % (tu, slug, tieu[:76]))

print('\n  === 3 cho ghi so vu trong portal:')
for rx, ten in ((r'<small>[^<]*</small>', 'logo nav'), (r'badge">[^<]*</span>', 'hero badge'),
                (r'Chi tiết từng vụ việc[^)]*\)', 'h2 muc 01')):
    for m in re.finditer(rx, h):
        print('     %-12s %s' % (ten, m.group(0)[:120]))
print('\n  === so lan xuat hien "vụ việc"/"vụ " dang ghi trong file:')
for m in re.finditer(r'(\d+)\s*(vụ việc|vụ)\b', h):
    print('     %s %s  (vi tri %d)' % (m.group(1), m.group(2), m.start()))
