<?php
require_once 'conexao.php';

echo "=== TESTE FINALIZAR ROTA SIMPLES ===\n";

try {
    $pdo = conectarBanco();
    
    // Simular exatamente o que o app está enviando
    $rotaId = 77;
    $kmReal = 10;
    $observacoes = "";
    $dataFim = "2025-08-25T18:47:21.080757";
    
    echo "Dados de entrada:\n";
    echo "- rota_id: $rotaId\n";
    echo "- km_real: $kmReal\n";
    echo "- observacoes_finais: '$observacoes'\n";
    echo "- data_fim: $dataFim\n\n";
    
    // 1. Verificar se a rota existe
    $sqlRota = "SELECT id, titulo, status, km_estimado FROM solicitacoes_rotas WHERE id = ?";
    $stmtRota = $pdo->prepare($sqlRota);
    $stmtRota->execute([$rotaId]);
    $rota = $stmtRota->fetch(PDO::FETCH_ASSOC);
    
    if (!$rota) {
        echo "❌ Rota $rotaId não encontrada\n";
        exit;
    }
    
    echo "✅ Rota encontrada: {$rota['titulo']} (Status: {$rota['status']})\n";
    echo "KM Estimado: {$rota['km_estimado']}\n\n";
    
    // 2. Calcular diferença de KM
    $diferencaKm = $kmReal - $rota['km_estimado'];
    $justificativaKm = '';
    
    if (abs($diferencaKm) > 5) {
        $justificativaKm = 'Diferença significativa detectada';
    }
    
    echo "Diferença KM: $diferencaKm\n";
    echo "Justificativa: '$justificativaKm'\n\n";
    
    // 3. Executar o UPDATE exato
    $sql = "UPDATE solicitacoes_rotas SET 
            status = 'concluida',
            km_real = ?,
            diferenca_km_calculada = ?,
            justificativa_km = ?,
            observacoes_finais = ?,
            data_fim_real = ?
            WHERE id = ?";
    
    echo "SQL: $sql\n";
    echo "Parâmetros: [$kmReal, $diferencaKm, '$justificativaKm', '$observacoes', '$dataFim', $rotaId]\n\n";
    
    $stmt = $pdo->prepare($sql);
    $success = $stmt->execute([
        $kmReal,
        $diferencaKm,
        $justificativaKm,
        $observacoes,
        $dataFim,
        $rotaId
    ]);
    
    echo "Resultado:\n";
    echo "- Success: " . ($success ? 'true' : 'false') . "\n";
    echo "- RowCount: " . $stmt->rowCount() . "\n";
    
    if ($success && $stmt->rowCount() > 0) {
        echo "✅ Rota finalizada com sucesso!\n";
        
        // Verificar resultado
        $sqlVerificar = "SELECT id, titulo, status, km_real, data_fim_real FROM solicitacoes_rotas WHERE id = ?";
        $stmtVerificar = $pdo->prepare($sqlVerificar);
        $stmtVerificar->execute([$rotaId]);
        $rotaFinalizada = $stmtVerificar->fetch(PDO::FETCH_ASSOC);
        
        echo "\nResultado final:\n";
        echo "- ID: {$rotaFinalizada['id']}\n";
        echo "- Título: {$rotaFinalizada['titulo']}\n";
        echo "- Status: {$rotaFinalizada['status']}\n";
        echo "- KM Real: {$rotaFinalizada['km_real']}\n";
        echo "- Data Fim: {$rotaFinalizada['data_fim_real']}\n";
        
    } else {
        echo "❌ Falha ao finalizar rota\n";
    }
    
} catch (Exception $e) {
    echo "❌ ERRO: " . $e->getMessage() . "\n";
    echo "Stack trace:\n" . $e->getTraceAsString() . "\n";
}
?>
