PCM_Report/check_waiting_state.py

87 lines
2.7 KiB
Python
Raw Normal View History

2025-12-11 14:32:31 +08:00
#!/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()