#!/usr/bin/env python # -*- coding: utf-8 -*- """ 检查数据库内容 """ from database import Database import sqlite3 db = Database("wrench.db") print("="*60) print("检查数据库内容") print("="*60) # 直接查询数据库 conn = sqlite3.connect("wrench.db") cursor = conn.cursor() # 检查work_orders表 print("\n1. work_orders表:") cursor.execute("SELECT COUNT(*) FROM work_orders") count = cursor.fetchone()[0] print(f" 工单总数: {count}") if count > 0: cursor.execute("SELECT trace_id, process_id, process_name, product_name FROM work_orders LIMIT 10") rows = cursor.fetchall() print(" 工单列表:") for row in rows: print(f" - {row[0]} | {row[1]} | {row[2]} | {row[3]}") # 检查claimed_orders表 print("\n2. claimed_orders表:") cursor.execute("SELECT COUNT(*) FROM claimed_orders") count = cursor.fetchone()[0] print(f" 已认领总数: {count}") if count > 0: cursor.execute("SELECT trace_id, process_id, status FROM claimed_orders") rows = cursor.fetchall() print(" 已认领列表:") for row in rows: print(f" - {row[0]} | {row[1]} | {row[2]}") # 测试查询 print("\n3. 测试查询 TR20260119001 + P001:") trace_id = "TR20260119001" process_id = "P001" # 检查工单是否存在 cursor.execute("SELECT * FROM work_orders WHERE trace_id = ? AND process_id = ?", (trace_id, process_id)) work_order = cursor.fetchone() if work_order: print(f" [OK] 工单存在: {work_order[1]} - {work_order[2]}") else: print(f" [FAIL] 工单不存在") # 检查是否被认领 cursor.execute("SELECT * FROM claimed_orders WHERE trace_id = ? AND process_id = ?", (trace_id, process_id)) claimed = cursor.fetchone() if claimed: print(f" [WARN] 工单已被认领: {claimed[5]} (状态: {claimed[4]})") else: print(f" [OK] 工单未被认领") # 使用数据库方法查询 print("\n4. 使用数据库方法查询:") available = db.get_available_work_orders(trace_id, process_id) print(f" 可用工单数量: {len(available)}") for order in available: print(f" - {order['trace_id']} | {order['process_id']} | {order['process_name']}") conn.close() print("\n" + "="*60)