1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| 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'])
|
|