调整稼动率

This commit is contained in:
mgw
2025-04-16 11:12:04 +08:00
parent 3f940992be
commit 6cb5e909d4

View File

@@ -1441,6 +1441,8 @@ class Sf_Dashboard_Connect(http.Controller):
month_power_on_time = 0
today_power_on_time = 0
today_power_on_dict = {}
today_alarm_dict = {}
single_machine_dict = {}
today_data = []
month_data = []
@@ -1452,7 +1454,7 @@ class Sf_Dashboard_Connect(http.Controller):
month_alarm_time = 0
for order in orders:
time = datetime.strptime(order.date_finished, "%Y-%m-%d %H:%M:%S")
time = order.date_finished
if time >= today_start:
today_data.append(order)
if time >= month_start:
@@ -1515,6 +1517,7 @@ class Sf_Dashboard_Connect(http.Controller):
today_power_on_dict[item] = today_power_on_time
else:
today_power_on_time += 0
today_power_on_dict[item] = 0
print(total_power_on_time, month_power_on_time, today_power_on_time)
with conn.cursor() as cur:
@@ -1540,13 +1543,18 @@ class Sf_Dashboard_Connect(http.Controller):
today_data.append(record)
if alarm_start >= month_start:
month_data.append(record)
if today_data:
for today in today_data:
if today[0]:
if float(today[0]) >= 28800:
continue
today_alarm_time += float(today[0])
today_alarm_dict[item] = today_alarm_time
else:
today_alarm_time += 0.0
today_alarm_dict[item] = 0
else:
today_alarm_dict[item] = 0
for month in month_data:
if month[0]:
if float(month[0]) >= 28800:
@@ -1567,11 +1575,13 @@ class Sf_Dashboard_Connect(http.Controller):
else:
total_power_on_rate = 0
if month_power_on_time:
month_power_on_rate = (total_power_on_time - month_power_on_time - month_alarm_time) / month_power_on_time
month_power_on_rate = (total_power_on_time - month_power_on_time - month_alarm_time) / (
total_power_on_time - month_power_on_time)
else:
month_power_on_rate = 0
if today_power_on_time:
today_power_on_rate = (total_power_on_time - today_power_on_time - today_alarm_time) / today_power_on_time
today_power_on_rate = (total_power_on_time - today_power_on_time - today_alarm_time) / (
total_power_on_time - today_power_on_time)
else:
today_power_on_rate = 0
print("总开动率: %s" % total_power_on_rate)
@@ -1582,8 +1592,10 @@ class Sf_Dashboard_Connect(http.Controller):
print('===========', orders)
print(len(orders))
total_performance_rate = len(orders) * 30 * 60 / (total_power_on_time - total_alarm_time)
month_performance_rate = len(month_data) * 30 * 60 / (month_power_on_time - month_alarm_time)
today_performance_rate = len(today_data) * 30 * 60 / (today_power_on_time - today_alarm_time) if today_power_on_time != 0 else 0
month_performance_rate = len(month_data) * 30 * 60 / (
total_power_on_time - month_power_on_time - month_alarm_time)
today_performance_rate = len(today_data) * 30 * 60 / (
total_power_on_time - today_power_on_time - today_alarm_time) if today_power_on_time != 0 else 0
print("总性能率: %s" % total_performance_rate)
print("月性能率: %s" % month_performance_rate)
print("日性能率: %s" % today_performance_rate)
@@ -1602,15 +1614,20 @@ class Sf_Dashboard_Connect(http.Controller):
# 'month_utilization_rate': month_power_on_rate * month_performance_rate * month_pass_rate,
# 'today_utilization_rate': today_power_on_rate * today_performance_rate * today_pass_rate,
# }
print(machine_list)
print('111',today_power_on_dict)
print('222', today_alarm_dict)
for i in machine_list:
print(i)
single_machine_utilization_rate = total_power_on_time - today_power_on_dict[i] - today_alarm_dict[i] / (total_power_on_time - today_power_on_dict[i])
print('===========', single_machine_utilization_rate)
single_machine_dict[i] = single_machine_utilization_rate * today_performance_rate * today_pass_rate
res['data'] = {
'total_utilization_rate': total_power_on_rate * total_performance_rate * total_pass_rate,
'month_utilization_rate': month_power_on_rate * month_performance_rate * month_pass_rate,
'today_utilization_rate': today_power_on_rate * today_performance_rate * today_pass_rate,
'single_machine_dict': single_machine_dict
}
return json.dumps(res)