# -*- coding: utf-8 -*-
r"""B136: in tên cột các bảng cần cho 5 tab (để viết truy vấn đúng)."""
import sqlite3

B = r'C:\c\deepseek-harness\claw2-db\btchem.db'
C = r'C:\Claw-Zalo\CSDLC\CSDLC.db'
A = r'C:\Claw 2\Nghien cuu\Du-an-A-Quy-trinh-son\CSDLA.db'
D = r'C:\Claw 2\Nghien cuu\Du-an-B-He-mau-Stain-Glaze\CSDLB.db'

for nhan, p, bangs in [
    ('btchem', B, ['mua_hang', 'mua_hang_tong_quan', 'su_co_kph', 'mau_lam', 'bao_cao_sx', 'bao_cao_kt_tuan',
                   'bao_cao_cskh', 'gia_nguyen_lieu', 'nha_may', 'phai_vien_kt', 'file_loaded']),
    ('CSDLC', C, ['khach_hang', 'kinh_nghiem', 'lich_su_mua_hang']),
    ('CSDLA', A, ['quy_trinh', 'buoc_quy_trinh', 'huan_luyen']),
    ('CSDLB', D, ['mau', 'mau_bang_in']),
]:
    con = sqlite3.connect('file:%s?mode=ro' % p.replace('\\', '/'), uri=True)
    print('=' * 8, nhan)
    for t in bangs:
        try:
            cols = [r[1] for r in con.execute('pragma table_info(%s)' % t)]
            n = con.execute('select count(*) from %s' % t).fetchone()[0]
            print('  %-22s %5d dòng | %s' % (t, n, ', '.join(cols)))
            # vài giá trị mẫu của các cột phân loại
            for c in cols:
                if any(k in c.lower() for k in ('loai', 'giai_doan', 'trang_thai', 'nhom', 'he_son', 'khu_vuc', 'cum', 'don_vi', 'ky')):
                    v = [str(x[0])[:26] for x in con.execute('select distinct %s from %s where %s is not null limit 4' % (c, t, c))]
                    print('        · %-16s giá trị: %s' % (c, ' | '.join(v)))
        except Exception as e:
            print('  %-22s LỖI %s' % (t, e))
    con.close()
