forked from TDTP/admin_transporte_backend
Agrega Graficos
parent
d74971f037
commit
fb7429ed4d
|
@ -238,6 +238,9 @@ class LineaViewSet(viewsets.ModelViewSet):
|
|||
return JsonResponse(data, safe=False)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@action(detail=False, methods=['get'])
|
||||
def count_buses_recorridos_old(self, request, pk=None):
|
||||
query = "select count(distinct vehicle_license_plate) from gtfs_posiciones"
|
||||
|
@ -249,6 +252,52 @@ class LineaViewSet(viewsets.ModelViewSet):
|
|||
return JsonResponse({ 'count': result[0] })
|
||||
|
||||
|
||||
@action(detail=False, methods=['get'])
|
||||
def count_lineas_correctas(self, request, pk=None):
|
||||
query = """
|
||||
SELECT 'Total Rutas correctas' AS titulo, COUNT(*) - (
|
||||
SELECT COUNT(*) AS cantidad
|
||||
FROM gtfs_validaciones gv
|
||||
WHERE id_gtfs IN (
|
||||
SELECT id_gtfs
|
||||
FROM gtfs_archivo
|
||||
WHERE NOT vigente
|
||||
)
|
||||
) AS cantidad
|
||||
FROM linea
|
||||
WHERE vigente
|
||||
|
||||
UNION
|
||||
|
||||
SELECT 'Total Rutas con Inconsistencias' AS titulo, COUNT(*) AS cantidad
|
||||
FROM gtfs_validaciones gv
|
||||
WHERE id_gtfs IN (
|
||||
SELECT id_gtfs
|
||||
FROM gtfs_archivo
|
||||
WHERE vigente
|
||||
)
|
||||
"""
|
||||
|
||||
try:
|
||||
with connection.cursor() as cursor:
|
||||
cursor.execute(query)
|
||||
result = cursor.fetchall()
|
||||
|
||||
data = []
|
||||
for row in result:
|
||||
# Cada 'row' es una tupla con dos elementos: titulo y cantidad
|
||||
data.append({
|
||||
'titulo': row[0],
|
||||
'cantidad': row[1]
|
||||
})
|
||||
|
||||
return JsonResponse(data, safe=False) # Usar safe=False para permitir objetos no diccionario en la raíz
|
||||
except Exception as e:
|
||||
return JsonResponse({'error': str(e)}, status=400)
|
||||
|
||||
|
||||
|
||||
|
||||
@action(detail=False, methods=['get'])
|
||||
def count_buses_recorridos(self, request, pk=None):
|
||||
|
||||
|
@ -262,4 +311,20 @@ class LineaViewSet(viewsets.ModelViewSet):
|
|||
count_unique_vehicle_plates = len(unique_vehicle_plates)
|
||||
return JsonResponse({ 'count': count_unique_vehicle_plates })
|
||||
|
||||
|
||||
|
||||
@action(detail=False, methods=['get'])
|
||||
def count_rutas_buses(self, request, pk=None):
|
||||
|
||||
db_host = getenv('DB_REDIS_HOST')
|
||||
db_port = getenv('DB_REDIS_PORT')
|
||||
r = redis.Redis(host=db_host, port=db_port, decode_responses=True)
|
||||
key = f'stop_id:none'
|
||||
data = r.get(key)
|
||||
data = json.loads(data)
|
||||
unique_route_direction = set(
|
||||
(item["route_id"], item["direction_id"]) for item in data
|
||||
)
|
||||
count_unique_route_direction = len(unique_route_direction)
|
||||
return JsonResponse({ 'count': count_unique_route_direction })
|
||||
|
||||
|
Loading…
Reference in New Issue