From 4234494f08331a331317c19e6a092f51171dca8a Mon Sep 17 00:00:00 2001 From: mgw <1392924357@qq.com> Date: Tue, 22 Apr 2025 10:55:21 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=8F=AF=E7=94=A8=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_machine_connect/controllers/controllers.py | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/sf_machine_connect/controllers/controllers.py b/sf_machine_connect/controllers/controllers.py index e2e0b871..92dc99c7 100644 --- a/sf_machine_connect/controllers/controllers.py +++ b/sf_machine_connect/controllers/controllers.py @@ -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: