<?php
header('Content-Type: text/html; charset=utf-8');

echo "<h2>🧪 Teste da API de Veículos</h2>";

try {
    // Conectar com banco
    $pdo = new PDO(
        "mysql:host=localhost;dbname=pinheir3_controle_frotasV1.1;charset=utf8mb4",
        "pinheir3",
        "080880Gelboy",
        [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
    );
    
    echo "<h3>1. Verificar Viagens Ativas no Banco</h3>";
    
    // Buscar viagens ativas (sem data_fim)
    $sql = "
        SELECT 
            v.id,
            v.cliente,
            v.motivo,
            v.tecnico_id as motorista,
            v.veiculo_id,
            v.latitude_inicial as latitude,
            v.longitude_inicial as longitude,
            v.data_inicio as timestamp,
            TIMESTAMPDIFF(MINUTE, v.data_inicio, NOW()) as duracao_minutos
        FROM viagens v
        WHERE v.data_fim IS NULL
        AND v.latitude_inicial IS NOT NULL 
        AND v.longitude_inicial IS NOT NULL
        AND v.latitude_inicial != 0 
        AND v.longitude_inicial != 0
        ORDER BY v.data_inicio DESC
    ";
    
    $stmt = $pdo->query($sql);
    $viagens = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    echo "<p><strong>Viagens encontradas:</strong> " . count($viagens) . "</p>";
    
    if (empty($viagens)) {
        echo "<div style='background: #fff3cd; padding: 15px; border-radius: 5px; margin: 10px 0;'>";
        echo "⚠️ <strong>Problema encontrado:</strong> Nenhuma viagem ativa com coordenadas GPS válidas.<br>";
        echo "É por isso que o dashboard não está mostrando nada!<br>";
        echo "<a href='criar-viagem-rapida.php'>🚀 Criar Viagem de Teste</a>";
        echo "</div>";
    } else {
        echo "<div style='background: #d4edda; padding: 15px; border-radius: 5px; margin: 10px 0;'>";
        echo "✅ Encontradas " . count($viagens) . " viagem(ns) ativa(s) com GPS";
        echo "</div>";
        
        foreach ($viagens as $viagem) {
            echo "<div style='border: 1px solid #007bff; padding: 10px; margin: 5px 0; border-radius: 5px;'>";
            echo "<strong>ID:</strong> {$viagem['id']} | ";
            echo "<strong>Cliente:</strong> {$viagem['cliente']}<br>";
            echo "<strong>GPS:</strong> {$viagem['latitude']}, {$viagem['longitude']} | ";
            echo "<strong>Duração:</strong> {$viagem['duracao_minutos']} min";
            echo "</div>";
        }
    }
    
    echo "<h3>2. Testar Resposta da API (como o dashboard vê)</h3>";
    
    // Simular a resposta da API
    $vehicles = [];
    
    foreach ($viagens as $viagem) {
        $lat = floatval($viagem['latitude']);
        $lng = floatval($viagem['longitude']);
        
        // Verificar se coordenadas são válidas
        if ($lat >= -90 && $lat <= 90 && $lng >= -180 && $lng <= 180 && $lat != 0 && $lng != 0) {
            $vehicles[] = [
                'id' => intval($viagem['id']),
                'placa' => 'VEI-' . $viagem['id'],
                'modelo' => 'Veículo',
                'motorista' => $viagem['motorista'] ?: 'Não atribuído',
                'latitude' => $lat,
                'longitude' => $lng,
                'velocidade' => 0,
                'status' => 'em_viagem',
                'timestamp' => $viagem['timestamp'],
                'cliente' => $viagem['cliente'],
                'motivo' => $viagem['motivo'],
                'duracao_minutos' => intval($viagem['duracao_minutos'])
            ];
        }
    }
    
    $response = [
        'success' => true,
        'vehicles' => $vehicles,
        'total' => count($vehicles),
        'timestamp' => date('Y-m-d H:i:s'),
        'message' => count($vehicles) > 0 ? 'Veículos carregados com sucesso' : 'Nenhum veículo ativo encontrado'
    ];
    
    echo "<h4>📋 Resposta da API (JSON):</h4>";
    echo "<pre style='background: #f8f9fa; padding: 15px; border-radius: 5px; overflow-x: auto;'>";
    echo json_encode($response, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
    echo "</pre>";
    
    echo "<h3>3. Testar Acesso à API Real</h3>";
    
    // Testar se a API real está acessível
    $apiUrl = 'http://localhost/controlefrota/backend-php/api/relatorios/api_get_vehicles.php';
    
    $context = stream_context_create([
        'http' => [
            'timeout' => 10,
            'method' => 'GET'
        ]
    ]);
    
    try {
        $apiResponse = file_get_contents($apiUrl, false, $context);
        if ($apiResponse !== false) {
            echo "<div style='background: #d4edda; padding: 15px; border-radius: 5px;'>";
            echo "✅ <strong>API acessível!</strong>";
            echo "</div>";
            
            echo "<h4>📋 Resposta da API Real:</h4>";
            echo "<pre style='background: #f8f9fa; padding: 15px; border-radius: 5px; overflow-x: auto;'>";
            echo $apiResponse;
            echo "</pre>";
        } else {
            echo "<div style='background: #f8d7da; padding: 15px; border-radius: 5px;'>";
            echo "❌ <strong>API não acessível</strong>";
            echo "</div>";
        }
    } catch (Exception $e) {
        echo "<div style='background: #f8d7da; padding: 15px; border-radius: 5px;'>";
        echo "❌ <strong>Erro ao acessar API:</strong> " . $e->getMessage();
        echo "</div>";
    }
    
    echo "<h3>4. Solução</h3>";
    
    if (count($vehicles) > 0) {
        echo "<div style='background: #d4edda; padding: 15px; border-radius: 5px;'>";
        echo "✅ <strong>Sistema funcionando!</strong><br>";
        echo "Existem " . count($vehicles) . " veículo(s) para mostrar no dashboard.<br>";
        echo "<a href='admin/rastreamento-dashboard-style.html' style='background: #007bff; color: white; padding: 10px 20px; text-decoration: none; border-radius: 5px;'>🚁 Abrir Dashboard</a>";
        echo "</div>";
    } else {
        echo "<div style='background: #f8d7da; padding: 15px; border-radius: 5px;'>";
        echo "❌ <strong>Problema:</strong> Não há viagens ativas com GPS válido.<br>";
        echo "O dashboard ficará vazio até que uma viagem seja criada.<br>";
        echo "<a href='criar-viagem-rapida.php' style='background: #28a745; color: white; padding: 10px 20px; text-decoration: none; border-radius: 5px;'>🚀 Criar Viagem de Teste</a>";
        echo "</div>";
    }
    
} catch (Exception $e) {
    echo "<div style='background: #f8d7da; padding: 15px; border-radius: 5px;'>";
    echo "❌ <strong>Erro de conexão:</strong> " . $e->getMessage();
    echo "</div>";
}
?> 
