'Se requiere id_taxi']); exit; } $stmt = $pdo->prepare( "SELECT latitud, longitud FROM localizacion_historico WHERE id_taxi = ? ORDER BY fecha_registro ASC" ); $stmt->execute([$id_taxi]); $history = $stmt->fetchAll(PDO::FETCH_ASSOC); echo json_encode($history); break; case 'get_current_locations': default: $stmt = $pdo->query( "SELECT t.id, t.nombre, t.licencia, t.matricula, t.municipio, lt.latitud, lt.longitud, lt.ultima_actualizacion, (SELECT COUNT(*) FROM documents WHERE id_conductor = t.id) as num_documentos, (SELECT COUNT(*) FROM citas WHERE id_conductor = t.id) as num_citas, (SELECT COUNT(*) FROM consultas WHERE id_conductor = t.id) as num_consultas, (SELECT COUNT(*) FROM localizacion_historico WHERE id_taxi = t.id) as num_ubicaciones FROM localizacion_taxis lt JOIN taxis t ON lt.id_taxi = t.id GROUP BY t.id, lt.latitud, lt.longitud, lt.ultima_actualizacion ORDER BY t.nombre ASC" ); $locations = $stmt->fetchAll(PDO::FETCH_ASSOC); echo json_encode($locations); break; } } catch (PDOException $e) { http_response_code(500); echo json_encode(['error' => 'Error de base de datos: ' . $e->getMessage()]); } ?>