<?php
require_once 'conexao.php';

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

try {
    $pdo = conectarBanco();
    
    // Simular finalização de rota
    $rotaId = 77;
    $kmReal = 10;
    $observacoes = "Teste de finalização";
    $dataFim = date('Y-m-d H:i:s');
    
    echo "Finalizando rota ID: $rotaId\n";
    echo "KM Real: $kmReal\n";
    echo "Observações: $observacoes\n";
    echo "Data Fim: $dataFim\n\n";
    
    // Calcular diferença de KM
    $sqlKmEstimado = "SELECT km_estimado FROM solicitacoes_rotas WHERE id = ?";
    $stmtKm = $pdo->prepare($sqlKmEstimado);
    $stmtKm->execute([$rotaId]);
    $kmEstimado = $stmtKm->fetchColumn() ?: 0;
    
    $diferencaKm = $kmReal - $kmEstimado;
    $justificativaKm = null;
    
    if (abs($diferencaKm) > 5) {
        $justificativaKm = "Diferença significativa: $diferencaKm km";
    }
    
    echo "KM Estimado: $kmEstimado\n";
    echo "Diferença: $diferencaKm km\n";
    echo "Justificativa: " . ($justificativaKm ?: "N/A") . "\n\n";
    
    // Atualizar rota como concluída
    $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 da atualização: success=$success, 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]);
        $rota = $stmtVerificar->fetch(PDO::FETCH_ASSOC);
        
        echo "\n=== RESULTADO ===\n";
        echo "ID: " . $rota['id'] . "\n";
        echo "Título: " . $rota['titulo'] . "\n";
        echo "Status: " . $rota['status'] . "\n";
        echo "KM Real: " . $rota['km_real'] . "\n";
        echo "Data Fim: " . $rota['data_fim_real'] . "\n";
        
    } else {
        echo "❌ Erro ao finalizar rota\n";
    }
    
} catch (Exception $e) {
    echo "❌ ERRO: " . $e->getMessage() . "\n";
    echo "Stack trace:\n" . $e->getTraceAsString() . "\n";
}
?>
