import sys,json,collections from pathlib import Path P=Path(__file__).parent sys.path.insert(0,str(P.parent/'iqc-import-20261012/deps')) import pymysql c=pymysql.connect(host='36.213.150.237',port=10000,user='root',password=sys.stdin.readline().strip(),database='mom-hm',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor,connect_timeout=10,read_timeout=60) s={} with c.cursor() as q: q.execute('SELECT DATABASE() db');assert q.fetchone()['db']=='mom-hm' for t in ['erp_sale_order','erp_sale_order_items','mes_pro_mps','mes_pro_mps_merge_item','mes_md_item','mdm_item','mdm_unit_measure']: q.execute('SHOW CREATE TABLE '+t);s[t+'_schema']=q.fetchone() q.execute('SELECT * FROM '+t+' WHERE deleted=0 ORDER BY id');s[t]=list(q.fetchall()) c.close() (P/'before-sales-mps-snapshot.json').write_text(json.dumps(s,ensure_ascii=False,indent=2,default=str),encoding='utf8') print(json.dumps({k:len(v) for k,v in s.items() if isinstance(v,list)},ensure_ascii=False)) print('ORDER STATUS',collections.Counter(x['status'] for x in s['erp_sale_order'])) print('PRODUCTION STATUS',collections.Counter(x['production_status'] for x in s['erp_sale_order'])) print('NEED PRODUCTION',collections.Counter(x['need_production'] for x in s['erp_sale_order_items'])) print('MPS STATUS',collections.Counter(x['status'] for x in s['mes_pro_mps'])) print(json.dumps(s['erp_sale_order'][:2],ensure_ascii=False,default=str)) print(json.dumps(s['erp_sale_order_items'][:3],ensure_ascii=False,default=str)) print(s['mes_pro_mps_schema']['Create Table'])