增加24小时的运行数据
This commit is contained in:
@@ -467,7 +467,8 @@ class Sf_Dashboard_Connect(http.Controller):
|
|||||||
pass_rate = 1
|
pass_rate = 1
|
||||||
if pass_nums:
|
if pass_nums:
|
||||||
pass_rate = round(
|
pass_rate = round(
|
||||||
(len(pass_nums) / detection_data if len(plan_data_finish_orders) > 0 else 0), 3)
|
# (len(pass_nums) / detection_data if len(plan_data_finish_orders) > 0 else 0), 3)
|
||||||
|
(len(pass_nums) / len(plan_data_finish_orders) if len(plan_data_finish_orders) > 0 else 0), 3)
|
||||||
|
|
||||||
# 返工率
|
# 返工率
|
||||||
rework_rate = round(
|
rework_rate = round(
|
||||||
@@ -507,8 +508,9 @@ class Sf_Dashboard_Connect(http.Controller):
|
|||||||
'plan_data_progress_deviation': plan_data_progress_deviation,
|
'plan_data_progress_deviation': plan_data_progress_deviation,
|
||||||
'plan_data_rework_counts': plan_data_rework_counts,
|
'plan_data_rework_counts': plan_data_rework_counts,
|
||||||
'on_time_rate': on_time_rate,
|
'on_time_rate': on_time_rate,
|
||||||
'detection_data': detection_data,
|
# 'detection_data': detection_data,
|
||||||
'pass_rate': pass_rate
|
'detection_data': plan_data_finish_counts,
|
||||||
|
'pass_rate': (plan_data_finish_counts - plan_data_fault_counts) / plan_data_finish_counts
|
||||||
}
|
}
|
||||||
res['data'][line] = data
|
res['data'][line] = data
|
||||||
|
|
||||||
@@ -1229,6 +1231,7 @@ class Sf_Dashboard_Connect(http.Controller):
|
|||||||
conn = psycopg2.connect(**db_config)
|
conn = psycopg2.connect(**db_config)
|
||||||
# 获取请求的机床数据
|
# 获取请求的机床数据
|
||||||
machine_list = ast.literal_eval(kw['machine_list'])
|
machine_list = ast.literal_eval(kw['machine_list'])
|
||||||
|
time_threshold = datetime.now() - timedelta(days=1)
|
||||||
|
|
||||||
def fetch_result_as_dict(cursor):
|
def fetch_result_as_dict(cursor):
|
||||||
"""辅助函数:将查询结果转为字典"""
|
"""辅助函数:将查询结果转为字典"""
|
||||||
@@ -1238,18 +1241,29 @@ class Sf_Dashboard_Connect(http.Controller):
|
|||||||
for item in machine_list:
|
for item in machine_list:
|
||||||
with conn.cursor() as cur:
|
with conn.cursor() as cur:
|
||||||
cur.execute("""
|
cur.execute("""
|
||||||
SELECT * FROM device_data
|
SELECT * FROM device_data
|
||||||
WHERE device_name = %s
|
WHERE device_name = %s
|
||||||
AND device_state != '离线'
|
AND device_state != '离线'
|
||||||
ORDER BY time DESC
|
ORDER BY time DESC
|
||||||
LIMIT 1;
|
LIMIT 1;
|
||||||
""", (item,))
|
""", (item,))
|
||||||
last_all_time = fetch_result_as_dict(cur)
|
last_all_time = fetch_result_as_dict(cur)
|
||||||
|
with conn.cursor() as cur:
|
||||||
|
cur.execute("""
|
||||||
|
SELECT * FROM device_data
|
||||||
|
WHERE device_name = %s
|
||||||
|
AND device_state != '离线' AND time >= %s
|
||||||
|
ORDER BY time ASC
|
||||||
|
LIMIT 1;
|
||||||
|
""", (item, time_threshold))
|
||||||
|
last_24_time = fetch_result_as_dict(cur)
|
||||||
# 返回数据
|
# 返回数据
|
||||||
res['data'][item] = {
|
res['data'][item] = {
|
||||||
'wait_time': last_all_time['run_time'] if last_all_time['run_time'] is not None else 0,
|
'wait_time': last_all_time['run_time'] if last_all_time['run_time'] is not None else 0,
|
||||||
'cut_time': last_all_time['process_time'] if last_all_time['process_time'] is not None else 0,
|
'cut_time': last_all_time['process_time'] if last_all_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
|
'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
|
||||||
}
|
}
|
||||||
|
|
||||||
conn.close()
|
conn.close()
|
||||||
|
|||||||
Reference in New Issue
Block a user