#!/usr/bin/env python # -*- coding: utf-8 -*- """ 测试数据库功能 """ from database import Database import json # 初始化数据库 db = Database("wrench.db") # 测试创建工单 print("="*60) print("测试创建工单") print("="*60) test_order = { "trace_id": "TR20260119001", "process_id": "P001", "process_name": "前轮装配", "product_name": "汽车底盘组件", "station": "装配工位A1", "operator": "张三", "status": "pending", "bolts": [ { "bolt_id": 1, "name": "前轮螺栓1", "target_torque": 280, "mode": 1, "torque_tolerance": 0.10, "angle_min": 1, "angle_max": 360, "status": "pending" }, { "bolt_id": 2, "name": "前轮螺栓2", "target_torque": 300, "mode": 1, "torque_tolerance": 0.10, "angle_min": 1, "angle_max": 360, "status": "pending" } ] } if db.create_work_order(test_order): print("[OK] 工单创建成功") else: print("[FAIL] 工单创建失败") # 测试查询工单 print("\n" + "="*60) print("测试查询工单") print("="*60) order = db.get_work_order("TR20260119001", "P001") if order: print(f"[OK] 查询成功: {order['trace_id']} - {order['process_id']}") print(f" 工序名称: {order['process_name']}") print(f" 螺栓数量: {len(order['bolts'])}") else: print("[FAIL] 查询失败:未找到工单") # 测试查询可用工单 print("\n" + "="*60) print("测试查询可用工单列表") print("="*60) available = db.get_available_work_orders("TR20260119001", "P001") print(f"[OK] 找到 {len(available)} 个可用工单") for order in available: print(f" - {order['trace_id']} - {order['process_id']}: {order['process_name']} ({order['bolt_count']}个螺栓)") # 从JSON导入数据 print("\n" + "="*60) print("从JSON文件导入数据") print("="*60) try: with open("work_orders.json", 'r', encoding='utf-8') as f: json_orders = json.load(f) count = 0 for order in json_orders: if db.create_work_order(order): count += 1 print(f"[OK] 成功导入 {count}/{len(json_orders)} 个工单") # 再次查询 available = db.get_available_work_orders("TR20260119001", "P001") print(f"\n[OK] 查询结果: 找到 {len(available)} 个可用工单") for order in available: print(f" - {order['trace_id']} - {order['process_id']}: {order['process_name']}") except Exception as e: print(f"[FAIL] 导入失败: {e}") print("\n" + "="*60) print("测试完成") print("="*60)