修复路口对比报告bug

This commit is contained in:
wangxu 2026-05-22 14:44:36 +08:00
parent b86bd076b5
commit cbc09f1823
3 changed files with 5 additions and 5 deletions

View File

@ -97,7 +97,7 @@ def parse_comp_inroad_delay_infos(inroad_delay_infos, comp_inroad_delay_infos):
'item': '变化量', 'item': '变化量',
'service_level': '-' if item_data['service_level'] == '-' or comp_data['service_level'] == '-' else compare_level(comp_data['service_level'], item_data['service_level']), 'service_level': '-' if item_data['service_level'] == '-' or comp_data['service_level'] == '-' else compare_level(comp_data['service_level'], item_data['service_level']),
'stop_times': '-' if item_data['stop_times'] == '-' or comp_data['stop_times'] == '-' else round(comp_data['stop_times'] - item_data['stop_times'], 2), 'stop_times': '-' if item_data['stop_times'] == '-' or comp_data['stop_times'] == '-' else round(comp_data['stop_times'] - item_data['stop_times'], 2),
'high_park_percent': '-' if '-' in item_data['high_park_percent'] or '-' in comp_data['high_park_percent'] else str(int(float(item_data['high_park_percent'].replace('%', '')) - float(comp_data['high_park_percent'].replace('%', '')))) + '%', 'high_park_percent': '-' if '-' in item_data['high_park_percent'] or '-' in comp_data['high_park_percent'] else str(int(float(comp_data['high_park_percent'].replace('%', '')) - float(item_data['high_park_percent'].replace('%', '')))) + '%',
'imbalance_index': '-' if item_data['imbalance_index'] == '-' or comp_data['imbalance_index'] == '-' else round(item_data['imbalance_index'] - comp_data['imbalance_index'], 2), 'imbalance_index': '-' if item_data['imbalance_index'] == '-' or comp_data['imbalance_index'] == '-' else round(item_data['imbalance_index'] - comp_data['imbalance_index'], 2),
'park_time': '-' if item_data['park_time'] == '-' or comp_data['park_time'] == '-' else item_data['park_time'] - comp_data['park_time'], 'park_time': '-' if item_data['park_time'] == '-' or comp_data['park_time'] == '-' else item_data['park_time'] - comp_data['park_time'],
'delay_time': '-' if item_data['delay_time'] == '-' or comp_data['delay_time'] == '-' else comp_data['delay_time'] - item_data['delay_time'], 'delay_time': '-' if item_data['delay_time'] == '-' or comp_data['delay_time'] == '-' else comp_data['delay_time'] - item_data['delay_time'],

View File

@ -275,7 +275,7 @@ def gen_compare_report_part1_data(data_range, compare_date_range, time_range, cr
compare_key = 'comp_' + key compare_key = 'comp_' + key
if key == 'service_level': if key == 'service_level':
service_level_compare_res = compare_service_level(final_overview[key], final_overview[compare_key]) service_level_compare_res = compare_service_level(final_overview[key], final_overview[compare_key])
if service_level_compare_res and service_level_compare_res > 0: if service_level_compare_res and service_level_compare_res < 0:
service_level_compare_str = f"{index_dict[key]}{final_overview[compare_key]}提升为{final_overview[key]} 提升{service_level_compare_res}个等级;" service_level_compare_str = f"{index_dict[key]}{final_overview[compare_key]}提升为{final_overview[key]} 提升{service_level_compare_res}个等级;"
part1_data['data_list'].append(service_level_compare_str) part1_data['data_list'].append(service_level_compare_str)
elif key in ('jam_index', 'stop_times', 'high_park_percent', 'delay_time'): elif key in ('jam_index', 'stop_times', 'high_park_percent', 'delay_time'):
@ -467,7 +467,7 @@ def gen_compare_report_part5_data(part1_data, compared_inroad_delay_infos):
for key in ('service_level', 'stop_times', 'high_park_percent', 'speed', 'delay_time'): for key in ('service_level', 'stop_times', 'high_park_percent', 'speed', 'delay_time'):
if key == 'service_level': if key == 'service_level':
service_level_compare_res = compare_service_level(item_data[key], compare_data[key]) service_level_compare_res = compare_service_level(item_data[key], compare_data[key])
if service_level_compare_res and service_level_compare_res > 0: if service_level_compare_res and service_level_compare_res < 0:
service_level_compare_str = f"{index_dict[key]}{compare_data[key]}提升为{item_data[key]} 提升{service_level_compare_res}个等级;" service_level_compare_str = f"{index_dict[key]}{compare_data[key]}提升为{item_data[key]} 提升{service_level_compare_res}个等级;"
src_dir_data.append(service_level_compare_str) src_dir_data.append(service_level_compare_str)
elif key in ('stop_times', 'high_park_percent', 'delay_time'): elif key in ('stop_times', 'high_park_percent', 'delay_time'):

View File

@ -34,8 +34,8 @@ def compare_service_level(obj1, obj2):
priority_map = {'A': 0, 'B': 1, 'C': 2, 'D': 3, 'E': 4, 'F': 5} priority_map = {'A': 0, 'B': 1, 'C': 2, 'D': 3, 'E': 4, 'F': 5}
if obj1 == '-' or obj2 == '-': if obj1 == '-' or obj2 == '-':
return None return None
val1 = priority_map.get(obj1) val1 = priority_map.get(obj1) # d 3
val2 = priority_map.get(obj2) val2 = priority_map.get(obj2) # c 2
if val1 is None or val2 is None: if val1 is None or val2 is None:
return None return None