From d84758232e79ed858deb90d37d1123732189df01 Mon Sep 17 00:00:00 2001
From: mgw <1392924357@qq.com>
Date: Fri, 27 Sep 2024 09:20:19 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=80=BC=E4=B8=BA=E7=A9=BA?=
=?UTF-8?q?=E6=97=B6=E7=9A=84=E9=80=BB=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
sf_machine_connect/controllers/controllers.py | 22 +++++++++++++++----
.../views/maintenance_equipment_oee_views.xml | 6 ++---
2 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/sf_machine_connect/controllers/controllers.py b/sf_machine_connect/controllers/controllers.py
index b427aa5c..f38f473b 100644
--- a/sf_machine_connect/controllers/controllers.py
+++ b/sf_machine_connect/controllers/controllers.py
@@ -873,7 +873,10 @@ class Sf_Dashboard_Connect(http.Controller):
alarm_count = []
for row in result2:
alarm_count.append(row[1])
- total_alarm_time += abs(float(row[0]))
+ if row[0]:
+ total_alarm_time += abs(float(row[0]))
+ else:
+ total_alarm_time += 0.0
if len(list(set(alarm_count))) == 1:
if list(set(alarm_count))[0] is None:
alarm_count_num = 0
@@ -1245,7 +1248,12 @@ class Sf_Dashboard_Connect(http.Controller):
columns = [desc[0] for desc in cursor.description]
return dict(zip(columns, cursor.fetchone())) if cursor.rowcount != 0 else None
+ # 获取当前时间的时间戳
+ current_timestamp = datetime.now().timestamp()
for item in machine_list:
+ euipment_obj = request.env['maintenance.equipment'].sudo().search([('code', '=', item)])
+ # 机床上线时间段
+ first_online_duration = current_timestamp - euipment_obj.first_online_time.timestamp()
with conn.cursor() as cur:
cur.execute("""
SELECT * FROM device_data
@@ -1259,7 +1267,7 @@ class Sf_Dashboard_Connect(http.Controller):
cur.execute("""
SELECT * FROM device_data
WHERE device_name = %s
- AND device_state != '离线' AND time >= %s
+ AND device_state != '离线' AND time >= %s AND process_time IS NOT NULL
ORDER BY time ASC
LIMIT 1;
""", (item, time_threshold))
@@ -1274,7 +1282,12 @@ class Sf_Dashboard_Connect(http.Controller):
""", (item, time_threshold))
results = cur.fetchall()
for result in results:
- alarm_last_24_time += float(result[0])
+ if result[0]:
+ if float(result[0]) >= 1000:
+ continue
+ alarm_last_24_time += float(result[0])
+ else:
+ alarm_last_24_time += 0.0
# 返回数据
res['data'][item] = {
'wait_time': last_all_time['run_time'] if last_all_time['run_time'] is not None else 0,
@@ -1282,7 +1295,8 @@ class Sf_Dashboard_Connect(http.Controller):
'cut_24_time': last_24_time['process_time'] if last_24_time['process_time'] is not None else 0,
'power_on_time': last_all_time['power_on_time'] if last_all_time['power_on_time'] is not None else 0,
'power_on_24_time': last_24_time['power_on_time'] if last_24_time['power_on_time'] is not None else 0,
- 'alarm_last_24_time': alarm_last_24_time
+ 'alarm_last_24_time': alarm_last_24_time,
+ 'first_online_time': first_online_duration,
}
conn.close()
diff --git a/sf_maintenance/views/maintenance_equipment_oee_views.xml b/sf_maintenance/views/maintenance_equipment_oee_views.xml
index b798b0ab..22423be7 100644
--- a/sf_maintenance/views/maintenance_equipment_oee_views.xml
+++ b/sf_maintenance/views/maintenance_equipment_oee_views.xml
@@ -95,9 +95,9 @@
-
-
-
+
+
+