PCM_Report/check_waiting_state.py

87 lines
2.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#!/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()