<?php
/**
 * Debug - Verificar todas as viagens no banco
 * Para diagnosticar o problema das viagens só aparecerem quando finalizadas
 */

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

// Conectar ao banco
$host = 'localhost';
$dbname = 'pinheir3_controle_frotasV1.1';
$username = 'pinheir3_admin';
$password = '080880Gelboy';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password, [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    ]);
    
    echo "<h2>🔍 Debug - Diagnóstico de Viagens</h2>";
    
    // 1. Contar todas as viagens
    echo "<h3>📊 Estatísticas das Viagens</h3>";
    
    $stmt = $pdo->query("SELECT COUNT(*) as total FROM viagens");
    $totalViagens = $stmt->fetch()['total'];
    
    $stmt = $pdo->query("SELECT COUNT(*) as ativas FROM viagens WHERE data_fim IS NULL");
    $viagensAtivas = $stmt->fetch()['ativas'];
    
    $stmt = $pdo->query("SELECT COUNT(*) as finalizadas FROM viagens WHERE data_fim IS NOT NULL");
    $viagensFinalizadas = $stmt->fetch()['finalizadas'];
    
    echo "<div style='display: flex; gap: 20px; margin: 20px 0;'>";
    echo "<div style='background: #e3f2fd; border: 1px solid #2196f3; padding: 15px; border-radius: 5px; flex: 1;'>";
    echo "<h4>📋 Total de Viagens</h4>";
    echo "<strong style='font-size: 24px; color: #1976d2;'>{$totalViagens}</strong>";
    echo "</div>";
    
    echo "<div style='background: #e8f5e8; border: 1px solid #4caf50; padding: 15px; border-radius: 5px; flex: 1;'>";
    echo "<h4>✅ Viagens Ativas</h4>";
    echo "<strong style='font-size: 24px; color: #388e3c;'>{$viagensAtivas}</strong><br>";
    echo "<small>data_fim IS NULL</small>";
    echo "</div>";
    
    echo "<div style='background: #ffebee; border: 1px solid #f44336; padding: 15px; border-radius: 5px; flex: 1;'>";
    echo "<h4>🏁 Viagens Finalizadas</h4>";
    echo "<strong style='font-size: 24px; color: #d32f2f;'>{$viagensFinalizadas}</strong><br>";
    echo "<small>data_fim IS NOT NULL</small>";
    echo "</div>";
    echo "</div>";
    
    // 2. Mostrar todas as viagens (últimas 10)
    echo "<h3>📝 Últimas 10 Viagens</h3>";
    $stmt = $pdo->query("
        SELECT 
            v.id, v.cliente, v.motivo, v.data_inicio, v.data_fim,
            v.latitude_inicial, v.longitude_inicial,
            v.tecnico_id, v.veiculo_id, v.sincronizado,
            m.nome as motorista_nome,
            ve.modelo as veiculo_modelo, ve.placa as veiculo_placa
        FROM viagens v
        LEFT JOIN motoristas m ON v.tecnico_id = m.id
        LEFT JOIN veiculos ve ON v.veiculo_id = ve.id
        ORDER BY v.id DESC
        LIMIT 10
    ");
    $ultimasViagens = $stmt->fetchAll();
    
    if (empty($ultimasViagens)) {
        echo "<div style='background: #fff3cd; border: 1px solid #ffeaa7; color: #856404; padding: 15px; border-radius: 5px;'>";
        echo "⚠️ <strong>Nenhuma viagem encontrada no banco!</strong><br>";
        echo "Isso explica por que o mapa não mostra nada.";
        echo "</div>";
    } else {
        echo "<table border='1' style='border-collapse: collapse; width: 100%; margin: 10px 0; font-size: 12px;'>";
        echo "<tr style='background: #f8f9fa;'>";
        echo "<th>ID</th><th>Cliente</th><th>Motorista</th><th>Veículo</th>";
        echo "<th>Data Início</th><th>Data Fim</th><th>Status</th><th>GPS</th>";
        echo "</tr>";
        
        foreach ($ultimasViagens as $v) {
            $status = $v['data_fim'] ? 'Finalizada' : 'Ativa';
            $statusColor = $v['data_fim'] ? '#ffebee' : '#e8f5e8';
            
            echo "<tr style='background: {$statusColor};'>";
            echo "<td><strong>{$v['id']}</strong></td>";
            echo "<td>{$v['cliente']}</td>";
            echo "<td>{$v['motorista_nome']}</td>";
            echo "<td>{$v['veiculo_modelo']} - {$v['veiculo_placa']}</td>";
            echo "<td>" . date('d/m/Y H:i', strtotime($v['data_inicio'])) . "</td>";
            echo "<td>" . ($v['data_fim'] ? date('d/m/Y H:i', strtotime($v['data_fim'])) : '-') . "</td>";
            echo "<td><strong>{$status}</strong></td>";
            echo "<td>{$v['latitude_inicial']}, {$v['longitude_inicial']}</td>";
            echo "</tr>";
        }
        echo "</table>";
    }
    
    // 3. Verificar tabelas relacionadas
    echo "<h3>🔗 Tabelas Relacionadas</h3>";
    
    // Motoristas
    try {
        $stmt = $pdo->query("SELECT COUNT(*) as total FROM motoristas");
        $totalMotoristas = $stmt->fetch()['total'];
        echo "<p>👥 <strong>Motoristas:</strong> {$totalMotoristas}</p>";
    } catch (Exception $e) {
        echo "<p>👥 <strong>Motoristas:</strong> ❌ Erro: {$e->getMessage()}</p>";
    }
    
    // Veículos
    try {
        $stmt = $pdo->query("SELECT COUNT(*) as total FROM veiculos");
        $totalVeiculos = $stmt->fetch()['total'];
        echo "<p>🚗 <strong>Veículos:</strong> {$totalVeiculos}</p>";
    } catch (Exception $e) {
        echo "<p>🚗 <strong>Veículos:</strong> ❌ Erro: {$e->getMessage()}</p>";
    }
    
    // 4. Testar API de rastreamento
    echo "<h3>🌐 Teste da API de Rastreamento</h3>";
    
    $apiUrl = 'https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/api-simples-v2.php?acao=rastreamento';
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $apiUrl);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    if ($httpCode == 200) {
        $data = json_decode($response, true);
        if ($data && $data['sucesso']) {
            echo "<div style='background: #d4edda; border: 1px solid #c3e6cb; color: #155724; padding: 15px; border-radius: 5px;'>";
            echo "✅ <strong>API de Rastreamento OK!</strong><br>";
            echo "Viagens ativas encontradas: " . count($data['dados']) . "<br>";
            if (!empty($data['dados'])) {
                foreach ($data['dados'] as $i => $v) {
                    echo "• Viagem " . ($i + 1) . ": {$v['cliente']} (ID: {$v['id']})<br>";
                }
            } else {
                echo "⚠️ Nenhuma viagem ativa retornada pela API";
            }
            echo "</div>";
        } else {
            echo "<div style='background: #f8d7da; border: 1px solid #f5c6cb; color: #721c24; padding: 15px; border-radius: 5px;'>";
            echo "❌ <strong>Erro na API:</strong> " . ($data['mensagem'] ?? 'Erro desconhecido');
            echo "</div>";
        }
    } else {
        echo "<div style='background: #f8d7da; border: 1px solid #f5c6cb; color: #721c24; padding: 15px; border-radius: 5px;'>";
        echo "❌ <strong>Erro HTTP {$httpCode}</strong><br>";
        echo "Resposta: " . htmlspecialchars($response);
        echo "</div>";
    }
    
    echo "<hr>";
    echo "<h3>🎯 Links Úteis</h3>";
    echo "<div style='display: flex; gap: 10px; flex-wrap: wrap; margin: 20px 0;'>";
    
    echo "<a href='https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/admin/dashboard.html' target='_blank' style='background: #007bff; color: white; padding: 15px 25px; text-decoration: none; border-radius: 5px; display: inline-block;'>🗺️ Ver Dashboard</a>";
    
    echo "<a href='https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/reabrir-viagem-para-teste.php' target='_blank' style='background: #17a2b8; color: white; padding: 15px 25px; text-decoration: none; border-radius: 5px; display: inline-block;'>🔧 Reabrir Viagem</a>";
    
    echo "<a href='https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/criar-viagem-teste.php' target='_blank' style='background: #28a745; color: white; padding: 15px 25px; text-decoration: none; border-radius: 5px; display: inline-block;'>➕ Criar Viagem</a>";
    
    echo "</div>";
    
} catch (Exception $e) {
    echo "<div style='background: #f8d7da; border: 1px solid #f5c6cb; color: #721c24; padding: 15px; border-radius: 5px;'>";
    echo "<strong>❌ Erro de Conexão:</strong><br>";
    echo "Mensagem: " . $e->getMessage() . "<br>";
    echo "Linha: " . $e->getLine() . "<br>";
    echo "Arquivo: " . $e->getFile();
    echo "</div>";
}
?> 
