<?php
header('Content-Type: application/json; charset=utf-8');

$host = 'localhost';
$dbname = 'controle_frota';
$username = 'root';
$password = '';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    // 1. Contar total de viagens
    $stmt = $pdo->query("SELECT COUNT(*) as total FROM viagens");
    $totalViagens = $stmt->fetch()['total'];
    
    // 2. Identificar duplicatas
    $sql = "
        SELECT 
            tecnico_id, veiculo_id, cliente, DATE(data_inicio) as data_dia, km_inicial,
            COUNT(*) as total,
            GROUP_CONCAT(id ORDER BY id) as ids
        FROM viagens 
        GROUP BY tecnico_id, veiculo_id, cliente, DATE(data_inicio), km_inicial
        HAVING COUNT(*) > 1
        ORDER BY total DESC
    ";
    
    $stmt = $pdo->query($sql);
    $duplicatas = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    $totalDuplicadas = 0;
    $totalParaRemover = 0;
    
    // 3. Buscar detalhes de cada grupo de duplicatas
    foreach ($duplicatas as &$grupo) {
        $ids = explode(',', $grupo['ids']);
        
        // Buscar detalhes de cada viagem do grupo
        $stmt = $pdo->prepare("
            SELECT id, data_inicio, data_fim, km_final, sincronizado, 
                   CASE WHEN data_fim IS NULL THEN 'ATIVA' ELSE 'FINALIZADA' END as status
            FROM viagens 
            WHERE id IN (" . implode(',', array_fill(0, count($ids), '?')) . ")
            ORDER BY id
        ");
        $stmt->execute($ids);
        $grupo['detalhes'] = $stmt->fetchAll(PDO::FETCH_ASSOC);
        
        $totalDuplicadas += $grupo['total'];
        $totalParaRemover += ($grupo['total'] - 1);
    }
    
    echo json_encode([
        'sucesso' => true,
        'dados' => [
            'total_viagens' => $totalViagens,
            'duplicatas' => $duplicatas,
            'total_duplicadas' => $totalDuplicadas,
            'total_para_remover' => $totalParaRemover,
            'grupos_duplicatas' => count($duplicatas)
        ]
    ]);
    
} catch (Exception $e) {
    echo json_encode([
        'sucesso' => false,
        'mensagem' => $e->getMessage()
    ]);
}
?> 
