<?php
// Verificar dados da viagem 267 e tabela rastreamento_tempo_real
header('Content-Type: application/json; charset=utf-8');

try {
    // Conectar ao banco
    $host = 'localhost';
    $dbname = 'pinheir3_controle_frotasV1.1';
    $username = 'pinheir3_admin';
    $password = '080880Gelboy';
    
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    echo "=== VERIFICAÇÃO DOS DADOS DA VIAGEM 267 ===\n\n";
    
    // 1. Verificar dados da viagem 267
    echo "1. 📊 DADOS DA VIAGEM 267:\n";
    $stmt = $pdo->prepare("SELECT * FROM viagens WHERE id = 267");
    $stmt->execute();
    $viagem = $stmt->fetch(PDO::FETCH_ASSOC);
    
    if ($viagem) {
        echo "✅ Viagem 267 encontrada!\n";
        echo "   - Cliente: " . $viagem['cliente'] . "\n";
        echo "   - Técnico ID: " . $viagem['tecnico_id'] . "\n";
        echo "   - KM Inicial: " . $viagem['km_inicial'] . "\n";
        echo "   - KM Final: " . ($viagem['km_final'] ?? 'NULL') . "\n";
        echo "   - KM GPS Final: " . ($viagem['km_gps_final'] ?? 'NULL') . "\n";
        echo "   - Latitude Inicial: " . ($viagem['latitude_inicial'] ?? 'NULL') . "\n";
        echo "   - Longitude Inicial: " . ($viagem['longitude_inicial'] ?? 'NULL') . "\n";
        echo "   - Latitude Final: " . ($viagem['latitude_final'] ?? 'NULL') . "\n";
        echo "   - Longitude Final: " . ($viagem['longitude_final'] ?? 'NULL') . "\n";
        echo "   - Endereço Inicial: " . ($viagem['endereco_inicial'] ?? 'NULL') . "\n";
        echo "   - Endereço Final: " . ($viagem['endereco_final'] ?? 'NULL') . "\n";
        echo "   - Data Início: " . $viagem['data_inicio'] . "\n";
        echo "   - Data Fim: " . ($viagem['data_fim'] ?? 'NULL') . "\n";
        echo "   - Trajeto: " . (strlen($viagem['trajeto'] ?? '') > 0 ? 'SIM (' . strlen($viagem['trajeto']) . ' chars)' : 'NULL') . "\n";
    } else {
        echo "❌ Viagem 267 NÃO encontrada!\n";
    }
    
    echo "\n";
    
    // 2. Verificar pontos na tabela rastreamento_tempo_real
    echo "2. 📍 PONTOS GPS NA TABELA rastreamento_tempo_real:\n";
    $stmt = $pdo->prepare("SELECT COUNT(*) as total FROM rastreamento_tempo_real WHERE viagem_id = 267");
    $stmt->execute();
    $total = $stmt->fetch(PDO::FETCH_ASSOC);
    
    echo "   - Total de pontos: " . $total['total'] . "\n";
    
    if ($total['total'] > 0) {
        // Mostrar alguns pontos de exemplo
        $stmt = $pdo->prepare("SELECT * FROM rastreamento_tempo_real WHERE viagem_id = 267 ORDER BY timestamp DESC LIMIT 5");
        $stmt->execute();
        $pontos = $stmt->fetchAll(PDO::FETCH_ASSOC);
        
        echo "   - Últimos 5 pontos:\n";
        foreach ($pontos as $i => $ponto) {
            echo "     " . ($i + 1) . ". " . $ponto['latitude'] . ", " . $ponto['longitude'] . " - " . $ponto['timestamp'] . "\n";
        }
    } else {
        echo "   ❌ NENHUM PONTO GPS ENCONTRADO!\n";
    }
    
    echo "\n";
    
    // 3. Verificar se a API está funcionando
    echo "3. 🌐 TESTE DA API atualizar-posicao:\n";
    
    $dados_teste = [
        'acao' => 'atualizar-posicao',
        'viagem_id' => 267,
        'latitude' => 37.4219983,
        'longitude' => -122.084,
        'velocidade' => 0.0,
        'precisao' => 5.0,
        'altitude' => 5.0,
        'provider' => 'fused',
        'timestamp' => time() * 1000
    ];
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/api-simples-v2.php');
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($dados_teste));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/x-www-form-urlencoded'
    ]);
    
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    echo "   - HTTP Code: " . $httpCode . "\n";
    echo "   - Response: " . $response . "\n";
    
    // 4. Verificar novamente após o teste
    echo "\n4. 🔄 VERIFICAÇÃO APÓS TESTE:\n";
    $stmt = $pdo->prepare("SELECT COUNT(*) as total FROM rastreamento_tempo_real WHERE viagem_id = 267");
    $stmt->execute();
    $total_apos = $stmt->fetch(PDO::FETCH_ASSOC);
    
    echo "   - Total de pontos após teste: " . $total_apos['total'] . "\n";
    
    if ($total_apos['total'] > $total['total']) {
        echo "   ✅ NOVO PONTO FOI SALVO!\n";
    } else {
        echo "   ❌ NENHUM NOVO PONTO FOI SALVO!\n";
    }
    
    echo "\n=== FIM DA VERIFICAÇÃO ===\n";
    
} catch (Exception $e) {
    echo "❌ ERRO: " . $e->getMessage() . "\n";
}
?>
