<?php
header('Content-Type: text/html; charset=utf-8');
require_once 'config/database.php';

echo "<h1>🔍 Diagnóstico da Retomada Automática</h1>";

try {
    $pdo = conectarBanco();
    
    // 1. Verificar viagens ativas
    echo "<h2>📋 Viagens Ativas</h2>";
    $sql = "SELECT id, tecnico_id, cliente, data_inicio, data_fim, trajeto FROM viagens WHERE data_fim IS NULL ORDER BY data_inicio DESC";
    $stmt = $pdo->query($sql);
    $viagens = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    echo "<p><strong>Total de viagens ativas:</strong> " . count($viagens) . "</p>";
    
    if (count($viagens) > 0) {
        echo "<table border='1' style='border-collapse: collapse; width: 100%;'>";
        echo "<tr><th>ID</th><th>Técnico</th><th>Cliente</th><th>Início</th><th>Fim</th><th>Pontos</th></tr>";
        
        foreach ($viagens as $viagem) {
            $trajeto = json_decode($viagem['trajeto'], true);
            $pontos = is_array($trajeto) ? count($trajeto) : 0;
            
            echo "<tr>";
            echo "<td>{$viagem['id']}</td>";
            echo "<td>{$viagem['tecnico_id']}</td>";
            echo "<td>{$viagem['cliente']}</td>";
            echo "<td>{$viagem['data_inicio']}</td>";
            echo "<td>" . ($viagem['data_fim'] ?: 'NULL') . "</td>";
            echo "<td>$pontos</td>";
            echo "</tr>";
        }
        echo "</table>";
    }
    
    // 2. Verificar rotas ativas
    echo "<h2>🚗 Rotas Ativas</h2>";
    $sql = "SELECT id, motorista_id, status FROM solicitacoes_rotas WHERE status = 'em_andamento' ORDER BY id DESC";
    $stmt = $pdo->query($sql);
    $rotas = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    echo "<p><strong>Total de rotas ativas:</strong> " . count($rotas) . "</p>";
    
    if (count($rotas) > 0) {
        echo "<table border='1' style='border-collapse: collapse; width: 100%;'>";
        echo "<tr><th>ID</th><th>Motorista</th><th>Status</th></tr>";
        
        foreach ($rotas as $rota) {
            echo "<tr>";
            echo "<td>{$rota['id']}</td>";
            echo "<td>{$rota['motorista_id']}</td>";
            echo "<td>{$rota['status']}</td>";
            echo "</tr>";
        }
        echo "</table>";
    }
    
    // 3. Testar API verificar-viagem-em-andamento
    echo "<h2>🔌 Teste da API verificar-viagem-em-andamento</h2>";
    
    $url = 'https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/api-simples-v2.php';
    $data = [
        'action' => 'verificar-viagem-em-andamento',
        'tecnico_id' => '4'
    ];
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    echo "<p><strong>HTTP Code:</strong> $httpCode</p>";
    echo "<p><strong>Resposta da API:</strong></p>";
    echo "<pre>" . htmlspecialchars($response) . "</pre>";
    
    // 4. Testar API verificar-rota-em-andamento
    echo "<h2>🔌 Teste da API verificar-rota-em-andamento</h2>";
    
    $data = [
        'action' => 'verificar-rota-em-andamento',
        'motorista_id' => '4'
    ];
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    echo "<p><strong>HTTP Code:</strong> $httpCode</p>";
    echo "<p><strong>Resposta da API:</strong></p>";
    echo "<pre>" . htmlspecialchars($response) . "</pre>";
    
    // 5. Verificar se há viagens com tecnico_id = 4 (ADMIN)
    echo "<h2>👤 Viagens do ADMIN (Técnico ID = 4)</h2>";
    $sql = "SELECT id, tecnico_id, cliente, data_inicio, data_fim FROM viagens WHERE tecnico_id = '4' ORDER BY data_inicio DESC LIMIT 10";
    $stmt = $pdo->query($sql);
    $viagensTecnico = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    echo "<p><strong>Total de viagens do ADMIN (técnico 4):</strong> " . count($viagensTecnico) . "</p>";
    
    if (count($viagensTecnico) > 0) {
        echo "<table border='1' style='border-collapse: collapse; width: 100%;'>";
        echo "<tr><th>ID</th><th>Técnico</th><th>Cliente</th><th>Início</th><th>Fim</th><th>Status</th></tr>";
        
        foreach ($viagensTecnico as $viagem) {
            $status = $viagem['data_fim'] ? 'Finalizada' : 'Ativa';
            echo "<tr>";
            echo "<td>{$viagem['id']}</td>";
            echo "<td>{$viagem['tecnico_id']}</td>";
            echo "<td>{$viagem['cliente']}</td>";
            echo "<td>{$viagem['data_inicio']}</td>";
            echo "<td>" . ($viagem['data_fim'] ?: 'NULL') . "</td>";
            echo "<td>$status</td>";
            echo "</tr>";
        }
        echo "</table>";
    }
    
    // 6. Verificar se há rotas com motorista_id = 4 (ADMIN)
    echo "<h2>👤 Rotas do ADMIN (Motorista ID = 4)</h2>";
    $sql = "SELECT id, motorista_id, status FROM solicitacoes_rotas WHERE motorista_id = '4' ORDER BY id DESC LIMIT 10";
    $stmt = $pdo->query($sql);
    $rotasMotorista = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    echo "<p><strong>Total de rotas do ADMIN (motorista 4):</strong> " . count($rotasMotorista) . "</p>";
    
    if (count($rotasMotorista) > 0) {
        echo "<table border='1' style='border-collapse: collapse; width: 100%;'>";
        echo "<tr><th>ID</th><th>Motorista</th><th>Status</th></tr>";
        
        foreach ($rotasMotorista as $rota) {
            echo "<tr>";
            echo "<td>{$rota['id']}</td>";
            echo "<td>{$rota['motorista_id']}</td>";
            echo "<td>{$rota['status']}</td>";
            echo "</tr>";
        }
        echo "</table>";
    }
    
    // 7. Análise do problema
    echo "<h2>🔍 Análise do Problema</h2>";
    
    $viagemAtiva = false;
    $rotaAtiva = false;
    
    foreach ($viagens as $viagem) {
        if ($viagem['tecnico_id'] == '4') {
            $viagemAtiva = true;
            break;
        }
    }
    
    foreach ($rotas as $rota) {
        if ($rota['motorista_id'] == '4') {
            $rotaAtiva = true;
            break;
        }
    }
    
    if ($viagemAtiva) {
        echo "<div style='background: #e8f5e8; padding: 15px; border-radius: 5px;'>";
        echo "<h3>✅ VIAGEM ATIVA ENCONTRADA!</h3>";
        echo "<p>Há uma viagem ativa para o ADMIN (técnico ID = 4)</p>";
        echo "<p><strong>Próximo passo:</strong> Verificar se o app está fazendo login com ADMIN (ID = 4)</p>";
        echo "</div>";
    } else {
        echo "<div style='background: #ffe6e6; padding: 15px; border-radius: 5px;'>";
        echo "<h3>❌ NENHUMA VIAGEM ATIVA!</h3>";
        echo "<p>Não há viagens ativas para o ADMIN (técnico ID = 4)</p>";
        echo "<p><strong>Solução:</strong> Criar uma nova viagem de teste para ADMIN</p>";
        echo "</div>";
    }
    
    if ($rotaAtiva) {
        echo "<div style='background: #e8f5e8; padding: 15px; border-radius: 5px;'>";
        echo "<h3>✅ ROTA ATIVA ENCONTRADA!</h3>";
        echo "<p>Há uma rota ativa para o ADMIN (motorista ID = 4)</p>";
        echo "</div>";
    } else {
        echo "<div style='background: #fff3cd; padding: 15px; border-radius: 5px;'>";
        echo "<h3>⚠️ NENHUMA ROTA ATIVA!</h3>";
        echo "<p>Não há rotas ativas para o ADMIN (motorista ID = 4)</p>";
        echo "<p><strong>Nota:</strong> Isso é normal se você está testando apenas viagens</p>";
        echo "</div>";
    }
    
} catch (Exception $e) {
    echo "<p>❌ Erro: " . $e->getMessage() . "</p>";
}
?>
