#!/usr/bin/env python3 """ 检查当前等待状态 """ import sqlite3 from pathlib import Path def check_waiting_state(): """检查当前等待状态的实验""" print("检查等待状态") print("=" * 40) try: db_path = Path(__file__).parent / "experiments.db" db = sqlite3.connect(str(db_path)) cur = db.cursor() # 查询所有工单112233的记录 cur.execute(""" SELECT id, work_order_no, start_ts, end_ts, created_at, remark FROM experiments WHERE work_order_no = '112233' ORDER BY id DESC """) results = cur.fetchall() if results: print("工单 112233 的所有实验记录:") for row in results: exp_id, work_order, start_ts, end_ts, created_at, remark = row print(f" ID: {exp_id}") print(f" 工单号: {work_order}") print(f" 创建时间: {created_at}") print(f" 开始时间: {start_ts or '未开始'}") print(f" 结束时间: {end_ts or '未结束'}") print(f" 备注: {remark or '无'}") # 判断状态 if start_ts and end_ts: status = "已完成" elif start_ts: status = "进行中" else: status = "等待开始" print(f" 状态: {status}") print("-" * 30) # 查询最新的等待开始的实验 cur.execute(""" SELECT id, work_order_no, start_ts, end_ts, created_at, remark FROM experiments WHERE start_ts IS NULL ORDER BY id DESC LIMIT 5 """) waiting_results = cur.fetchall() if waiting_results: print("\n当前等待开始的实验:") for row in waiting_results: exp_id, work_order, start_ts, end_ts, created_at, remark = row print(f" ID: {exp_id} - 工单: {work_order} - 创建: {created_at}") else: print("\n没有等待开始的实验") db.close() except Exception as e: print(f"ERROR 检查失败: {e}") def main(): print("等待状态检查工具") print("=" * 50) check_waiting_state() print("\n分析:") print("1. 如果工单112233有多个记录,UI可能显示的是错误的记录") print("2. 如果有等待开始的实验,那就是UI显示的记录") print("3. 监控器应该监控最新创建的等待实验") if __name__ == "__main__": main()