<?php
require_once 'conexao.php';

echo "<h1>🔍 VERIFICANDO ROTA EM ANDAMENTO REAL</h1>\n";

try {
    $pdo = conectarBanco();
    
    // 1. Verificar TODAS as rotas em andamento (qualquer motorista_id)
    echo "<h2>1. Todas as Rotas em Andamento</h2>\n";
    $sql = "SELECT sr.*, m.nome as motorista_nome, m.usuario as motorista_usuario, v.modelo as veiculo_modelo, v.placa as veiculo_placa
            FROM solicitacoes_rotas sr
            LEFT JOIN motoristas m ON sr.motorista_id = m.id
            LEFT JOIN veiculos v ON sr.veiculo_id = v.id
            WHERE sr.status IN ('em_andamento', 'em_execucao')
            ORDER BY sr.data_inicio_real DESC";
    
    $stmt = $pdo->query($sql);
    $rotas = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    if (!empty($rotas)) {
        echo "<p><strong>✅ Rotas em andamento encontradas:</strong></p>\n";
        echo "<table border='1'>\n";
        echo "<tr><th>ID</th><th>Título</th><th>Status</th><th>Motorista ID</th><th>Motorista Nome</th><th>Motorista Usuário</th><th>Veículo</th><th>Data Início</th></tr>\n";
        foreach ($rotas as $rota) {
            echo "<tr>";
            echo "<td>{$rota['id']}</td>";
            echo "<td>{$rota['titulo']}</td>";
            echo "<td>{$rota['status']}</td>";
            echo "<td>{$rota['motorista_id']}</td>";
            echo "<td>{$rota['motorista_nome']}</td>";
            echo "<td>{$rota['motorista_usuario']}</td>";
            echo "<td>{$rota['veiculo_modelo']} - {$rota['veiculo_placa']}</td>";
            echo "<td>{$rota['data_inicio_real']}</td>";
            echo "</tr>\n";
        }
        echo "</table>\n";
    } else {
        echo "<p><strong>❌ Nenhuma rota em andamento encontrada</strong></p>\n";
    }
    
    // 2. Verificar TODAS as viagens em andamento
    echo "<h2>2. Todas as Viagens em Andamento</h2>\n";
    $sql2 = "SELECT v.*, rv.solicitacao_rota_id, sr.titulo as rota_titulo, sr.motorista_id, m.nome as motorista_nome
             FROM viagens v 
             LEFT JOIN rota_viagens rv ON v.id = rv.viagem_id 
             LEFT JOIN solicitacoes_rotas sr ON rv.solicitacao_rota_id = sr.id 
             LEFT JOIN motoristas m ON sr.motorista_id = m.id
             WHERE v.data_fim IS NULL
             ORDER BY v.data_inicio DESC";
    
    $stmt2 = $pdo->query($sql2);
    $viagens = $stmt2->fetchAll(PDO::FETCH_ASSOC);
    
    if (!empty($viagens)) {
        echo "<p><strong>✅ Viagens em andamento encontradas:</strong></p>\n";
        echo "<table border='1'>\n";
        echo "<tr><th>ID</th><th>Cliente</th><th>Técnico ID</th><th>Rota ID</th><th>Rota Título</th><th>Motorista ID</th><th>Motorista Nome</th><th>Data Início</th></tr>\n";
        foreach ($viagens as $viagem) {
            echo "<tr>";
            echo "<td>{$viagem['id']}</td>";
            echo "<td>{$viagem['cliente']}</td>";
            echo "<td>{$viagem['tecnico_id']}</td>";
            echo "<td>" . ($viagem['solicitacao_rota_id'] ?: 'N/A') . "</td>";
            echo "<td>" . ($viagem['rota_titulo'] ?: 'N/A') . "</td>";
            echo "<td>" . ($viagem['motorista_id'] ?: 'N/A') . "</td>";
            echo "<td>" . ($viagem['motorista_nome'] ?: 'N/A') . "</td>";
            echo "<td>{$viagem['data_inicio']}</td>";
            echo "</tr>\n";
        }
        echo "</table>\n";
    } else {
        echo "<p><strong>❌ Nenhuma viagem em andamento encontrada</strong></p>\n";
    }
    
    // 3. Verificar qual motorista tem usuário "admin"
    echo "<h2>3. Verificando Motorista Admin</h2>\n";
    $sql3 = "SELECT id, nome, usuario, status FROM motoristas WHERE usuario = 'admin'";
    $stmt3 = $pdo->query($sql3);
    $admin = $stmt3->fetch(PDO::FETCH_ASSOC);
    
    if ($admin) {
        echo "<p><strong>✅ Admin encontrado:</strong></p>\n";
        echo "<ul>\n";
        echo "<li><strong>ID:</strong> {$admin['id']}</li>\n";
        echo "<li><strong>Nome:</strong> {$admin['nome']}</li>\n";
        echo "<li><strong>Usuário:</strong> {$admin['usuario']}</li>\n";
        echo "<li><strong>Status:</strong> {$admin['status']}</li>\n";
        echo "</ul>\n";
        
        // 4. Testar endpoint com o motorista_id correto do admin
        echo "<h2>4. Testando Endpoint com Motorista ID Correto</h2>\n";
        $adminId = $admin['id'];
        
        // Testar verificar-rota-em-andamento
        $url = "https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/api-simples-v2.php?acao=verificar-rota-em-andamento&tecnico_id=admin";
        
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_TIMEOUT, 10);
        curl_setopt($ch, CURLOPT_HTTPHEADER, [
            'Content-Type: application/json'
        ]);
        
        $response = curl_exec($ch);
        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);
        
        echo "<p><strong>URL:</strong> $url</p>\n";
        echo "<p><strong>HTTP Code:</strong> $httpCode</p>\n";
        echo "<p><strong>Response:</strong></p>\n";
        echo "<pre>" . htmlspecialchars($response) . "</pre>\n";
        
        echo "<p><strong>💡 SUGESTÃO:</strong> Se o admin tem ID diferente de 1, precisamos corrigir o endpoint para usar o ID correto!</p>\n";
        
    } else {
        echo "<p><strong>❌ Admin não encontrado</strong></p>\n";
    }
    
} catch (Exception $e) {
    echo "<p><strong>❌ Erro:</strong> " . $e->getMessage() . "</p>\n";
}
?>
