修复实景勘察任务产品走查bug
This commit is contained in:
parent
25649bc8da
commit
5d3c40988e
|
|
@ -485,3 +485,32 @@ def clean_dict_nan(obj, default_value=None):
|
|||
return default_value
|
||||
|
||||
return obj
|
||||
|
||||
|
||||
def has_duplicate_dates(range1_start, range1_end, range2_start, range2_end):
|
||||
"""
|
||||
判定两个日期范围是否存在重复的日期
|
||||
参数:
|
||||
range1_start: 第一个日期范围的开始日期(格式 YYYYMMDD)
|
||||
range1_end: 第一个日期范围的结束日期(格式 YYYYMMDD)
|
||||
range2_start: 第二个日期范围的开始日期(格式 YYYYMMDD)
|
||||
range2_end: 第二个日期范围的结束日期(格式 YYYYMMDD)
|
||||
返回:
|
||||
tuple: (重复的日期列表, 是否重复)
|
||||
"""
|
||||
if range1_end == '-':
|
||||
range1_end = datetime.now().strftime("%Y%m%d")
|
||||
try:
|
||||
# 生成两个日期范围内的所有日期
|
||||
dates1 = generate_date_range(range1_start, range1_end)
|
||||
dates2 = generate_date_range(range2_start, range2_end)
|
||||
|
||||
# 找出两个集合的交集(重复的日期)
|
||||
duplicate_dates = list(set(dates1) & set(dates2))
|
||||
|
||||
# 返回结果
|
||||
return len(duplicate_dates) > 0
|
||||
|
||||
except ValueError as e:
|
||||
print(f"日期格式错误: {e}")
|
||||
return False
|
||||
|
|
@ -256,8 +256,7 @@ def query_cross_survey_job_list(params):
|
|||
if keyword and keyword != '':
|
||||
job_list = find_job_info(keyword, job_list)
|
||||
if start_date and start_date != '' and end_date and end_date != '':
|
||||
job_list = list(filter(lambda item: str(item['end_day']) > str(end_date), job_list))
|
||||
job_list = list(filter(lambda item: str(item['start_day']) < str(start_date), job_list))
|
||||
job_list = list(filter(lambda item: str(item['end_day']) <= str(end_date) or str(item['start_day']) >= str(start_date) or (item['complete_day'] != '-' and str(start_date) <= str(item['complete_day']) <= str(end_date)), job_list))
|
||||
if job_state and job_state != -1:
|
||||
job_list = list(filter(lambda item: item['status'] == job_state, job_list))
|
||||
job_list = sorted(job_list, key=lambda item: item['update_time'], reverse=True)
|
||||
|
|
@ -399,8 +398,7 @@ def query_cross_survey_result(params):
|
|||
done_inroads_list = done_inroads.split('|')
|
||||
done_src_dir_list = []
|
||||
for item in done_inroads_list:
|
||||
if item.split(':')[1] == '2':
|
||||
done_src_dir_list.append(item.split(':')[0])
|
||||
done_src_dir_list.append(item.split(':')[0])
|
||||
# 路口静态信息及台账信息
|
||||
cross_ledger_info_dict = query_cross_ledger_info(crossid, nodeid, area_id, userid)
|
||||
if not cross_ledger_info_dict:
|
||||
|
|
@ -529,11 +527,16 @@ def query_cross_survey_pngs(params):
|
|||
if not crossid:
|
||||
return json.dumps(make_common_res(6, '缺少路口id,请刷新后重试'))
|
||||
|
||||
cross_roads_dir_dict = gen_crossids_roads_dir_dict_by_mysql([crossid], nodeid)
|
||||
road_src_dict = cross_roads_dir_dict[crossid]
|
||||
wave_cross_survey_result = query_wave_cross_survey_result(userid, crossid)
|
||||
existed_jobs_list = db_tmnet.query_cross_survey_job(crossid, area_id)
|
||||
cross_png_res = {}
|
||||
for src_dir in road_src_dict:
|
||||
cross_png_res[src_dir] = wave_cross_survey_result[src_dir]
|
||||
if not existed_jobs_list:
|
||||
res = make_common_res(0, 'ok')
|
||||
res['data'] = wave_cross_survey_result
|
||||
res['data'] = cross_png_res
|
||||
return json.dumps(res)
|
||||
|
||||
job_list = sorted(existed_jobs_list, key=lambda x: x['create_time'], reverse=True)
|
||||
|
|
@ -555,8 +558,6 @@ def query_cross_survey_pngs(params):
|
|||
continue
|
||||
item_key = 'csr_' + crossid + '_' + str(jobid) + '_' + item.split(':')[0]
|
||||
usable_src_keys[item.split(':')[0]] = item_key
|
||||
cross_roads_dir_dict = gen_crossids_roads_dir_dict_by_mysql([crossid], nodeid)
|
||||
road_src_dict = cross_roads_dir_dict[crossid]
|
||||
for src_dir in usable_src_keys.keys():
|
||||
item_key = usable_src_keys[src_dir]
|
||||
item_data = db_cross.query_csr_data(nodeid, item_key, crossid)
|
||||
|
|
@ -586,9 +587,9 @@ def query_cross_survey_pngs(params):
|
|||
'image_location': image_location,
|
||||
'dist': dist
|
||||
})
|
||||
wave_cross_survey_result[src_dir] = get_cross_png(image_list)
|
||||
cross_png_res[src_dir] = get_cross_png(image_list)
|
||||
res = make_common_res(0, 'ok')
|
||||
res['data'] = wave_cross_survey_result
|
||||
res['data'] = cross_png_res
|
||||
return json.dumps(res)
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue