cross_doctor/app/tmnet_db_func.py

57 lines
2.3 KiB
Python
Raw Normal View History

2025-10-10 14:38:22 +08:00
from app.db_func_base import TableDbHelperBase
class TmnetDbHelper(TableDbHelperBase):
def __init__(self, pool):
self.db_pool = pool
self.DB_Name = 'tmnet'
def reload_cross_info(self, nodeid, last_reload_time):
sql1 = "select * from cross_ledger_update_info where nodeid = %s and crossid is not null" % nodeid
sql2 = "select * from road_ledger_update_info where nodeid = %s" % nodeid
crosses_list, cross_res_list = self.do_select(sql1), []
for cross_row in crosses_list:
if cross_row['update_time'] > last_reload_time:
cross_res_list.append(cross_row)
roads_list, road_res_list = self.do_select(sql2), []
for road_row in roads_list:
if road_row['update_time'] > last_reload_time:
road_res_list.append(road_row)
return cross_res_list, road_res_list
def query_phase_by_cross_list(self, citycode, cross_list):
conn, cursor = self.connect()
try:
sql = f'''select
cm.xl_crossid
from phasetable.cross_mapping as cm
join phasetable.day_schedule as ds on cm.jj_crossid = ds.crossid and cm.nodeid = cm.nodeid
where
cm.nodeid = %s and cm.xl_crossid in %s
group by cm.xl_crossid'''
print(cursor.mogrify(sql,(citycode,cross_list)))
cursor.execute(sql,(citycode,cross_list))
result = cursor.fetchall()
self.close(conn, cursor)
return result, None
except Exception as error:
self.close(conn, cursor)
return None, error
def query_cross_info(self, nodeid):
sql = "select * from `cross` where nodeid = %s" % nodeid
return self.do_select(sql)
def query_cross_info_new(self, citycode):
conn, cursor = self.connect()
try:
sql = f'''select * from `cross` where nodeid = %s'''
print(cursor.mogrify(sql, (citycode)))
cursor.execute(sql, (citycode))
result = cursor.fetchall()
self.close(conn, cursor)
return result, None
except Exception as error:
self.close(conn, cursor)
return None, error