125 lines
3.9 KiB
Python
125 lines
3.9 KiB
Python
|
|
#!/usr/bin/env python3
|
|||
|
|
# -*- coding: utf-8 -*-
|
|||
|
|
"""初始化对账单示例数据"""
|
|||
|
|
|
|||
|
|
import sqlite3
|
|||
|
|
import os
|
|||
|
|
from datetime import datetime, timezone, timedelta
|
|||
|
|
|
|||
|
|
# 数据库路径
|
|||
|
|
DB_PATH = os.path.join(os.path.dirname(__file__), 'server', 'data.db')
|
|||
|
|
|
|||
|
|
def get_beijing_time():
|
|||
|
|
"""获取北京时间(UTC+8)的ISO格式字符串"""
|
|||
|
|
beijing_tz = timezone(timedelta(hours=8))
|
|||
|
|
return datetime.now(beijing_tz).isoformat()
|
|||
|
|
|
|||
|
|
def init_reconciliations():
|
|||
|
|
"""初始化对账单示例数据"""
|
|||
|
|
conn = sqlite3.connect(DB_PATH)
|
|||
|
|
c = conn.cursor()
|
|||
|
|
|
|||
|
|
# 示例数据(根据图片中的数据)
|
|||
|
|
sample_data = [
|
|||
|
|
{
|
|||
|
|
'order_date': '2025/10/31',
|
|||
|
|
'contract_no': 'CGDD002876',
|
|||
|
|
'material_name': '扩产-9988 红黑线',
|
|||
|
|
'spec_model': 'PCXK0P0NSNT_1_2.54*1C14TE',
|
|||
|
|
'transport_no': '快递上门',
|
|||
|
|
'quantity': 45,
|
|||
|
|
'unit': 'pcs',
|
|||
|
|
'unit_price': 239.2,
|
|||
|
|
'total_amount': 10764,
|
|||
|
|
'delivery_date': '2025/11/3',
|
|||
|
|
'shipment_date': '2025/11/3'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
'order_date': '2025/9/20',
|
|||
|
|
'contract_no': 'CGDD004562',
|
|||
|
|
'material_name': '扩产-9988 红黑线',
|
|||
|
|
'spec_model': 'M1H0EM0N511 PCXK0P0NSNT_1_2.54*1C14TE',
|
|||
|
|
'transport_no': '快递上门',
|
|||
|
|
'quantity': 355,
|
|||
|
|
'unit': 'pcs',
|
|||
|
|
'unit_price': 1.1,
|
|||
|
|
'total_amount': 390.5,
|
|||
|
|
'delivery_date': '2025/11/3',
|
|||
|
|
'shipment_date': '2025/11/3'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
'order_date': '2025/9/20',
|
|||
|
|
'contract_no': 'CGDD004562',
|
|||
|
|
'material_name': '扩产-9988 红黑线',
|
|||
|
|
'spec_model': 'ETAP05-01',
|
|||
|
|
'transport_no': '快递上门',
|
|||
|
|
'quantity': 2,
|
|||
|
|
'unit': 'pcs',
|
|||
|
|
'unit_price': 245.46,
|
|||
|
|
'total_amount': 490.92,
|
|||
|
|
'delivery_date': '2025/11/3',
|
|||
|
|
'shipment_date': '2025/11/3'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
'order_date': '2025/9/20',
|
|||
|
|
'contract_no': 'CGDD004562',
|
|||
|
|
'material_name': 'M1H0EM0N511 红黑线',
|
|||
|
|
'spec_model': 'PCXK0P0NSNT_1_2.54*1C14TE',
|
|||
|
|
'transport_no': '快递上门',
|
|||
|
|
'quantity': 6,
|
|||
|
|
'unit': 'pcs',
|
|||
|
|
'unit_price': 1.1,
|
|||
|
|
'total_amount': 6.6,
|
|||
|
|
'delivery_date': '2025/11/3',
|
|||
|
|
'shipment_date': '2025/11/3'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
'order_date': '2025/10/11',
|
|||
|
|
'contract_no': 'CGDD002717',
|
|||
|
|
'material_name': '扩产-9988 红黑线',
|
|||
|
|
'spec_model': 'ETAP05-01',
|
|||
|
|
'transport_no': '快递上门',
|
|||
|
|
'quantity': 500,
|
|||
|
|
'unit': 'pcs',
|
|||
|
|
'unit_price': 228.45,
|
|||
|
|
'total_amount': 114225,
|
|||
|
|
'delivery_date': '2025/11/3',
|
|||
|
|
'shipment_date': '2025/11/3'
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
|
|||
|
|
now = get_beijing_time()
|
|||
|
|
|
|||
|
|
for data in sample_data:
|
|||
|
|
c.execute('''
|
|||
|
|
INSERT INTO reconciliations(
|
|||
|
|
order_date, contract_no, material_name, spec_model, transport_no,
|
|||
|
|
quantity, unit, unit_price, total_amount, delivery_date, shipment_date,
|
|||
|
|
created_by, created_at, updated_at
|
|||
|
|
) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?)
|
|||
|
|
''', (
|
|||
|
|
data['order_date'],
|
|||
|
|
data['contract_no'],
|
|||
|
|
data['material_name'],
|
|||
|
|
data['spec_model'],
|
|||
|
|
data['transport_no'],
|
|||
|
|
data['quantity'],
|
|||
|
|
data['unit'],
|
|||
|
|
data['unit_price'],
|
|||
|
|
data['total_amount'],
|
|||
|
|
data['delivery_date'],
|
|||
|
|
data['shipment_date'],
|
|||
|
|
'admin',
|
|||
|
|
now,
|
|||
|
|
now
|
|||
|
|
))
|
|||
|
|
|
|||
|
|
conn.commit()
|
|||
|
|
count = len(sample_data)
|
|||
|
|
conn.close()
|
|||
|
|
|
|||
|
|
print(f'✅ 成功初始化 {count} 条对账单示例数据')
|
|||
|
|
|
|||
|
|
if __name__ == '__main__':
|
|||
|
|
init_reconciliations()
|