se muestra colorFondo en GetInfoDevice
parent
c44b79285a
commit
6b91d1de42
|
@ -69,6 +69,14 @@ Content-Type: application/json
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
GET {{server}}/lineas/proto?id_paradero=45086
|
||||||
|
Authorization: Bearer {{token}}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|
||||||
GET {{server}}/proto/
|
GET {{server}}/proto/
|
||||||
|
|
|
@ -33,8 +33,5 @@ urlpatterns = [
|
||||||
# path('proto/', proto.status, name='proto_status'),
|
# path('proto/', proto.status, name='proto_status'),
|
||||||
path('mapas/paraderos/', mapa.paraderos, name='mapa-paraderos'),
|
path('mapas/paraderos/', mapa.paraderos, name='mapa-paraderos'),
|
||||||
path('mapas/rutas/', mapa.rutas, name='mapa-rutas'),
|
path('mapas/rutas/', mapa.rutas, name='mapa-rutas'),
|
||||||
path('paraderos/info-public/<int:pk>', paradero.info_public, name='paradero-infopublic'),
|
path('paraderos/info-public/<int:pk>/', paradero.info_public, name='paradero-infopublic'),
|
||||||
path('lineas/paraderos', linea.paraderos_x_linea, name='paraderos-x-linea'),
|
|
||||||
path('lineas/buses', linea.buses_x_linea, name='buses-x-linea'),
|
|
||||||
path('lineas/buses-2', linea.buses, name='buses-x-paradero'),
|
|
||||||
]
|
]
|
||||||
|
|
|
@ -75,7 +75,7 @@ class DispositivoViewSet(viewsets.ModelViewSet):
|
||||||
'Linea': linea['linea'],
|
'Linea': linea['linea'],
|
||||||
'Descripcion': linea['Descripcion'],
|
'Descripcion': linea['Descripcion'],
|
||||||
'TipoLocomocion': linea['tipo_locomocion'],
|
'TipoLocomocion': linea['tipo_locomocion'],
|
||||||
'colorFondo': None,
|
'colorFondo': linea['colorFondo'],
|
||||||
'colorLetra': linea['colorLetra'],
|
'colorLetra': linea['colorLetra'],
|
||||||
'Llegadas': linea['Llegadas']
|
'Llegadas': linea['Llegadas']
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,64 +14,83 @@ class LineaViewSet(viewsets.ModelViewSet):
|
||||||
filterset_fields = ['id_operador', 'route_short_name', 'route_long_name', 'vigente']
|
filterset_fields = ['id_operador', 'route_short_name', 'route_long_name', 'vigente']
|
||||||
|
|
||||||
|
|
||||||
|
@action(detail=False, methods=['get'])
|
||||||
|
def proto(self, request, pk=None):
|
||||||
|
id_paradero = request.GET['id_paradero']
|
||||||
|
|
||||||
|
query = "SELECT json_data \
|
||||||
|
from gtfs_posiciones_json \
|
||||||
|
where stop_id = %s"
|
||||||
|
|
||||||
def paraderos_x_linea(request):
|
|
||||||
pk = request.GET['id_linea']
|
|
||||||
|
|
||||||
paraderos = models.Paradero.objects \
|
|
||||||
.filter(vigente=True, lineaparadero__id_linea=pk) \
|
|
||||||
.values('id_paradero','stop_lat','stop_lon','stop_name') \
|
|
||||||
.all()
|
|
||||||
return JsonResponse(list(paraderos), safe=False)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def buses_x_linea(request):
|
|
||||||
pk = request.GET['id_linea']
|
|
||||||
|
|
||||||
detalle_buses = []
|
|
||||||
paraderos = models.Paradero.objects \
|
|
||||||
.filter(vigente=True, lineaparadero__id_linea=pk) \
|
|
||||||
.values('id_paradero') \
|
|
||||||
.all()
|
|
||||||
|
|
||||||
query = "SELECT json_data \
|
|
||||||
from gtfs_posiciones_json \
|
|
||||||
where stop_id = %s"
|
|
||||||
|
|
||||||
for p in paraderos:
|
|
||||||
params = [ p['id_paradero'] ]
|
|
||||||
with connection.cursor() as cursor:
|
with connection.cursor() as cursor:
|
||||||
cursor.execute(query, params)
|
cursor.execute(query, [ id_paradero ])
|
||||||
row = cursor.fetchone()
|
row = cursor.fetchone()
|
||||||
|
|
||||||
if row != None:
|
return JsonResponse(row[0], safe=False)
|
||||||
buses = list(filter(lambda linea: linea['linea'] == pk, row[0]))
|
|
||||||
for bus in buses:
|
|
||||||
for llegada in bus['Llegadas']:
|
|
||||||
data_bus = {
|
|
||||||
'patente': llegada['patente'],
|
|
||||||
'estimada_gps': llegada['EstimadaGPS'],
|
|
||||||
'distancia_gps': llegada['DistanciaGPS'],
|
|
||||||
}
|
|
||||||
detalle_buses.append(data_bus)
|
|
||||||
|
|
||||||
return JsonResponse(detalle_buses, safe=False)
|
|
||||||
|
@action(detail=False, methods=['get'])
|
||||||
|
def paraderos(self, request, pk=None):
|
||||||
|
pk = request.GET['id_linea']
|
||||||
|
|
||||||
|
paraderos = models.Paradero.objects \
|
||||||
|
.filter(vigente=True, lineaparadero__id_linea=pk) \
|
||||||
|
.values('id_paradero','stop_lat','stop_lon','stop_name') \
|
||||||
|
.all()
|
||||||
|
return JsonResponse(list(paraderos), safe=False)
|
||||||
|
|
||||||
|
|
||||||
|
@action(detail=False, methods=['get'])
|
||||||
|
def buses(self, request, pk=None):
|
||||||
|
pk = request.GET['id_linea']
|
||||||
|
|
||||||
|
query = "SELECT distinct \
|
||||||
|
l.route_color, \
|
||||||
|
l.route_text_color, \
|
||||||
|
gp.vehicle_license_plate as Patente_vehiculo, \
|
||||||
|
speed::numeric(5,2) as speed, \
|
||||||
|
gp.latitude \
|
||||||
|
from gtfs_posiciones gp \
|
||||||
|
inner join linea l on gp.route_id = l.id_linea \
|
||||||
|
where route_id = %s"
|
||||||
|
|
||||||
|
with connection.cursor() as cursor:
|
||||||
|
cursor.execute(query, [ pk ])
|
||||||
|
rows = cursor.fetchall()
|
||||||
|
|
||||||
|
return JsonResponse(rows, safe=False)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def buses(request):
|
@action(detail=False, methods=['get'])
|
||||||
|
def buses_proto(self, request, pk=None):
|
||||||
|
pk = request.GET['id_linea']
|
||||||
|
|
||||||
id_paradero = request.GET['id_paradero']
|
detalle_buses = []
|
||||||
|
paraderos = models.Paradero.objects \
|
||||||
|
.filter(vigente=True, lineaparadero__id_linea=pk) \
|
||||||
|
.values('id_paradero') \
|
||||||
|
.all()
|
||||||
|
|
||||||
query = "SELECT json_data \
|
query = "SELECT json_data \
|
||||||
from gtfs_posiciones_json \
|
from gtfs_posiciones_json \
|
||||||
where stop_id = %s"
|
where stop_id = %s"
|
||||||
|
|
||||||
with connection.cursor() as cursor:
|
for p in paraderos:
|
||||||
cursor.execute(query, [ id_paradero ])
|
params = [ p['id_paradero'] ]
|
||||||
row = cursor.fetchone()
|
with connection.cursor() as cursor:
|
||||||
|
cursor.execute(query, params)
|
||||||
|
row = cursor.fetchone()
|
||||||
|
|
||||||
return JsonResponse(row, safe=False)
|
if row != None:
|
||||||
|
buses = list(filter(lambda linea: linea['linea'] == pk, row[0]))
|
||||||
|
for bus in buses:
|
||||||
|
for llegada in bus['Llegadas']:
|
||||||
|
data_bus = {
|
||||||
|
'patente': llegada['patente'],
|
||||||
|
'estimada_gps': llegada['EstimadaGPS'],
|
||||||
|
'distancia_gps': llegada['DistanciaGPS'],
|
||||||
|
}
|
||||||
|
detalle_buses.append(data_bus)
|
||||||
|
|
||||||
|
return JsonResponse(detalle_buses, safe=False)
|
||||||
|
|
Loading…
Reference in New Issue