提交路口优化任务相关上线代码
This commit is contained in:
parent
43ba54f692
commit
16f549bf80
|
|
@ -68,12 +68,12 @@ def gen_cross_compare_report(params):
|
||||||
cut_images = check_param(params, 'cut_images')
|
cut_images = check_param(params, 'cut_images')
|
||||||
if not cut_images:
|
if not cut_images:
|
||||||
cut_images = 0
|
cut_images = 0
|
||||||
origin_phase_info = check_param(params, 'origin_phase_info')
|
origin_phase_info_list = check_param(params, 'origin_phase_info_list')
|
||||||
if not origin_phase_info:
|
if not origin_phase_info_list:
|
||||||
origin_phase_info = None
|
origin_phase_info_list = []
|
||||||
final_phase_info = check_param(params, 'final_phase_info')
|
final_phase_info_list = check_param(params, 'final_phase_info_list')
|
||||||
if not final_phase_info:
|
if not final_phase_info_list:
|
||||||
final_phase_info = None
|
final_phase_info_list = []
|
||||||
|
|
||||||
date_list4screen = transition_date_list4screen(compare_date_list)
|
date_list4screen = transition_date_list4screen(compare_date_list)
|
||||||
all_date_set = set()
|
all_date_set = set()
|
||||||
|
|
@ -120,7 +120,16 @@ def gen_cross_compare_report(params):
|
||||||
'download_url': g_cos_root + download_url
|
'download_url': g_cos_root + download_url
|
||||||
}
|
}
|
||||||
return json.dumps(res, ensure_ascii=False)
|
return json.dumps(res, ensure_ascii=False)
|
||||||
|
# 必要数据获取
|
||||||
|
cross_delay_data_list = db_cross.query_cross_delay_info(crossid, nodeid, date_list, tp_start)
|
||||||
|
avg_cross_delay_info = gen_avg_cross_delay_pb(cross_delay_data_list, weekdays)
|
||||||
|
if not avg_cross_delay_info:
|
||||||
|
return json.dumps(make_common_res(9, '当前所选日期范围内该评测时段无可用数据'))
|
||||||
|
comp_cross_delay_data_list = db_cross.query_cross_delay_info(crossid, nodeid, compare_date_list, tp_start)
|
||||||
|
avg_comp_cross_delay_info = gen_avg_cross_delay_pb(comp_cross_delay_data_list, weekdays)
|
||||||
|
if not avg_comp_cross_delay_info:
|
||||||
|
return json.dumps(make_common_res(10, '当前所选对比日期范围内该评测时段无可用数据'))
|
||||||
|
|
||||||
dir = os.path.dirname(os.path.abspath(__file__))
|
dir = os.path.dirname(os.path.abspath(__file__))
|
||||||
localfile_path = f'{dir}/../temp/{file_name}.lock'
|
localfile_path = f'{dir}/../temp/{file_name}.lock'
|
||||||
if os.path.exists(localfile_path):
|
if os.path.exists(localfile_path):
|
||||||
|
|
@ -214,6 +223,22 @@ def gen_cross_compare_report(params):
|
||||||
doc1.tpl_paragraph['part4']['part4_1'] = 1
|
doc1.tpl_paragraph['part4']['part4_1'] = 1
|
||||||
if 'part4_2' in parts:
|
if 'part4_2' in parts:
|
||||||
doc1.tpl_paragraph['part4']['part4_2'] = 1
|
doc1.tpl_paragraph['part4']['part4_2'] = 1
|
||||||
|
for item in origin_phase_info_list:
|
||||||
|
item_table1 = PartDetail()
|
||||||
|
item_table1.item1 = item['time_range']
|
||||||
|
item_table1.item2 = item['cycle']
|
||||||
|
item_table1.table1 = [item_stage['stage_name'] for item_stage in item['stages']]
|
||||||
|
item_table1.table2 = [item_stage[k] for item_stage in item['stages'] for k in ('green', 'yellow', 'allred')]
|
||||||
|
doc1.tpl_data['part4_2'].table1.append(item_table1)
|
||||||
|
|
||||||
|
for item in final_phase_info_list:
|
||||||
|
item_table2 = PartDetail()
|
||||||
|
item_table2.item1 = item['time_range']
|
||||||
|
item_table2.item2 = item['cycle']
|
||||||
|
item_table2.table1 = [item_stage['stage_name'] for item_stage in item['stages']]
|
||||||
|
item_table2.table2 = [item_stage[k] for item_stage in item['stages'] for k in ('green', 'yellow', 'allred')]
|
||||||
|
doc1.tpl_data['part4_2'].table2.append(item_table2)
|
||||||
|
|
||||||
if 'part5' in parts:
|
if 'part5' in parts:
|
||||||
doc1.tpl_paragraph['part5']['visible'] = 1
|
doc1.tpl_paragraph['part5']['visible'] = 1
|
||||||
part5_data = gen_compare_report_part5_data(part1_data, compared_inroad_delay_infos)
|
part5_data = gen_compare_report_part5_data(part1_data, compared_inroad_delay_infos)
|
||||||
|
|
@ -669,20 +694,53 @@ def query_cross_optimize_task_list(params):
|
||||||
return json.dumps(make_common_res(6, '缺少crossid, 请刷新后重试'))
|
return json.dumps(make_common_res(6, '缺少crossid, 请刷新后重试'))
|
||||||
|
|
||||||
records = db_task.query_cross_optimize_task_records(nodeid, area_id, crossid)
|
records = db_task.query_cross_optimize_task_records(nodeid, area_id, crossid)
|
||||||
|
res = make_common_res(0, 'ok')
|
||||||
|
res['data'] = {}
|
||||||
for item in records:
|
for item in records:
|
||||||
|
task_no = item['task_no']
|
||||||
|
task_stage = item['task_stage']
|
||||||
|
if not task_stage or len(task_stage) < 7 or int(task_stage[2]) < 2:
|
||||||
|
continue
|
||||||
|
if task_no not in res['data'].keys():
|
||||||
|
res['data'][task_no] = {
|
||||||
|
'task_no': task_no,
|
||||||
|
'task_name': item['task_name'],
|
||||||
|
'plan_begin_time': item['plan_begin_time'],
|
||||||
|
'plan_end_time': item['plan_end_time'],
|
||||||
|
'executor': item['executor'],
|
||||||
|
'task_stage': item['task_stage'],
|
||||||
|
'check_result_time': item['check_result_time'].strftime('%Y-%m-%d %H:%M:%S') if item['check_result_time'] else '',
|
||||||
|
'phase_infos': []
|
||||||
|
}
|
||||||
|
schedule_id = item['schedule_id']
|
||||||
|
weekdays = item['weekdays']
|
||||||
|
weekdays_str = item['weekdays_str']
|
||||||
|
time_range = item['time_range']
|
||||||
origin_phase_detail = item['origin_phase_detail']
|
origin_phase_detail = item['origin_phase_detail']
|
||||||
if origin_phase_detail:
|
if origin_phase_detail:
|
||||||
origin_phase_detail = json.loads(origin_phase_detail)
|
origin_phase_detail = json.loads(origin_phase_detail)
|
||||||
|
origin_phase_detail['schedule_id'] = schedule_id
|
||||||
|
origin_phase_detail['weekdays'] = weekdays
|
||||||
|
origin_phase_detail['weekdays_str'] = weekdays_str
|
||||||
|
origin_phase_detail['time_range'] = time_range
|
||||||
optimize_phase_detail = item['optimize_phase_detail']
|
optimize_phase_detail = item['optimize_phase_detail']
|
||||||
if optimize_phase_detail:
|
if optimize_phase_detail:
|
||||||
optimize_phase_detail = json.loads(optimize_phase_detail)
|
optimize_phase_detail = json.loads(optimize_phase_detail)
|
||||||
|
optimize_phase_detail['schedule_id'] = schedule_id
|
||||||
|
optimize_phase_detail['weekdays'] = weekdays
|
||||||
|
optimize_phase_detail['weekdays_str'] = weekdays_str
|
||||||
|
optimize_phase_detail['time_range'] = time_range
|
||||||
phase_tiny_adjust_detail = item['phase_tiny_adjust_detail']
|
phase_tiny_adjust_detail = item['phase_tiny_adjust_detail']
|
||||||
if phase_tiny_adjust_detail:
|
if phase_tiny_adjust_detail:
|
||||||
phase_tiny_adjust_detail = json.loads(phase_tiny_adjust_detail)
|
phase_tiny_adjust_detail = json.loads(phase_tiny_adjust_detail)
|
||||||
item['origin_phase_detail'] = origin_phase_detail
|
phase_tiny_adjust_detail['schedule_id'] = schedule_id
|
||||||
item['optimize_phase_detail'] = optimize_phase_detail
|
phase_tiny_adjust_detail['weekdays'] = weekdays
|
||||||
item['phase_tiny_adjust_detail'] = phase_tiny_adjust_detail
|
phase_tiny_adjust_detail['weekdays_str'] = weekdays_str
|
||||||
item['check_result_time'] = item['check_result_time'].strftime('%Y-%m-%d %H:%M:%S') if item['check_result_time'] else ''
|
phase_tiny_adjust_detail['time_range'] = time_range
|
||||||
res = make_common_res(0, 'ok')
|
|
||||||
res['data'] = records
|
res['data'][task_no]['phase_infos'].append({
|
||||||
|
'origin_phase_detail': origin_phase_detail,
|
||||||
|
'optimize_phase_detail': optimize_phase_detail,
|
||||||
|
'phase_tiny_adjust_detail': phase_tiny_adjust_detail
|
||||||
|
})
|
||||||
return json.dumps(res, ensure_ascii=False)
|
return json.dumps(res, ensure_ascii=False)
|
||||||
|
|
|
||||||
|
|
@ -1188,7 +1188,7 @@ class TaskDbHelper(TableDbHelperBase):
|
||||||
|
|
||||||
def query_cross_optimize_task_records(self, nodeid, area_id, crossid):
|
def query_cross_optimize_task_records(self, nodeid, area_id, crossid):
|
||||||
sql = """
|
sql = """
|
||||||
select t2.task_no, t1.task_name,t1.plan_begin_time, t1.plan_end_time, t1.executor, t2.task_stage,t2.stage1_info_ids, t3.origin_phase_detail, t3.optimize_phase_detail, t3.phase_tiny_adjust_detail, t2.stage3_issue_time, t2.check_result_time from
|
select t2.task_no, t1.task_name,t1.plan_begin_time, t1.plan_end_time, t1.executor, t2.task_stage,t2.stage1_info_ids, t3.origin_phase_detail, t3.optimize_phase_detail, t3.phase_tiny_adjust_detail, t2.stage3_issue_time, t2.check_result_time, t3.schedule_id, t3.weekdays, t3.weekdays_str, t3.time_range from
|
||||||
(select * from task.task where nodeid = %s and area_id = %s and crossids = '%s' and task_type_class = 2 and record_state != 1) t1 inner join
|
(select * from task.task where nodeid = %s and area_id = %s and crossids = '%s' and task_type_class = 2 and record_state != 1) t1 inner join
|
||||||
(select * from task.cross_optimize_task_additional_detail where crossid = '%s') t2 inner join
|
(select * from task.cross_optimize_task_additional_detail where crossid = '%s') t2 inner join
|
||||||
(select * from task.cross_optimize_task_phase_info) t3
|
(select * from task.cross_optimize_task_phase_info) t3
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue