import json, os
D = os.path.expanduser('~/Desktop/Hermes输出-工作类')
mine = json.load(open(f'{D}/数据/mcp_orders_input.json'))
wd = json.load(open(f'{D}/cache/scratch/orders_watchdog.json'))
def sets(rows):
    ids = set(); tns = set()
    for o in rows:
        bn = str(o.get('单据编号') or '').strip()
        if bn: ids.add(bn)
        tn = str(o.get('物流单号') or '').strip()
        if tn: tns.add(tn)
    return ids, tns
mi, mt = sets(mine); wi, wt = sets(wd)
print('mine orders rows =', len(mine), 'ids =', len(mi), 'tns =', len(mt))
print('wd   orders rows =', len(wd),  'ids =', len(wi), 'tns =', len(wt))
print('id diff mine-wd =', len(mi-wi), '| wd-mine =', len(wi-mi))
print('tn diff mine-wd =', len(mt-wt), '| wd-mine =', len(wt-mt))
fo = [o for o in mine if str(o.get('单据编号') or '').strip().startswith('FO')]
print('FO 预测单 =', len(fo))
