<?php
/**
 * Script para testar a API de solicitações de viagem
 */

// Configuração
$baseUrl = 'https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/';
$apiUrl = $baseUrl . 'api/gestao/solicitacoes-viagem-simples.php?acao=criar';

echo "🧪 Testando API de Solicitações\n";
echo "📡 URL: $apiUrl\n\n";

// Dados de teste
$dados = [
    'veiculo_id' => 2,
    'cliente' => 'João Silva',
    'motivo' => 'teste',
    'km_inicial' => 10,
    'latitude_inicial' => 37.42199830,
    'longitude_inicial' => -122.08400000,
    'endereco_inicial' => 'Amphitheatre Parkway, 43, Mountain View - California',
    'cliente_id' => 2,
    'gestor_id' => 2,
    'observacoes' => 'teste',
    'prioridade' => 'normal'
];

echo "📄 Dados enviados:\n";
echo json_encode($dados, JSON_PRETTY_PRINT) . "\n\n";

// Configurar cURL
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($dados));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'Accept: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

// Executar requisição
echo "🔄 Enviando requisição...\n";
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);

echo "📊 Código HTTP: $httpCode\n";

if ($error) {
    echo "❌ Erro cURL: $error\n";
} else {
    echo "✅ Resposta recebida:\n";
    echo $response . "\n\n";
    
    // Decodificar resposta
    $jsonResponse = json_decode($response, true);
    if ($jsonResponse) {
        if (isset($jsonResponse['success']) && $jsonResponse['success']) {
            echo "🎉 Sucesso! Solicitação criada.\n";
            if (isset($jsonResponse['data']['solicitacao_id'])) {
                echo "🆔 ID da solicitação: " . $jsonResponse['data']['solicitacao_id'] . "\n";
            }
        } else {
            echo "❌ Erro na resposta: " . ($jsonResponse['message'] ?? 'Erro desconhecido') . "\n";
        }
    } else {
        echo "❌ Resposta não é JSON válido\n";
    }
}

echo "\n🔍 Verificando se a solicitação foi salva no banco...\n";

// Verificar no 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->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    $sql = "SELECT * FROM solicitacoes_viagem WHERE cliente = ? AND motivo = ? ORDER BY id DESC LIMIT 1";
    $stmt = $pdo->prepare($sql);
    $stmt->execute(['João Silva', 'teste']);
    $solicitacao = $stmt->fetch(PDO::FETCH_ASSOC);
    
    if ($solicitacao) {
        echo "✅ Solicitação encontrada no banco:\n";
        echo "🆔 ID: " . $solicitacao['id'] . "\n";
        echo "👤 Cliente: " . $solicitacao['cliente'] . "\n";
        echo "📝 Motivo: " . $solicitacao['motivo'] . "\n";
        echo "🚗 Veículo ID: " . $solicitacao['veiculo_id'] . "\n";
        echo "👨‍💼 Gestor ID: " . $solicitacao['gestor_id'] . "\n";
        echo "📅 Data: " . $solicitacao['created_at'] . "\n";
        echo "📊 Status: " . $solicitacao['status'] . "\n";
    } else {
        echo "❌ Solicitação não encontrada no banco\n";
    }
    
} catch (Exception $e) {
    echo "❌ Erro ao verificar banco: " . $e->getMessage() . "\n";
}
?> 
