From 6fbee8b7d5651f0806de0d71463bb8c554a8edbb Mon Sep 17 00:00:00 2001 From: wangxu <1318272526@qq.com> Date: Wed, 5 Nov 2025 18:04:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=B7=AF=E5=8F=A3=E6=8C=87?= =?UTF-8?q?=E6=A0=87=E5=8F=98=E5=8C=96=E8=B6=8B=E5=8A=BF=E4=B8=AD=E5=B0=8F?= =?UTF-8?q?=E6=97=B6=E7=BA=A7=E6=95=B0=E6=8D=AE=E8=8E=B7=E5=8F=96=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/cross_evaluate_worker.py | 23 ++++++++++++++++------- app/eva_common.py | 2 +- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/app/cross_evaluate_worker.py b/app/cross_evaluate_worker.py index 09de635..6e44ced 100644 --- a/app/cross_evaluate_worker.py +++ b/app/cross_evaluate_worker.py @@ -246,9 +246,9 @@ def query_cross_index_trend_controller(params): area_list = [int(row['area_id']) for row in area_list] if int(area_id) not in area_list: return json.dumps(make_common_res(6, '用户信息异常')) - query_date = check_param(params, 'query_date') - if not query_date: - return json.dumps(make_common_res(7, '缺少查询日期,请选择查询日期')) + date_list = check_param(params, 'date_list') + if not date_list or len(date_list) < 1: + return json.dumps(make_common_res(7, '缺少日期参数,请最少选择一天作为查询日期')) time_range = check_param(params, 'time_range') if not time_range: return json.dumps(make_common_res(8, '缺少时段范围,请选择时段范围')) @@ -262,7 +262,6 @@ def query_cross_index_trend_controller(params): elif query_type == 2: tp_start = 'h' + str(tp_start) - prev_date = (datetime.strptime(query_date, '%Y%m%d') - timedelta(days=1)).strftime('%Y%m%d') month_ago_date = (datetime.now().date() - timedelta(days=30)).strftime('%Y%m%d') now_prev_date = (datetime.now().date() - timedelta(days=1)).strftime('%Y%m%d') month_date_list = generate_date_range(month_ago_date, now_prev_date) @@ -276,9 +275,19 @@ def query_cross_index_trend_controller(params): roads_dir_dict = gen_road_dir_dict(cross_ledger_info) # 查询前一天的小时级别数据 - hours_data = db_cross.query_cross_delay_whole_day_hours(crossid, nodeid, query_date) - hour_pb_list = parse_data2pb(hours_data) - hours_data_dict = parse_single_cross_delay_info(crossid, nodeid, hour_pb_list, 'hour', roads_dir_dict) + hours_data_list = [] + for tp in ['h0', 'h100', 'h200', 'h300', 'h400', 'h500', 'h600', 'h700', 'h800', 'h900', 'h1000', 'h1100', 'h1200', 'h1300', 'h1400', 'h1500', 'h1600', 'h1700', 'h1800', 'h1900', 'h2000', 'h2100', 'h2200', 'h2300']: + hour_data = db_cross.query_cross_delay_info(crossid, nodeid, date_list, tp) + hour_cross_delay_info = gen_avg_cross_delay_pb(hour_data) + hours_data_list.append({ + 'day': date_list[0] + '-' + date_list[-1], + 'tp_start': tp_start, + 'tp_end': tp_end, + 'data': hour_cross_delay_info + }) + # hours_data = db_cross.query_cross_delay_whole_day_hours(crossid, nodeid, query_date) + # hour_pb_list = parse_data2pb(hours_data) + hours_data_dict = parse_single_cross_delay_info(crossid, nodeid, hours_data_list, 'hour', roads_dir_dict) hours_data_with_change_rate = calc_single_day_delay_info_change_rate(hours_data_dict) # 查询近30天的数据 days_data = db_cross.query_cross_delay_info(crossid, nodeid, month_date_list, tp_start) diff --git a/app/eva_common.py b/app/eva_common.py index 731f891..791d139 100644 --- a/app/eva_common.py +++ b/app/eva_common.py @@ -393,7 +393,7 @@ def gen_cross_static_info(crossid, nodeid, area_id, cross_ledger_info_dict): 'reversible_lanes_info': reversible_lanes_info, 'outside_left': outside_left } - lane_nums_dict[dir] = [[dir_str_dict[dir] + '进口', roads[dir]['entry_lane_num'], dir_str_dict[src_reverse[dir]] + '出口', roads[src_reverse[dir]]['exit_lane_num']] if src_reverse[dir] in roads.keys() else '-'] + lane_nums_dict[dir] = [[dir_str_dict[dir] + '进口', roads[dir]['entry_lane_num'], dir_str_dict[src_reverse[dir]] + '出口', roads[src_reverse[dir]]['exit_lane_num'] if src_reverse[dir] in roads.keys() else '-']] if dir_length != '-': sum_length += dir_length length_info[dir] = dir_length