# -*- coding: utf-8 -*-
r"""B47: tra nốt tên nhà máy còn thiếu + kiểm ràng buộc cột kinh_nghiem."""
import sqlite3

C = r'C:\Claw-Zalo\CSDLC\CSDLC.db'
c = sqlite3.connect('file:%s?mode=ro' % C.replace('\\', '/'), uri=True)

print('=== ràng buộc bảng kinh_nghiem ===')
for r in c.execute('pragma table_info(kinh_nghiem)'):
    print('   %-14s %-8s notnull=%s default=%s' % (r[1], r[2], r[3], r[4]))
print('   DDL:', c.execute("select sql from sqlite_master where name='kinh_nghiem'").fetchone()[0][:400])

print()
print('=== tìm các tên còn thiếu (LIKE không phân biệt hoa/thường bằng cách thử nhiều biến thể) ===')
CAN = ['HỐ NAI', 'THỊNH', 'WHITE', 'WEST', 'WOOD', 'LINGIN', 'LINK', 'LINH', 'ĐĂNG LONG', 'PHÚ KHANG',
       'HẠNH', 'TIẾN TRIỂN', 'MINH DƯƠNG', 'MEKONG', 'MÊ KÔNG']
for k in CAN:
    rows = c.execute('''select id, ten, ifnull(ten_khac,'') from khach_hang
                        where ten like ? or ifnull(ten_khac,'') like ?''', ('%' + k + '%', '%' + k + '%')).fetchall()
    print('   %-12s -> %s' % (k, rows[:6] if rows else 'KHÔNG THẤY'))

print()
print('=== id 226 "(bo-trong)" có dùng được làm chỗ trống không ===')
print('  ', c.execute("select id, ten, ifnull(ghi_chu,'') from khach_hang where id in (226, 271)").fetchall())

print()
print('=== 3 bài học gần nhất của Hố Nai II (id 11) — xem văn phong/định dạng để ghi cho khớp ===')
for r in c.execute('''select id, ngay, ifnull(ma_ho_so,''), substr(ifnull(chu_de,''),1,50), substr(ifnull(hien_tuong,''),1,70),
                             substr(ifnull(nguyen_nhan,''),1,60), substr(ifnull(cach_xu_ly,''),1,60), ifnull(ket_qua,''), ifnull(trang_thai,''), ifnull(nguon,'')
                      from kinh_nghiem where khach_hang_id=11 order by id desc limit 3'''):
    print('   id=%s | ngay=%s | ma_ho_so=%s' % (r[0], r[1], r[2]))
    print('      chủ đề: %s' % r[3])
    print('      hiện tượng: %s\n      nguyên nhân: %s\n      cách xử lý: %s\n      kết quả: %s | trạng thái: %s | nguồn: %s' % (r[4], r[5], r[6], r[7], r[8], r[9]))
c.close()
