# -*- coding: utf-8 -*-
r"""B148: kiểm tab SẢN XUẤT sau khi làm lại phần cạnh tranh."""
import importlib.util, sys

spec = importlib.util.spec_from_file_location('ta', r'C:\Claw 2\Nghien cuu\Dashboard-CSDL\tab_api.py')
ta = importlib.util.module_from_spec(spec)
spec.loader.exec_module(ta)

d = ta.api({'tab': 'san_xuat'})
print('  KPI:', ' | '.join('%s = %s' % (x['n'], x['t']) for x in d['kpi']))
print('  Số thẻ:', len(d['the']))
for t in d['the']:
    if t['loai'] == 'bang':
        print('  [BẢNG] %s — %d dòng × %d cột' % (t.get('tieu_de') or '(không tiêu đề)', len(t['hang']), len(t['cot'])))
    else:
        print('  [%s] %s (n=%d)' % (t['loai'], t['tieu_de'] or '(KHÔNG TIÊU ĐỀ)', len(t.get('nhan') or t.get('bo') or [])))

print('\n  --- BẢNG CẠNH TRANH (nhà máy | đối thủ | cont | % mình) ---')
for t in d['the']:
    if t['loai'] == 'bang' and 'cạnh tranh' in (t['cot'][-1] or '').lower():
        for h in t['hang'][:40]:
            print('    %-24s | %-30s | %-6s | %-6s | %s' % (h[0][:24], h[2][:30], h[3], h[4], h[5][:60]))
print('\n  --- TOP đối thủ (theo số nhà máy) ---')
for t in d['the']:
    if t['loai'] == 'cot' and 'Đối thủ theo số NHÀ MÁY' in (t['tieu_de'] or ''):
        print('   ', ' · '.join('%s=%s' % (k, v) for k, v in zip(t['nhan'], t['so'])))
print('\n  --- CONT đối thủ (chỉ nơi ghi số) ---')
for t in d['the']:
    if t['loai'] == 'cot' and 'Số CONT đối thủ' in (t['tieu_de'] or ''):
        print('   ', ' · '.join('%s=%s' % (k, v) for k, v in zip(t['nhan'], t['so'])))
print('\n  --- Thị phần còn lại của mình (10 nhà máy thấp nhất) ---')
for t in d['the']:
    if t['loai'] == 'cot' and 'Thị phần CÒN LẠI' in (t['tieu_de'] or ''):
        for k, v in list(zip(t['nhan'], t['so']))[:10]:
            print('    %-26s %s%%' % (k, v))
# thử với lọc khoảng tuần
print('\n  --- thử lọc khoảng T38→T41 ---')
d2 = ta.api({'tab': 'san_xuat', 'tu': 'T38', 'den': 'T41'})
for t in d2['the']:
    if 'Đối thủ theo số NHÀ MÁY' in (t['tieu_de'] or ''):
        print('   ', t['tieu_de'])
        print('   ', ' · '.join('%s=%s' % (k, v) for k, v in list(zip(t['nhan'], t['so']))[:10]))
