优化任务列表查询逻辑,提高接口响应效率
This commit is contained in:
parent
662e52593f
commit
a7d4cc27ef
|
|
@ -195,7 +195,7 @@ def do_query_task_list(params):
|
||||||
task_info['comment'] = comment_list
|
task_info['comment'] = comment_list
|
||||||
if task_info['task_type_class'] == 1:
|
if task_info['task_type_class'] == 1:
|
||||||
item_task_no = task_info['taskno']
|
item_task_no = task_info['taskno']
|
||||||
ledger_task_add_info = query_ledger_task_additional_info(item_task_no, nodeid, area_id, cross_name_info, task_crosses_info[item_task_no])
|
ledger_task_add_info = query_ledger_task_additional_info(cross_name_info, task_crosses_info[item_task_no])
|
||||||
task_info['entered_percent'] = 100 if task_info['task_state'] == 4 else ledger_task_add_info['entered_percent']
|
task_info['entered_percent'] = 100 if task_info['task_state'] == 4 else ledger_task_add_info['entered_percent']
|
||||||
task_info['approve_percent'] = 100 if task_info['task_state'] == 4 else ledger_task_add_info['approve_percent']
|
task_info['approve_percent'] = 100 if task_info['task_state'] == 4 else ledger_task_add_info['approve_percent']
|
||||||
sorted_list = sorted(filtered_list, key=sort_key)
|
sorted_list = sorted(filtered_list, key=sort_key)
|
||||||
|
|
@ -965,8 +965,10 @@ def do_query_task_detail(params):
|
||||||
logging.error(str(params) + ' do_query_task_detail 任务在数据库中不存在!')
|
logging.error(str(params) + ' do_query_task_detail 任务在数据库中不存在!')
|
||||||
res = make_common_res(-1, '任务在数据库中不存在。')
|
res = make_common_res(-1, '任务在数据库中不存在。')
|
||||||
return json.dumps(res)
|
return json.dumps(res)
|
||||||
|
cross_name_info = db_tmnet.query_cross_list4task(nodeid, area_id)
|
||||||
|
task_crosses_info = db_task.query_ledger_task_crosses(taskno)
|
||||||
if task['task_type_class'] == 1:
|
if task['task_type_class'] == 1:
|
||||||
ledger_task_additional_info = query_ledger_task_additional_info(taskno, nodeid, area_id)
|
ledger_task_additional_info = query_ledger_task_additional_info(cross_name_info, task_crosses_info)
|
||||||
task['ledger_task_additional_info'] = ledger_task_additional_info
|
task['ledger_task_additional_info'] = ledger_task_additional_info
|
||||||
if task['task_state'] == 4:
|
if task['task_state'] == 4:
|
||||||
task['ledger_task_additional_info']['entered_percent'] = 100
|
task['ledger_task_additional_info']['entered_percent'] = 100
|
||||||
|
|
@ -1100,7 +1102,7 @@ def get_undistributed_cross_list(params):
|
||||||
|
|
||||||
|
|
||||||
# 查询台账路口任务详情-> 路口详细列表、完成情况占比
|
# 查询台账路口任务详情-> 路口详细列表、完成情况占比
|
||||||
def query_ledger_task_additional_info(task_no, nodeid, area_id, cross_name_info, task_crosses_info):
|
def query_ledger_task_additional_info(cross_name_info, task_crosses_info):
|
||||||
task_cross_num = len(task_crosses_info)
|
task_cross_num = len(task_crosses_info)
|
||||||
entered_cross_num = len([cross for cross in task_crosses_info if cross['ledger_status'] == 2 and cross['phase_status'] in (1, 3)])
|
entered_cross_num = len([cross for cross in task_crosses_info if cross['ledger_status'] == 2 and cross['phase_status'] in (1, 3)])
|
||||||
entered_percent = int(entered_cross_num * 100 / task_cross_num) if task_cross_num > 0 else 0
|
entered_percent = int(entered_cross_num * 100 / task_cross_num) if task_cross_num > 0 else 0
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue