diff --git a/sf_machine_connect/controllers/controllers.py b/sf_machine_connect/controllers/controllers.py index 92dc99c7..a6eb4100 100644 --- a/sf_machine_connect/controllers/controllers.py +++ b/sf_machine_connect/controllers/controllers.py @@ -1298,7 +1298,7 @@ class Sf_Dashboard_Connect(http.Controller): conn = psycopg2.connect(**db_config) # 获取请求的机床数据 machine_list = ast.literal_eval(kw['machine_list']) - time_threshold = datetime.now() - timedelta(days=1) + time_threshold = datetime.now().replace(hour=0, minute=0, second=0, microsecond=0) alarm_last_24_time = 0.0 alarm_all_time = 0.0 @@ -1327,8 +1327,8 @@ class Sf_Dashboard_Connect(http.Controller): cur.execute(""" SELECT * FROM device_data WHERE device_name = %s - AND device_state in ('待机', '警告', '运行中') AND time >= %s AND process_time IS NOT NULL - ORDER BY time ASC + AND device_state in ('待机', '警告', '运行中') AND time <= %s AND process_time IS NOT NULL + ORDER BY time DESC LIMIT 1; """, (item, time_threshold)) last_24_time = fetch_result_as_dict(cur) @@ -1348,20 +1348,21 @@ class Sf_Dashboard_Connect(http.Controller): alarm_last_24_nums = [] with conn.cursor() as cur: cur.execute(""" - SELECT DISTINCT ON (alarm_start_time) alarm_time, alarm_start_time + SELECT DISTINCT ON (alarm_start_time, alarm_time) alarm_time, alarm_start_time FROM device_data WHERE device_name = %s - AND alarm_start_time IS NOT NULL AND time >= %s; + AND alarm_start_time IS NOT NULL AND alarm_start_time::timestamp >= %s; """, (item, time_threshold)) results = cur.fetchall() + logging.info("results============:%s" % results) for result in results: alarm_last_24_nums.append(result[1]) if result[0]: if float(result[0]) >= 28800: continue - alarm_last_24_time += float(result[0]) + alarm_last_24_time = float(result[0]) else: - alarm_last_24_time += 0.0 + alarm_last_24_time = 0.0 alarm_all_nums = [] with conn.cursor() as cur: