修复路口管家巡检页面产品走查bug

This commit is contained in:
wangxu 2025-12-05 15:29:00 +08:00
parent 901f8b052d
commit a323d5f61f
2 changed files with 6 additions and 4 deletions

View File

@ -1614,8 +1614,8 @@ def gen_inroad_num_problems(road_delay_infos, inroad_static_info_dict, roads_dir
left_lane_num_half, straight_lane_num_half, right_lane_num_half = count_lsr_half(lane_info)
lane_num_info, count_num = count_lsr(lane_info)
sum_half_num = left_lane_num_half + straight_lane_num_half + right_lane_num_half
left_lane_num_rate = int(round(left_lane_num_half / sum_half_num, 2) * 100) if sum_half_num > 0 else 0
straight_lane_num_rate = int(round(straight_lane_num_half / sum_half_num, 2) * 100) if sum_half_num > 0 else 0
left_lane_num_rate = round(left_lane_num_half / sum_half_num, 2) * 100 if sum_half_num > 0 else 0
straight_lane_num_rate = round(straight_lane_num_half / sum_half_num, 2) * 100 if sum_half_num > 0 else 0
for turn_type in [0, 1]:
if turn_type not in turn_delay_dict.keys():
continue
@ -1627,7 +1627,7 @@ def gen_inroad_num_problems(road_delay_infos, inroad_static_info_dict, roads_dir
lane_num_rate = left_lane_num_rate
flow_car_num = turn_delay_dict[turn_type].delay_info.car_num
flow_rate = flow_car_num / road_car_num
if flow_rate > 0.2 and hour_car_num > 20 and lane_num_rate < 50:
if flow_rate > 0.2 and hour_car_num > 20 and lane_num_rate * 2 < flow_rate * 100:
if src_dir in err_src_dirs.keys():
err_src_dirs[src_dir].append({
'turn_type': turn_type_str,
@ -1657,7 +1657,7 @@ def gen_inroad_num_problems(road_delay_infos, inroad_static_info_dict, roads_dir
src_detail['child_detail'].append(
{
'turn_type': turn_type['turn_type'],
'text': '分流转向比过大(' + str(int(round(turn_type['flow_rate'], 2) * 100)) + '%),但分配的转向车道占比不足(' + str(int(round(turn_type['lane_num_rate'], 2))) + '%),分配车道资源不匹配'
'text': '分流转向比过大(' + str(int((turn_type['flow_rate']) * 100)) + '%),但分配的转向车道占比不足(' + str(int((turn_type['lane_num_rate']))) + '%),分配车道资源不匹配'
}
)
detail.append(

View File

@ -1715,6 +1715,8 @@ def gen_cross_problem_detail(routing_crosses, high_park_problems, too_many_stop_
phase_infos = phase_tp['problems'][crossid]
phase_list = []
for item in phase_infos:
if item['final_state_int'] in (4, 5):
continue
if item['level_color_int'] < phase_color:
phase_color = item['level_color_int']
if item['final_state_int'] < phase_final_state: