增加虚拟路口虚拟虚拟路段
Signed-off-by: yinzijian <yinzijian@haomozhixing.onaliyun.com>
This commit is contained in:
parent
ccecfe75c6
commit
038046c611
|
|
@ -186,27 +186,54 @@ class TmnetDbHelper(TableDbHelperBase):
|
|||
return self.do_select(sql)
|
||||
|
||||
def query_cross_list_road(self, nodeid: str, area_id: str):
|
||||
"""
|
||||
查询bound_cross的路口和进口道
|
||||
包括虚拟路口和虚拟路段
|
||||
"""
|
||||
conn, cursor = self.connect()
|
||||
try:
|
||||
sql = """select if(clui.name is not null, clui.name, c2.name) as name,
|
||||
sql = """select IFNULL(clui.name, c2.name) as name,
|
||||
c.crossid,
|
||||
if(clui.location is not null, clui.location, c.location) as location,
|
||||
IFNULL(clui.location, c.location) as location,
|
||||
c.nodeid,
|
||||
c.area_id,
|
||||
r.roadid,
|
||||
if(rlui.from_crossid is not null, rlui.from_crossid, r.from_crossid) as from_crossid,
|
||||
if(rlui.to_crossid is not null, rlui.to_crossid, r.to_crossid) as to_crossid,
|
||||
if(rlui.name is not null, rlui.name, r.name) as road_name,
|
||||
if(rlui.src_direct is not null, rlui.src_direct, r.src_direct) as src_direct
|
||||
IFNULL(r.roadid,IFNULL(rlui.roadid,udr.roadid)) as roadid,
|
||||
IFNULL(rlui.from_crossid, IFNULL(r.from_crossid,udr.from_crossid)) as from_crossid,
|
||||
IFNULL(rlui.to_crossid, IFNULL(r.to_crossid,udr.to_crossid)) as to_crossid,
|
||||
IFNULL(rlui.name, IFNULL(r.name,udr.name)) as road_name,
|
||||
IFNULL(rlui.src_direct, IFNULL(r.src_direct,udr.src_direct)) as src_direct
|
||||
from `bound_crosses` as c
|
||||
join `cross` c2 on c2.crossid = c.crossid and c2.nodeid = %s and c2.area_id = %s
|
||||
left join `cross_ledger_update_info` as clui on clui.crossid = c.crossid and clui.nodeid = %s and clui.area_id = %s
|
||||
left join `road` as r on r.nodeid = %s and r.to_crossid = c.crossid and r.recordstate = 0 and (r.is_sup_road is null or r.is_sup_road <> 1)
|
||||
left join `road_ledger_update_info` as rlui on rlui.nodeid = %s and rlui.recordstate = r.recordstate and rlui.to_crossid = r.to_crossid and (rlui.is_sup_road is null or rlui.is_sup_road <> 1)
|
||||
left join `user_defined_roads` as udr on udr.nodeid = %s and udr.recordstate = 0 and udr.to_crossid = c2.crossid and (udr.is_sup_road is null or udr.is_sup_road <> 1)
|
||||
where c.nodeid = %s
|
||||
and c.area_id = %s
|
||||
union all
|
||||
select udc.name,
|
||||
udc.crossid,
|
||||
udc.location,
|
||||
c.nodeid,
|
||||
c.area_id,
|
||||
IFNULL(r.roadid,IFNULL(rlui.roadid,udr.roadid)) as roadid,
|
||||
IFNULL(rlui.from_crossid, IFNULL(r.from_crossid,udr.from_crossid)) as from_crossid,
|
||||
IFNULL(rlui.to_crossid, IFNULL(r.to_crossid,udr.to_crossid)) as to_crossid,
|
||||
IFNULL(rlui.name, IFNULL(r.name,udr.name)) as road_name,
|
||||
IFNULL(rlui.src_direct, IFNULL(r.src_direct,udr.src_direct)) as src_direct
|
||||
from `bound_crosses` as c
|
||||
join `user_defined_cross` udc on udc.crossid = c.crossid and udc.nodeid = %s and udc.area_id = %s
|
||||
left join `road` as r on r.nodeid = %s and r.to_crossid = udc.crossid and r.recordstate = 0 and (r.is_sup_road is null or r.is_sup_road <> 1)
|
||||
left join `road_ledger_update_info` as rlui on rlui.nodeid = %s and rlui.recordstate = 0 and rlui.to_crossid = r.to_crossid and (rlui.is_sup_road is null or rlui.is_sup_road <> 1)
|
||||
left join `user_defined_roads` as udr on udr.nodeid = %s and udr.recordstate = 0 and udr.to_crossid = c.crossid and (udr.is_sup_road is null or udr.is_sup_road <> 1)
|
||||
where c.nodeid = %s
|
||||
and c.area_id = %s"""
|
||||
print(cursor.mogrify(sql, (nodeid, area_id, nodeid, area_id, nodeid, nodeid, int(nodeid), int(area_id))))
|
||||
cursor.execute(sql, (nodeid, area_id, nodeid, area_id, nodeid, nodeid, int(nodeid), int(area_id)))
|
||||
print(cursor.mogrify(sql, (
|
||||
nodeid, area_id, nodeid, area_id, nodeid, nodeid, nodeid, int(nodeid), int(area_id), nodeid, area_id,
|
||||
nodeid, nodeid, nodeid, int(nodeid), int(area_id))))
|
||||
cursor.execute(sql, (
|
||||
nodeid, area_id, nodeid, area_id, nodeid, nodeid, nodeid, int(nodeid), int(area_id), nodeid, area_id,
|
||||
nodeid, nodeid, nodeid, int(nodeid), int(area_id)))
|
||||
result = cursor.fetchall()
|
||||
self.close(conn, cursor)
|
||||
return result, None
|
||||
|
|
|
|||
Loading…
Reference in New Issue