补充自动截图逻辑

This commit is contained in:
wangxu 2026-05-20 16:49:04 +08:00
parent be421d03b7
commit 1b392da58b
1 changed files with 9 additions and 33 deletions

View File

@ -110,19 +110,14 @@ def gen_cross_compare_report(params):
return json.dumps(make_common_res(12, '正在生成中,请勿重复提交')) return json.dumps(make_common_res(12, '正在生成中,请勿重复提交'))
with open(localfile_path, 'w') as f: with open(localfile_path, 'w') as f:
pass pass
doc1 = DocDocumentContrastCtx('9660') doc1 = DocDocumentContrastCtx(str(nodeid))
cut_image_params = { if cut_images == 1:
'crossid': crossid, doc1.cut_image = 1
'nodeid': nodeid, doc1.area_id = area_id
'area_id': area_id, doc1.crossid = crossid
'date_list': date_list, doc1.cross_name = cross_static_info['name']
'compare_date_list': compare_date_list, doc1.time_list = date_list
'query_type': query_type, doc1.tp = time_range
'time_range': time_range,
'weekdays': weekdays,
'userid': userid,
'cross_name': cross_static_info['name'],
}
# 必要数据获取 # 必要数据获取
cross_delay_data_list = db_cross.query_cross_delay_info(crossid, nodeid, date_list, tp_start) 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) avg_cross_delay_info = gen_avg_cross_delay_pb(cross_delay_data_list, weekdays)
@ -159,11 +154,6 @@ def gen_cross_compare_report(params):
item_detail = PartDetail() item_detail = PartDetail()
item_detail.detail = item item_detail.detail = item
doc1.tpl_data['part1_1'].table.append(item_detail) doc1.tpl_data['part1_1'].table.append(item_detail)
if cut_images == 1:
part1_data['cut_images'] = True
part1_data['cut_image_params'] = cut_image_params
part1_data['cut_image_params']['image_part'] = 'part1'
# todo 补充自动截图逻辑
if 'part2' in parts: if 'part2' in parts:
doc1.tpl_paragraph['part2']['visible'] = 1 doc1.tpl_paragraph['part2']['visible'] = 1
if 'part2_1' in parts: if 'part2_1' in parts:
@ -173,22 +163,12 @@ def gen_cross_compare_report(params):
doc1.tpl_data['part2_1'].item2 = part2_1_data['division'] doc1.tpl_data['part2_1'].item2 = part2_1_data['division']
doc1.tpl_data['part2_1'].item3 = part2_1_data['cross_model'] + '' + part2_1_data['cross_type'] doc1.tpl_data['part2_1'].item3 = part2_1_data['cross_model'] + '' + part2_1_data['cross_type']
doc1.tpl_data['part2_1'].item4 = part2_1_data['slc_company'] doc1.tpl_data['part2_1'].item4 = part2_1_data['slc_company']
if cut_images == 1:
part2_1_data['cut_images'] = True
part2_1_data['cut_image_params'] = cut_image_params
part2_1_data['cut_image_params']['image_part'] = 'part2_1'
# todo 补充自动截图逻辑
if 'part2_2' in parts: if 'part2_2' in parts:
doc1.tpl_paragraph['part2']['part2_2'] = 1 doc1.tpl_paragraph['part2']['part2_2'] = 1
part2_2_data = gen_compare_report_part2_2_data(road_flow_delay_infos, roads_dir_dict) part2_2_data = gen_compare_report_part2_2_data(road_flow_delay_infos, roads_dir_dict)
detail1 = PartDetail() detail1 = PartDetail()
detail1.detail = part2_2_data['detail'] detail1.detail = part2_2_data['detail']
doc1.tpl_data['part2_2'].table = [detail1] doc1.tpl_data['part2_2'].table = [detail1]
if cut_images == 1:
part2_2_data['cut_images'] = True
part2_2_data['cut_image_params'] = cut_image_params
part2_2_data['cut_image_params']['image_part'] = 'part2_2'
# todo 补充自动截图逻辑
if 'part2_3' in parts: if 'part2_3' in parts:
doc1.tpl_paragraph['part2']['part2_3'] = 1 doc1.tpl_paragraph['part2']['part2_3'] = 1
part2_3_data = gen_compare_report_part2_3_data(road_flow_turn_rate, avg_cross_delay_info, inroad_static_info_dict) part2_3_data = gen_compare_report_part2_3_data(road_flow_turn_rate, avg_cross_delay_info, inroad_static_info_dict)
@ -196,11 +176,6 @@ def gen_cross_compare_report(params):
detail1.detail = "根据车辆分流转向比分析,?进口道流量占比最大为??进口道流量占比最小为?。路口的主要车流方向为?,?。" detail1.detail = "根据车辆分流转向比分析,?进口道流量占比最大为??进口道流量占比最小为?。路口的主要车流方向为?,?。"
detail1.detail_value = [part2_3_data['max_src_dir'], part2_3_data['max_flow_rate'], part2_3_data['min_src_dir'], part2_3_data['min_flow_rate'], part2_3_data['main_flow_str'], part2_3_data['main_flow_detail']] detail1.detail_value = [part2_3_data['max_src_dir'], part2_3_data['max_flow_rate'], part2_3_data['min_src_dir'], part2_3_data['min_flow_rate'], part2_3_data['main_flow_str'], part2_3_data['main_flow_detail']]
doc1.tpl_data['part2_3'].table = [detail1] doc1.tpl_data['part2_3'].table = [detail1]
if cut_images == 1:
part2_3_data['cut_images'] = True
part2_3_data['cut_image_params'] = cut_image_params
part2_3_data['cut_image_params']['image_part'] = 'part2_3'
# todo 补充自动截图逻辑
if 'part3' in parts: if 'part3' in parts:
doc1.tpl_paragraph['part3']['visible'] = 1 doc1.tpl_paragraph['part3']['visible'] = 1
part3_data = gen_compare_report_part3_data(crossid, nodeid, area_id, time_range, tp_start, date_list, avg_cross_delay_info, roads_dir_dict, inroad_static_info_dict, cross_phase, is_peak, cross_ledger_info, weekdays) part3_data = gen_compare_report_part3_data(crossid, nodeid, area_id, time_range, tp_start, date_list, avg_cross_delay_info, roads_dir_dict, inroad_static_info_dict, cross_phase, is_peak, cross_ledger_info, weekdays)
@ -590,6 +565,7 @@ def query_collect_report_record(params):
if not str(area_id).lstrip('-').isdigit() or int(area_id) not in area_list: if not str(area_id).lstrip('-').isdigit() or int(area_id) not in area_list:
return json.dumps(make_common_res(5, '辖区id异常请检查后重试')) return json.dumps(make_common_res(5, '辖区id异常请检查后重试'))
report_type = check_param(params, 'report_type') report_type = check_param(params, 'report_type')
report_type = int(report_type)
if not report_type or report_type not in(0, 1, 2, 3): if not report_type or report_type not in(0, 1, 2, 3):
# 0 对比报告 ,其余为预留 # 0 对比报告 ,其余为预留
return json.dumps(make_common_res(7, '缺少报告类型,请刷新后重试')) return json.dumps(make_common_res(7, '缺少报告类型,请刷新后重试'))