diff --git a/app/task_db_func.py b/app/task_db_func.py index 7c74d59..db47e68 100644 --- a/app/task_db_func.py +++ b/app/task_db_func.py @@ -531,9 +531,29 @@ class TaskDbHelper(TableDbHelperBase): logging.error(e) return False - def init_additional_info(self, task_no, nodeid, area_id): + def init_additional_info(self, task_no, nodeid, area_id, cross_infos): + cross_values = [] + for cross_info in cross_infos: + cross_values.append((task_no, cross_info['crossid'], cross_info['name'], cross_info['location'])) insert_additional_sql = "insert into task.greenwave_task_additional_detail (task_no, nodeid, area_id) values (%s, %s, %s)" % (task_no, nodeid, area_id) - return self.do_execute(insert_additional_sql) + insert_cross_sql = """ + insert into task.greenwave_task_cross_detail(task_no, crossid, cross_name, location) values (%s, %s, %s, %s) + """ + conn, cursor = self.connect() + try: + insert_additional_ret = cursor.execute(insert_additional_sql) + insert_cross_ret = cursor.executemany(insert_cross_sql, cross_values) + if insert_additional_ret == 1 and insert_cross_ret == len(cross_infos): + conn.commit() + return True + else: + conn.rollback() + return False + except Exception as e: + conn.rollback() + print(e) + logging.error(e) + return False def async_wave_tp_id(self, wave_tp_info, task_tp_info, task_no, nodeid, area_id): # 补充同步绿波时段id到任务时段信息表中的逻辑 diff --git a/app/task_worker.py b/app/task_worker.py index d554352..67dbc74 100644 --- a/app/task_worker.py +++ b/app/task_worker.py @@ -589,7 +589,9 @@ def do_add_task(params): res = make_common_res(-1, '绿波优化任务创建成功,但需求确认单信息保存失败,请反馈该信息至管理员') return json.dumps(res) else: - init_ret = db_task.init_additional_info(taskno, nodeid, area_id) + cross_list = crossids.split(',') + cross_infos = db_tmnet.query_cross_infos(cross_list) + init_ret = db_task.init_additional_info(taskno, nodeid, area_id, cross_infos) if not init_ret: logging.error(str(params) + ' do_add_task初始化任务信息失败!') res = make_common_res(-1, '绿波优化任务创建成功,但初始化任务信息失败,请反馈该信息至管理员')