78 lines
2.1 KiB
Python
78 lines
2.1 KiB
Python
#!/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)
|
|
|