修复路口诊断接口查询bug

This commit is contained in:
wangxu 2025-10-30 15:58:40 +08:00
parent 31f191cf4d
commit 8090e376ee
1 changed files with 13 additions and 11 deletions

View File

@ -112,7 +112,7 @@ def gen_avg_cross_delay_pb(cross_delay_data_list):
inroad_delay_info_dict[inroadid].append(inroad_item)
flow_delay_list, inroad_delay_pb_list = [], []
flow_delay_info_dict = {}
max_stop_times, min_stop_times = 0, 99999
max_stop_times, min_stop_times = 0, 999999999
for inroadid in inroad_delay_info_dict.keys():
road_delay_infos = inroad_delay_info_dict[inroadid]
inroad_sum_car_num, inroad_delay_time, inroad_stop_times, inroad_queue_len, inroad_speed, inroad_jam_index, inroad_park_time, inroad_high_park_percent, inroad_truck_percent, inroad_park_percent, inroad_move_speed, inroad_imbalance_index, inroad_std_flow, inroad_travel_time\
@ -148,10 +148,10 @@ def gen_avg_cross_delay_pb(cross_delay_data_list):
inroad_delay_info.delay_info.car_num = inroad_sum_car_num
inroad_delay_info.delay_info.delay_time = int(inroad_delay_time / inroad_sum_car_num)
inroad_delay_info.delay_info.stop_times = inroad_stop_times / inroad_sum_car_num
if stop_times > max_stop_times:
max_stop_times = stop_times
if stop_times < min_stop_times:
min_stop_times = stop_times
if inroad_delay_info.delay_info.stop_times > max_stop_times:
max_stop_times = inroad_delay_info.delay_info.stop_times
if inroad_delay_info.delay_info.stop_times < min_stop_times:
min_stop_times = inroad_delay_info.delay_info.stop_times
inroad_delay_info.delay_info.queue_len = int(inroad_queue_len / inroad_sum_car_num)
inroad_delay_info.delay_info.speed = int(inroad_speed / inroad_sum_car_num)
inroad_delay_info.delay_info.jam_index = inroad_jam_index / inroad_sum_car_num
@ -173,12 +173,13 @@ def gen_avg_cross_delay_pb(cross_delay_data_list):
for flow_delay_info in flow_delay_list:
xlink_id = flow_delay_info.xlink_id
turn_type = flow_delay_info.turn_type
if xlink_id not in flow_delay_info_dict:
flow_delay_info_dict[xlink_id] = [flow_delay_info]
flow_delay_info_dict[str(xlink_id) + '-' + str(turn_type)] = [flow_delay_info]
else:
flow_delay_info_dict[xlink_id].append(flow_delay_info)
for xlink_id in flow_delay_info_dict.keys():
flow_delay_infos = flow_delay_info_dict[xlink_id]
flow_delay_info_dict[str(xlink_id) + '-' + str(turn_type)].append(flow_delay_info)
for key in flow_delay_info_dict.keys():
flow_delay_infos = flow_delay_info_dict[key]
inroadid = flow_delay_infos[0].inroadid
turn_type = flow_delay_infos[0].turn_type
flow_sum_car_num, flow_delay_time, flow_stop_times, flow_queue_len, flow_speed, flow_jam_index, flow_park_time, flow_high_park_percent, flow_truck_percent, flow_park_percent, flow_move_speed, flow_imbalance_index, flow_std_flow, flow_travel_time \
@ -199,7 +200,7 @@ def gen_avg_cross_delay_pb(cross_delay_data_list):
# flow_imbalance_index += flow_delay_info.delay_info.imbalance_index * flow_delay_info.delay_info.car_num
flow_std_flow += flow_delay_info.delay_info.std_flow
flow_info = pb.xl_flow_delayinfo_t()
flow_info.xlink_id = xlink_id
flow_info.xlink_id = int(key.split('-')[0])
flow_info.inroadid = inroadid
flow_info.turn_type = turn_type
flow_info.delay_info.car_num = flow_sum_car_num
@ -327,7 +328,8 @@ def found_max_car_num_flow(inroad_car_num, inroad_info):
def query_cross_ledger_info(crossid, nodeid, area_id, userid):
ledger_url = f"http://120.53.125.169:7070/api/common/cross_ledger_detail?crossid={crossid}&crossno=&nodeid={nodeid}&area_id={area_id}&userid={userid}"
ledger_url = f"http://172.21.32.32:7070/api/common/cross_ledger_detail?crossid={crossid}&crossno=&nodeid={nodeid}&area_id={area_id}&userid={userid}"
# ledger_url = f"http://120.53.125.169:7070/api/common/cross_ledger_detail?crossid={crossid}&crossno=&nodeid={nodeid}&area_id={area_id}&userid={userid}"
headers = {"Content-Type": "application/json"}
cross_ledger_info = requests.get(ledger_url, headers=headers)
if cross_ledger_info.status_code != 200 or cross_ledger_info.json()['status'] != 0: