gaoluyang
14 小时以前 e40a608ef9bf51db294d8eefada6a8e2e80cebca
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import sys,json
from pathlib import Path
P=Path(__file__).parent
sys.stdout.reconfigure(encoding='utf8')
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)
s={}
with c.cursor() as q:
 for t in ['crm_customer','crm_business','crm_business_product','crm_business_status_type','crm_business_status','crm_sale_quotation','crm_sale_quotation_product','crm_contract','crm_contract_product','erp_sale_order','erp_sale_order_items','crm_permission']:
  q.execute('SHOW CREATE TABLE '+t);ddl=q.fetchone()['Create Table'];q.execute('SELECT * FROM '+t+' WHERE deleted=0 ORDER BY id');rs=q.fetchall();s[t]={'ddl':ddl,'rows':rs}
  if t in ['crm_business_product','crm_business_status_type','crm_business_status','crm_permission']:print(t,ddl if t in ['crm_business_product','crm_permission'] else json.dumps(rs,ensure_ascii=False,default=str))
 customers={x['id']:x for x in s['crm_customer']['rows']}
 for qt in s['crm_sale_quotation']['rows']:
  customer=customers[qt['customer_id']]
  if '北京同仁堂' in customer['name']:continue
  bs=[b for b in s['crm_business']['rows'] if b['customer_id']==qt['customer_id']]
  print('报价',json.dumps({k:qt[k] for k in ['id','name','no','business_id','quotation_time','create_time','customer_id','contract_id','total_price','owner_user_id']},ensure_ascii=False,default=str),'客户',customer['name'],'同客户商机',json.dumps([{k:b[k] for k in ['id','name','total_price','create_time','status_id','end_status','order_id']} for b in bs],ensure_ascii=False,default=str))
(P/'preview.json').write_text(json.dumps(s,ensure_ascii=False,default=str,indent=2),encoding='utf8')
c.close()