#!/usr/bin/env python3
import json, os
from collections import Counter
os.chdir(os.path.dirname(os.path.abspath(__file__)))

d = json.load(open('mcp_orders_input.json', encoding='utf-8'))
print('orders file type:', type(d).__name__)
if isinstance(d, dict):
    print('keys:', sorted(d.keys()))
    for k, v in d.items():
        if isinstance(v, list):
            print('  list key:', k, len(v))
    oc = None
    for k in ('orders','items','data'):
        if isinstance(d.get(k), list):
            oc = d[k]; break
else:
    oc = d
print('rows:', len(oc))
print('row keys:', sorted(oc[0].keys()))
print('sample:', {k: str(oc[0].get(k))[:20] for k in list(oc[0].keys())[:8]})
print('月份分布:', dict(Counter(str(x.get('创建时间',''))[:7] for x in oc)))
def num(v):
    try: return float(v or 0)
    except: return 0.0
print('税合计总额:', round(sum(num(x.get('税合计')) for x in oc), 2))
print('销售员非空:', sum(1 for x in oc if x.get('销售员')))

# 活动类型分布
a = json.load(open('daily_activities_mcp.json', encoding='utf-8'))
def lab(v):
    if isinstance(v, dict): return v.get('label','')
    if isinstance(v, list) and v: return ','.join(x.get('label','') if isinstance(x,dict) else str(x) for x in v)
    return str(v or '')
print('\ndaily_activities 活动类型分布:', dict(Counter(lab(x.get('field_76654e')) for x in a['items'])))
print('daily_activities updated:', a.get('updated'), 'total:', a.get('total'))
print('月份分布:', dict(Counter(str(x.get('start_time',''))[:7] for x in a['items'])))
