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