<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

require_once 'config/bootstrap.php';

echo "🔍 DEBUG - BUSCA DE VIAGENS\n";
echo "============================\n\n";

try {
    $pdo = $db->getConnection();
    
    // 1. Verificar se há viagens no banco
    echo "1️⃣ VERIFICANDO VIAGENS NO BANCO\n";
    $stmt = $pdo->query("SELECT COUNT(*) as total FROM viagens");
    $totalViagens = $stmt->fetch()['total'];
    echo "   Total de viagens: $totalViagens\n";
    
    if ($totalViagens == 0) {
        echo "   ❌ PROBLEMA: Não há viagens no banco!\n";
        echo "   💡 SOLUÇÃO: Crie uma viagem primeiro\n";
    }
    
    // 2. Mostrar últimas viagens
    echo "\n2️⃣ ÚLTIMAS VIAGENS\n";
    $stmt = $pdo->query("
        SELECT v.id, v.veiculo_id, v.motorista_id, v.data_inicio, v.data_fim, v.cliente,
               m.nome as motorista_nome, ve.placa as veiculo_placa
        FROM viagens v
        LEFT JOIN motoristas m ON v.motorista_id = m.id
        LEFT JOIN veiculos ve ON v.veiculo_id = ve.id
        ORDER BY v.data_inicio DESC
        LIMIT 5
    ");
    $viagens = $stmt->fetchAll();
    
    foreach ($viagens as $viagem) {
        echo "   - ID: {$viagem['id']}, Veículo: {$viagem['veiculo_placa']} (ID: {$viagem['veiculo_id']})\n";
        echo "     Motorista: {$viagem['motorista_nome']} (ID: {$viagem['motorista_id']})\n";
        echo "     Data: {$viagem['data_inicio']}\n";
        echo "     Cliente: {$viagem['cliente']}\n\n";
    }
    
    // 3. Simular busca por ID
    echo "3️⃣ SIMULANDO BUSCA POR ID\n";
    if (!empty($viagens)) {
        $viagemTeste = $viagens[0];
        $idTeste = $viagemTeste['id'];
        
        echo "   Testando busca por ID: $idTeste\n";
        
        // Simular a API
        $stmt = $pdo->prepare("
            SELECT v.id, v.cliente, v.motivo, v.motorista_id, v.veiculo_id, v.data_inicio
            FROM viagens v
            WHERE v.id = ?
        ");
        $stmt->execute([$idTeste]);
        $resultado = $stmt->fetch();
        
        if ($resultado) {
            echo "   ✅ ENCONTRADO: " . json_encode($resultado) . "\n";
        } else {
            echo "   ❌ NÃO ENCONTRADO\n";
        }
    }
    
    // 4. Simular busca por veículo e data
    echo "\n4️⃣ SIMULANDO BUSCA POR VEÍCULO E DATA\n";
    if (!empty($viagens)) {
        $viagemTeste = $viagens[0];
        $veiculoIdTeste = $viagemTeste['veiculo_id'];
        $dataTeste = date('Y-m-d', strtotime($viagemTeste['data_inicio']));
        
        echo "   Testando: Veículo ID $veiculoIdTeste, Data $dataTeste\n";
        
        $stmt = $pdo->prepare("
            SELECT v.id, v.cliente, v.veiculo_id, v.data_inicio
            FROM viagens v
            WHERE v.veiculo_id = ? AND DATE(v.data_inicio) = ?
        ");
        $stmt->execute([$veiculoIdTeste, $dataTeste]);
        $resultado = $stmt->fetch();
        
        if ($resultado) {
            echo "   ✅ ENCONTRADO: " . json_encode($resultado) . "\n";
        } else {
            echo "   ❌ NÃO ENCONTRADO\n";
            
            // Debug adicional
            echo "   🔍 DEBUG: Verificando datas próximas...\n";
            $stmt = $pdo->prepare("
                SELECT id, veiculo_id, DATE(data_inicio) as data
                FROM viagens 
                WHERE veiculo_id = ?
                ORDER BY data_inicio DESC
                LIMIT 3
            ");
            $stmt->execute([$veiculoIdTeste]);
            $datasProximas = $stmt->fetchAll();
            
            foreach ($datasProximas as $dp) {
                echo "     - Viagem ID: {$dp['id']}, Data: {$dp['data']}\n";
            }
        }
    }
    
    // 5. Verificar estrutura da tabela
    echo "\n5️⃣ VERIFICANDO ESTRUTURA DA TABELA VIAGENS\n";
    $stmt = $pdo->query("DESCRIBE viagens");
    $colunas = $stmt->fetchAll();
    
    echo "   Colunas da tabela:\n";
    foreach ($colunas as $coluna) {
        echo "   - {$coluna['Field']}: {$coluna['Type']}\n";
    }
    
    // 6. Testar a API real
    echo "\n6️⃣ TESTANDO API REAL\n";
    if (!empty($viagens)) {
        $viagemTeste = $viagens[0];
        $veiculoIdTeste = $viagemTeste['veiculo_id'];
        $dataTeste = date('Y-m-d', strtotime($viagemTeste['data_inicio']));
        
        $urlTeste = "https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/api-simples-v2.php?acao=buscar_viagem_por_veiculo_data&veiculoId=$veiculoIdTeste&data=$dataTeste";
        
        echo "   URL: $urlTeste\n";
        
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $urlTeste);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_TIMEOUT, 10);
        
        $response = curl_exec($ch);
        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);
        
        echo "   HTTP Code: $httpCode\n";
        echo "   Response: $response\n";
    }
    
} catch (Exception $e) {
    echo "❌ ERRO: " . $e->getMessage() . "\n";
}
?> 
