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

// Simular os dados que o app enviou
$viagemIdLocal = 15; // ID incorreto que o app enviou
$veiculoId = 6;      // ID do veículo
$dataHoraChecklist = "2025-07-04 17:53:39"; // Data do checklist dos logs

echo "=== DIAGNÓSTICO DA BUSCA DE VIAGEM ===\n\n";
echo "Dados do app:\n";
echo "- viagemId enviado: $viagemIdLocal\n";
echo "- veiculoId: $veiculoId\n";
echo "- dataHora checklist: $dataHoraChecklist\n\n";

try {
    $pdo = new PDO($dsn, $username, $password, $options);
    
    // Extrair data do checklist
    $dataChecklist = date('Y-m-d', strtotime($dataHoraChecklist));
    echo "Data extraída para busca: $dataChecklist\n\n";
    
    // TESTE 1: Buscar viagem pelo veículo no mesmo dia do checklist
    echo "TESTE 1 - Mesmo veículo, mesmo dia:\n";
    $sql1 = "SELECT id, veiculo_id, cliente, data_inicio, DATE(data_inicio) as data_inicio_date 
             FROM viagens 
             WHERE veiculo_id = ? 
             AND DATE(data_inicio) = ? 
             ORDER BY data_inicio DESC 
             LIMIT 3";
    
    $stmt = $pdo->prepare($sql1);
    $stmt->execute([$veiculoId, $dataChecklist]);
    $resultados1 = $stmt->fetchAll();
    
    echo "Query: $sql1\n";
    echo "Parâmetros: veiculoId=$veiculoId, data=$dataChecklist\n";
    echo "Resultados encontrados: " . count($resultados1) . "\n";
    
    if ($resultados1) {
        foreach ($resultados1 as $r) {
            echo "  - ID: {$r['id']}, Cliente: {$r['cliente']}, Data: {$r['data_inicio']}\n";
        }
        echo "✅ SUCESSO! Deveria usar viagem ID: {$resultados1[0]['id']}\n\n";
    } else {
        echo "❌ Nenhuma viagem encontrada\n\n";
    }
    
    // TESTE 2: Buscar viagem do mesmo veículo hoje (CURDATE)
    echo "TESTE 2 - Mesmo veículo, hoje (CURDATE):\n";
    $sql2 = "SELECT id, veiculo_id, cliente, data_inicio, DATE(data_inicio) as data_inicio_date 
             FROM viagens 
             WHERE veiculo_id = ? 
             AND DATE(data_inicio) = CURDATE() 
             ORDER BY data_inicio DESC 
             LIMIT 3";
    
    $stmt = $pdo->prepare($sql2);
    $stmt->execute([$veiculoId]);
    $resultados2 = $stmt->fetchAll();
    
    echo "Query: $sql2\n";
    echo "Parâmetros: veiculoId=$veiculoId\n";
    echo "Resultados encontrados: " . count($resultados2) . "\n";
    
    if ($resultados2) {
        foreach ($resultados2 as $r) {
            echo "  - ID: {$r['id']}, Cliente: {$r['cliente']}, Data: {$r['data_inicio']}\n";
        }
        echo "✅ SUCESSO! Deveria usar viagem ID: {$resultados2[0]['id']}\n\n";
    } else {
        echo "❌ Nenhuma viagem encontrada\n\n";
    }
    
    // TESTE 3: Verificar todas as viagens de hoje
    echo "TESTE 3 - Todas as viagens de hoje:\n";
    $sql3 = "SELECT id, veiculo_id, cliente, data_inicio 
             FROM viagens 
             WHERE DATE(data_inicio) = CURDATE() 
             ORDER BY id DESC";
    
    $stmt = $pdo->prepare($sql3);
    $stmt->execute();
    $todasViagens = $stmt->fetchAll();
    
    echo "Total de viagens hoje: " . count($todasViagens) . "\n";
    foreach ($todasViagens as $v) {
        echo "  - ID: {$v['id']}, Veículo: {$v['veiculo_id']}, Cliente: {$v['cliente']}, Data: {$v['data_inicio']}\n";
    }
    
    // TESTE 4: Verificar se o ID 15 existe
    echo "\nTESTE 4 - Verificar se viagem ID 15 existe:\n";
    $sql4 = "SELECT id, veiculo_id, cliente, data_inicio FROM viagens WHERE id = ?";
    $stmt = $pdo->prepare($sql4);
    $stmt->execute([$viagemIdLocal]);
    $viagem15 = $stmt->fetch();
    
    if ($viagem15) {
        echo "✅ Viagem ID 15 existe: Veículo {$viagem15['veiculo_id']}, Cliente: {$viagem15['cliente']}\n";
    } else {
        echo "❌ Viagem ID 15 NÃO EXISTE\n";
    }
    
    // CONCLUSÃO
    echo "\n=== CONCLUSÃO ===\n";
    if ($resultados1 || $resultados2) {
        $viagemCorreta = $resultados1 ? $resultados1[0]['id'] : $resultados2[0]['id'];
        echo "✅ A busca DEVERIA encontrar viagem ID: $viagemCorreta\n";
        echo "❌ Mas o checklist foi salvo com viagem_id: $viagemIdLocal\n";
        echo "🔍 PROBLEMA: A correção não está sendo aplicada!\n";
    } else {
        echo "❌ Nenhuma viagem encontrada pelos critérios de busca\n";
        echo "🔍 PROBLEMA: Critérios de busca muito restritivos\n";
    }
    
} catch (Exception $e) {
    echo "ERRO: " . $e->getMessage() . "\n";
}
?> 
