调整可用率

This commit is contained in:
mgw
2025-04-22 10:55:21 +08:00
parent 5886b4e132
commit 4234494f08

View File

@@ -1688,12 +1688,14 @@ class Sf_Dashboard_Connect(http.Controller):
FROM device_data
WHERE device_name = %s
AND power_on_time IS NOT NULL
AND time::date = CURRENT_DATE -- ✅ 更高效的写法
AND time >= CURRENT_DATE
AND time < CURRENT_DATE + INTERVAL '1 day'
ORDER BY time ASC
LIMIT 1
);
""", (item, item, item))
results = cur.fetchall()
logging.info('====================%s' % results)
if len(results) >= 1:
total_power_on_time += convert_to_seconds(results[0][0])
else:
@@ -1704,10 +1706,16 @@ class Sf_Dashboard_Connect(http.Controller):
month_power_on_time += 0
if len(results) >= 3:
today_power_on_time += convert_to_seconds(results[2][0])
today_power_on_dict[item] = today_power_on_time
# today_power_on_dict[item] = today_power_on_time
else:
today_power_on_time += 0
today_power_on_dict[item] = 0
today_power_on_time += convert_to_seconds(results[0][0])
# today_power_on_dict[item] = 0
if results[0][0] == '0H0M':
logging.info('=woshide=%s' % results[0][0])
logging.info(type(results[0][0]))
total_power_on_time += convert_to_seconds(results[1][0])
today_power_on_time += convert_to_seconds(results[1][0])
with conn.cursor() as cur:
cur.execute("""
@@ -1722,9 +1730,9 @@ class Sf_Dashboard_Connect(http.Controller):
for record in results:
if record[0]:
if float(record[0]) >= 28800:
if float(record[0]) >= 86400:
continue
total_alarm_time += float(record[0])
total_alarm_time += abs(float(record[0]))
else:
total_alarm_time += 0.0
alarm_start = datetime.strptime(record[1], "%Y-%m-%d %H:%M:%S")
@@ -1737,7 +1745,7 @@ class Sf_Dashboard_Connect(http.Controller):
if today[0]:
if float(today[0]) >= 28800:
continue
today_alarm_time += float(today[0])
today_alarm_time += abs(float(today[0]))
today_alarm_dict[item] = today_alarm_time
else:
today_alarm_time += 0.0
@@ -1748,12 +1756,14 @@ class Sf_Dashboard_Connect(http.Controller):
if month[0]:
if float(month[0]) >= 28800:
continue
month_alarm_time += float(month[0])
month_alarm_time += abs(float(month[0]))
else:
month_alarm_time += 0.0
conn.close()
logging.info('在线时间总月日=============%s, %s, %s' % (total_power_on_time, month_power_on_time, today_power_on_time))
logging.info('报警时间总月日=============%s, %s, %s' % (total_alarm_time, month_alarm_time, today_alarm_time))
# 计算时间开动率(累计、月、日)
if total_power_on_time: