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

echo "<h1>🧪 Teste do Sistema de Retomada Automática</h1>\n";

try {
    $pdo = conectarBanco();
    
    echo "<h2>1. Verificando viagens em andamento no banco local</h2>\n";
    
    // Buscar viagens em andamento
    $sql = "SELECT * FROM viagens WHERE data_fim IS NULL ORDER BY data_inicio DESC";
    $stmt = $pdo->prepare($sql);
    $stmt->execute();
    $viagensEmAndamento = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    if (empty($viagensEmAndamento)) {
        echo "<p>❌ Nenhuma viagem em andamento encontrada no banco local</p>\n";
    } else {
        echo "<p>✅ Encontradas " . count($viagensEmAndamento) . " viagens em andamento:</p>\n";
        echo "<ul>\n";
        foreach ($viagensEmAndamento as $viagem) {
            echo "<li>Viagem ID: {$viagem['id']} - Técnico: {$viagem['tecnico_id']} - Cliente: {$viagem['cliente']}</li>\n";
        }
        echo "</ul>\n";
    }
    
    echo "<h2>2. Testando verificar-rota-em-andamento</h2>\n";
    
    // Testar com técnico ID 1
    $url2 = "https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/api-simples-v2.php?acao=verificar-rota-em-andamento&tecnico_id=1";
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url2);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    
    $response2 = curl_exec($ch);
    $httpCode2 = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    echo "<p>📡 HTTP Code: $httpCode2</p>\n";
    echo "<p>📄 Response: $response2</p>\n";
    
    if ($httpCode2 == 200) {
        $data2 = json_decode($response2, true);
        if ($data2 && $data2['sucesso']) {
            if ($data2['dados']) {
                echo "<p>✅ Rota em andamento encontrada: ID {$data2['dados']['id']}</p>\n";
            } else {
                echo "<p>📭 Nenhuma rota em andamento encontrada</p>\n";
            }
        } else {
            echo "<p>❌ Erro na API: " . ($data2['mensagem'] ?? 'Erro desconhecido') . "</p>\n";
        }
    } else {
        echo "<p>❌ Erro HTTP: $httpCode2</p>\n";
    }
    
    echo "<h2>3. Verificando rotas em andamento no banco</h2>\n";
    
    // Buscar rotas em andamento
    $sqlRotas = "SELECT sr.*, m.nome as motorista_nome, v.modelo as veiculo_modelo 
                 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";
    
    $stmtRotas = $pdo->prepare($sqlRotas);
    $stmtRotas->execute();
    $rotasEmAndamento = $stmtRotas->fetchAll(PDO::FETCH_ASSOC);
    
    if (empty($rotasEmAndamento)) {
        echo "<p>❌ Nenhuma rota em andamento encontrada no banco</p>\n";
    } else {
        echo "<p>✅ Encontradas " . count($rotasEmAndamento) . " rotas em andamento:</p>\n";
        echo "<ul>\n";
        foreach ($rotasEmAndamento as $rota) {
            echo "<li>Rota ID: {$rota['id']} - Motorista: {$rota['motorista_nome']} - Status: {$rota['status']}</li>\n";
        }
        echo "</ul>\n";
    }
    
    echo "<h2>4. Verificando viagens de rotas em andamento</h2>\n";
    
    // Buscar viagens de rotas em andamento
    $sqlViagensRotas = "SELECT v.*, rv.solicitacao_rota_id, sr.status as rota_status
                        FROM viagens v 
                        INNER JOIN rota_viagens rv ON v.id = rv.viagem_id 
                        INNER JOIN solicitacoes_rotas sr ON rv.solicitacao_rota_id = sr.id
                        WHERE sr.status IN ('em_andamento', 'em_execucao')
                        AND v.data_fim IS NULL
                        ORDER BY v.data_inicio DESC";
    
    $stmtViagensRotas = $pdo->prepare($sqlViagensRotas);
    $stmtViagensRotas->execute();
    $viagensRotas = $stmtViagensRotas->fetchAll(PDO::FETCH_ASSOC);
    
    if (empty($viagensRotas)) {
        echo "<p>❌ Nenhuma viagem de rota em andamento encontrada</p>\n";
    } else {
        echo "<p>✅ Encontradas " . count($viagensRotas) . " viagens de rotas em andamento:</p>\n";
        echo "<ul>\n";
        foreach ($viagensRotas as $viagem) {
            echo "<li>Viagem ID: {$viagem['id']} - Rota ID: {$viagem['solicitacao_rota_id']} - Técnico: {$viagem['tecnico_id']}</li>\n";
        }
        echo "</ul>\n";
    }
    
} catch (Exception $e) {
    echo "<p>❌ Erro: " . $e->getMessage() . "</p>\n";
}
?>
