<?php
echo "<h2>🚗 Testando Finalização de Rota com Liberação Automática</h2>";

// Pegar ID da rota via parâmetro ou usar padrão
$rotaId = isset($_GET['rota_id']) ? (int)$_GET['rota_id'] : 40; // ID da rota de teste
$kmReal = 50; // KM final
$observacoes = "Teste de liberação automática";

$url = "https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/api-simples-v2.php?acao=finalizar-rota-execucao";

echo "<h3>Testando URL:</h3>";
echo "URL: $url<br>";
echo "Rota ID: $rotaId<br>";
echo "KM Real: $kmReal<br>";

// Primeiro testar se a API responde
echo "<h3>1. Testando se a API responde:</h3>";
$testUrl = "https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/api-simples-v2.php?acao=teste";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $testUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$testResponse = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);

echo "HTTP Code: $httpCode<br>";
echo "Curl Error: " . ($error ?: 'Nenhum') . "<br>";

if ($testResponse) {
    echo "✅ API respondeu!<br>";
    echo "Teste Response: " . htmlspecialchars($testResponse) . "<br>";
} else {
    echo "❌ API não respondeu<br>";
    return;
}

echo "<h3>2. Testando finalização de rota:</h3>";

try {
    // Preparar dados para POST
    $data = [
        'rota_id' => $rotaId,
        'km_real' => $kmReal,
        'observacoes_finais' => $observacoes,
        'data_fim' => date('Y-m-d H:i:s')
    ];
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json',
        'Content-Length: ' . strlen(json_encode($data))
    ]);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $error = curl_error($ch);
    curl_close($ch);
    
    echo "HTTP Code: $httpCode<br>";
    echo "Curl Error: " . ($error ?: 'Nenhum') . "<br>";
    
    if ($response === false) {
        echo "❌ Erro ao acessar API<br>";
        return;
    }
    
    echo "<h3>Response:</h3>";
    echo "<pre>" . htmlspecialchars($response) . "</pre>";
    
    $data = json_decode($response, true);
    
    if ($data) {
        if ($data['sucesso']) {
            echo "<h3>✅ Rota finalizada com sucesso!</h3>";
            echo "Rota ID: {$data['dados']['rota_id']}<br>";
            echo "KM Real: {$data['dados']['km_real']}<br>";
            echo "Status: {$data['dados']['status']}<br>";
            echo "Viagens atualizadas: {$data['dados']['viagens_atualizadas']}<br>";
            
            if (isset($data['dados']['veiculo_liberado'])) {
                echo "🚗 Veículo liberado: ID {$data['dados']['veiculo_liberado']}<br>";
            }
            
            // Verificar se o veículo foi realmente liberado
            echo "<h3>🔍 Verificando status do veículo:</h3>";
            require_once 'conexao.php';
            
            $sql = "SELECT v.id, v.modelo, v.placa, v.status, sr.id as rota_id, sr.status as rota_status 
                    FROM veiculos v 
                    LEFT JOIN solicitacoes_rotas sr ON v.id = sr.veiculo_id AND sr.id = ?
                    WHERE v.id = (SELECT veiculo_id FROM solicitacoes_rotas WHERE id = ?)";
            
            $stmt = $pdo->prepare($sql);
            $stmt->execute([$rotaId, $rotaId]);
            $veiculo = $stmt->fetch(PDO::FETCH_ASSOC);
            
            if ($veiculo) {
                echo "✅ Veículo encontrado:<br>";
                echo "- ID: {$veiculo['id']}<br>";
                echo "- Modelo: {$veiculo['modelo']}<br>";
                echo "- Placa: {$veiculo['placa']}<br>";
                echo "- Status: <strong>{$veiculo['status']}</strong><br>";
                echo "- Rota ID: {$veiculo['rota_id']}<br>";
                echo "- Status da Rota: {$veiculo['rota_status']}<br>";
                
                if ($veiculo['status'] === 'ativo') {
                    echo "🎉 SUCCESS: Veículo liberado automaticamente!<br>";
                } else {
                    echo "❌ FAIL: Veículo não foi liberado. Status: {$veiculo['status']}<br>";
                }
            } else {
                echo "❌ Veículo não encontrado<br>";
            }
            
        } else {
            echo "<h3>❌ API retornou erro:</h3>";
            echo "Mensagem: {$data['mensagem']}<br>";
        }
    } else {
        echo "<h3>❌ Erro ao decodificar JSON:</h3>";
        echo "Response não é JSON válido<br>";
    }
    
} catch (Exception $e) {
    echo "❌ Erro: " . $e->getMessage() . "<br>";
}
?>
