gaoluyang
7 小时以前 e71d71bf43c2307c89d3592adf08c1b32fcd0907
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'])