<?php
include 'config/database.php';

header('Content-Type: text/html; charset=utf-8');
echo "<!DOCTYPE html><html><head><title>DEBUG: Status da Viagem 151</title></head><body>";
echo "<h2>🔍 VERIFICAR: Status da Viagem 151</h2>";

try {
    $pdo = conectarBanco();
    
    // 1. BUSCAR VIAGEM 151 ESPECIFICAMENTE
    echo "<h3>1. 📊 Status da Viagem 151:</h3>";
    
    $stmt = $pdo->prepare("
        SELECT 
            id, cliente, tecnico_id, veiculo_id,
            km_inicial, km_final, km_gps_final,
            latitude_inicial, longitude_inicial,
            latitude_final, longitude_final,
            data_inicio, data_fim,
            motivo, observacoes
        FROM viagens 
        WHERE id = 151
    ");
    $stmt->execute();
    $viagem151 = $stmt->fetch();
    
    if ($viagem151) {
        echo "<table border='1' cellpadding='5'>";
        echo "<tr><th>Campo</th><th>Valor</th><th>Status</th></tr>";
        
        foreach ($viagem151 as $campo => $valor) {
            $status = "";
            if ($campo === 'km_gps_final') {
                $status = $valor ? "✅ $valor km" : "❌ NULL";
            } elseif ($campo === 'data_fim') {
                $status = $valor ? "✅ $valor" : "🔄 EM ANDAMENTO";
            }
            
            echo "<tr>";
            echo "<td><strong>$campo</strong></td>";
            echo "<td>" . ($valor ?? 'NULL') . "</td>";
            echo "<td>$status</td>";
            echo "</tr>";
        }
        echo "</table>";
        
        // ANÁLISE RÁPIDA
        if ($viagem151['data_fim']) {
            echo "<p style='color: orange;'>⚠️ <strong>VIAGEM JÁ FINALIZADA!</strong> (Data fim: {$viagem151['data_fim']}) Por isso o teste de finalizar falhou.</p>";
        } else {
            echo "<p style='color: green;'>✅ <strong>VIAGEM AINDA ATIVA</strong> - Pode ser finalizada.</p>";
        }
        
    } else {
        echo "<p style='color: red;'>❌ <strong>VIAGEM 151 NÃO ENCONTRADA!</strong></p>";
    }
    
    // 2. BUSCAR VIAGENS RECENTES
    echo "<h3>2. 🔄 Viagens Recentes (últimas 10):</h3>";
    
    $stmt = $pdo->query("
        SELECT 
            id, cliente, veiculo_id,
            km_inicial, km_final, km_gps_final,
            data_inicio, data_fim
        FROM viagens 
        ORDER BY data_inicio DESC 
        LIMIT 10
    ");
    $viagensRecentes = $stmt->fetchAll();
    
    echo "<table border='1' cellpadding='5'>";
    echo "<tr><th>ID</th><th>Cliente</th><th>Veículo</th><th>KM Inicial</th><th>KM Final</th><th>KM GPS</th><th>Data Início</th><th>Data Fim</th><th>Status</th></tr>";
    
    foreach ($viagensRecentes as $viagem) {
        $status = "";
        if ($viagem['data_fim']) {
            $status = "✅ FINALIZADA";
        } else {
            $status = "🔄 EM ANDAMENTO";
        }
        
        $kmGps = $viagem['km_gps_final'] ? $viagem['km_gps_final'] . " km" : "❌ NULL";
        
        echo "<tr>";
        echo "<td><strong>{$viagem['id']}</strong></td>";
        echo "<td>{$viagem['cliente']}</td>";
        echo "<td>{$viagem['veiculo_id']}</td>";
        echo "<td>{$viagem['km_inicial']}</td>";
        echo "<td>" . ($viagem['km_final'] ?? 'NULL') . "</td>";
        echo "<td>$kmGps</td>";
        echo "<td>{$viagem['data_inicio']}</td>";
        echo "<td>" . ($viagem['data_fim'] ?? 'EM ANDAMENTO') . "</td>";
        echo "<td>$status</td>";
        echo "</tr>";
    }
    echo "</table>";
    
    // 3. BUSCAR VIAGEM ATIVA ATUAL
    echo "<h3>3. 🚗 Viagem Atualmente Ativa:</h3>";
    
    $stmt = $pdo->query("
        SELECT 
            id, cliente, veiculo_id, tecnico_id,
            km_inicial, km_gps_final,
            latitude_inicial, longitude_inicial,
            latitude_final, longitude_final,
            data_inicio, motivo
        FROM viagens 
        WHERE data_fim IS NULL
        ORDER BY data_inicio DESC 
        LIMIT 1
    ");
    $viagemAtiva = $stmt->fetch();
    
    if ($viagemAtiva) {
        echo "<div style='background: #e8f5e8; padding: 15px; border-radius: 5px;'>";
        echo "<h4>🟢 VIAGEM ATIVA ENCONTRADA:</h4>";
        echo "<p><strong>ID:</strong> {$viagemAtiva['id']}</p>";
        echo "<p><strong>Cliente:</strong> {$viagemAtiva['cliente']}</p>";
        echo "<p><strong>Veículo:</strong> {$viagemAtiva['veiculo_id']}</p>";
        echo "<p><strong>Técnico:</strong> {$viagemAtiva['tecnico_id']}</p>";
        echo "<p><strong>Início:</strong> {$viagemAtiva['data_inicio']}</p>";
        echo "<p><strong>KM Inicial:</strong> {$viagemAtiva['km_inicial']}</p>";
        echo "<p><strong>Motivo:</strong> {$viagemAtiva['motivo']}</p>";
        
        if ($viagemAtiva['latitude_final']) {
            echo "<p><strong>Posição Final:</strong> {$viagemAtiva['latitude_final']}, {$viagemAtiva['longitude_final']}</p>";
            echo "<p style='color: green;'>✅ Tem coordenadas finais - pronta para finalizar</p>";
        } else {
            echo "<p style='color: orange;'>⚠️ Sem coordenadas finais ainda</p>";
        }
        echo "</div>";
        
    } else {
        echo "<p style='color: red;'>❌ <strong>NENHUMA VIAGEM ATIVA!</strong></p>";
        echo "<p>Para testar, inicie uma nova viagem no app.</p>";
    }
    
    // 4. ESTATÍSTICAS DE KM GPS
    echo "<h3>4. 📊 Estatísticas de KM GPS:</h3>";
    
    $stmt = $pdo->query("
        SELECT 
            COUNT(*) as total_viagens,
            COUNT(CASE WHEN km_gps_final IS NOT NULL THEN 1 END) as com_km_gps,
            COUNT(CASE WHEN km_gps_final IS NULL AND latitude_final IS NOT NULL THEN 1 END) as sem_km_com_coordenadas,
            AVG(km_gps_final) as media_km_gps
        FROM viagens 
        WHERE data_inicio >= '2024-01-01'
    ");
    $stats = $stmt->fetch();
    
    echo "<table border='1' cellpadding='5'>";
    echo "<tr><th>Métrica</th><th>Valor</th><th>Observação</th></tr>";
    echo "<tr><td>Total de viagens</td><td>{$stats['total_viagens']}</td><td>Desde 2024</td></tr>";
    echo "<tr><td>Com KM GPS</td><td>{$stats['com_km_gps']}</td><td>" . round($stats['com_km_gps']/$stats['total_viagens']*100, 1) . "%</td></tr>";
    echo "<tr><td>Sem KM GPS (mas com coordenadas)</td><td>{$stats['sem_km_com_coordenadas']}</td><td>❌ Problemas como viagem 151</td></tr>";
    echo "<tr><td>Média KM GPS</td><td>" . round($stats['media_km_gps'], 3) . " km</td><td>Quando não é NULL</td></tr>";
    echo "</table>";
    
    // 5. PRÓXIMOS PASSOS
    echo "<h3>5. 🎯 Próximos Passos:</h3>";
    
    echo "<div style='background: #fff3cd; padding: 15px; border-radius: 5px;'>";
    echo "<h4>🔧 PLANO DE AÇÃO:</h4>";
    
    if ($viagem151 && $viagem151['data_fim']) {
        echo "<p><strong>Viagem 151:</strong> ✅ Já finalizada - aplicar correção SQL do KM GPS</p>";
    } elseif ($viagemAtiva) {
        echo "<p><strong>Viagem ativa ({$viagemAtiva['id']}):</strong> 🔄 Usar esta para testar as correções</p>";
    } else {
        echo "<p><strong>Nova viagem:</strong> 🆕 Iniciar viagem no app para testar</p>";
    }
    
    echo "<ol>";
    echo "<li><strong>📱 Logs do app:</strong> Fazer checklist com foto e verificar logs</li>";
    echo "<li><strong>🌐 Logs da API:</strong> Verificar se array 'fotos' está chegando</li>";
    echo "<li><strong>🔧 Correção SQL:</strong> Aplicar correção de KM GPS nas viagens com problema</li>";
    echo "<li><strong>🧪 Teste completo:</strong> Nova viagem + checklist + foto + finalizar</li>";
    echo "</ol>";
    echo "</div>";
    
} catch (Exception $e) {
    echo "<p style='color: red;'>❌ Erro: " . $e->getMessage() . "</p>";
}

echo "</body></html>";
?> 
