From 62cd60ec0606768484332b11624899533f7d9d22 Mon Sep 17 00:00:00 2001 From: mgw <1392924357@qq.com> Date: Mon, 24 Mar 2025 16:49:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=95=B0=E9=87=87=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_machine_connect/controllers/controllers.py | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/sf_machine_connect/controllers/controllers.py b/sf_machine_connect/controllers/controllers.py index 7eaac8aa..944eb5a0 100644 --- a/sf_machine_connect/controllers/controllers.py +++ b/sf_machine_connect/controllers/controllers.py @@ -1130,7 +1130,7 @@ class Sf_Dashboard_Connect(http.Controller): SELECT * FROM device_data WHERE device_name = %s AND time::date = CURRENT_DATE - AND device_state != '离线' + AND device_state in ('离线') ORDER BY time ASC LIMIT 1; """, (item,)) @@ -1143,7 +1143,7 @@ class Sf_Dashboard_Connect(http.Controller): SELECT * FROM device_data WHERE device_name = %s AND time::date = CURRENT_DATE - AND device_state != '离线' + AND device_state in ('离线') ORDER BY time DESC LIMIT 1; """, (item,)) @@ -1161,25 +1161,25 @@ class Sf_Dashboard_Connect(http.Controller): # 获取当月第一条记录(排除device_state等于‘离线’的记录) with conn.cursor() as cur: cur.execute(""" - SELECT * FROM device_data + SELECT * FROM device_datas WHERE device_name = %s - AND EXTRACT(YEAR FROM time) = EXTRACT(YEAR FROM CURRENT_DATE) - AND EXTRACT(MONTH FROM time) = EXTRACT(MONTH FROM CURRENT_DATE) - AND device_state != '离线' + AND time >= DATE_TRUNC('MONTH', CURRENT_DATE) + AND time < DATE_TRUNC('MONTH', CURRENT_DATE) + INTERVAL '1 MONTH' + AND device_state in ('离线') ORDER BY time ASC LIMIT 1; """, (item,)) first_month = fetch_result_as_dict(cur) - # print("当月第一条记录(非离线):", first_month) + # print("当月第一条记录:", first_month) - # 获取当月最新一条记录(排除device_state等于‘离线’的记录) + # 获取当月最新一条记录 with conn.cursor() as cur: cur.execute(""" SELECT * FROM device_data WHERE device_name = %s - AND EXTRACT(YEAR FROM time) = EXTRACT(YEAR FROM CURRENT_DATE) - AND EXTRACT(MONTH FROM time) = EXTRACT(MONTH FROM CURRENT_DATE) - AND device_state != '离线' + AND time >= DATE_TRUNC('MONTH', CURRENT_DATE) + AND time < DATE_TRUNC('MONTH', CURRENT_DATE) + INTERVAL '1 MONTH' + AND device_state in ('离线') ORDER BY time DESC LIMIT 1; """, (item,)) @@ -1200,7 +1200,7 @@ class Sf_Dashboard_Connect(http.Controller): cur.execute(""" SELECT * FROM device_data WHERE device_name = %s - AND device_state != '离线' + AND device_state in ('离线') ORDER BY time ASC LIMIT 1; """, (item,)) @@ -1212,7 +1212,7 @@ class Sf_Dashboard_Connect(http.Controller): cur.execute(""" SELECT * FROM device_data WHERE device_name = %s - AND device_state != '离线' + AND device_state in ('离线') ORDER BY time DESC LIMIT 1; """, (item,)) @@ -1290,7 +1290,7 @@ class Sf_Dashboard_Connect(http.Controller): cur.execute(""" SELECT * FROM device_data WHERE device_name = %s - AND device_state != '离线' AND process_time IS NOT NULL + AND device_state in ('离线') AND process_time IS NOT NULL ORDER BY time DESC LIMIT 1; """, (item,)) @@ -1299,7 +1299,7 @@ class Sf_Dashboard_Connect(http.Controller): cur.execute(""" SELECT * FROM device_data WHERE device_name = %s - AND device_state != '离线' AND time >= %s AND process_time IS NOT NULL + AND device_state in ('离线') AND time >= %s AND process_time IS NOT NULL ORDER BY time ASC LIMIT 1; """, (item, time_threshold))