#!/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()