<?php
header('Content-Type: application/json; charset=utf-8');
header('Access-Control-Allow-Origin: *');
header('Cache-Control: no-cache, no-store, must-revalidate');
header('Pragma: no-cache');
header('Expires: 0');

try {
    // Conectar com banco
    $pdo = new PDO(
        "mysql:host=localhost;dbname=pinheir3_controle_frotasV1.1;charset=utf8mb4",
        "pinheir3",
        "080880Gelboy",
        [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
    );
    
    // 🚗 VEÍCULOS DISPONÍVEIS: que NÃO estão em viagem ativa
    $sqlDisponiveis = "
        SELECT 
            veic.id,
            veic.modelo,
            veic.placa,
            veic.marca,
            veic.tipo,
            veic.status,
            veic.ano_fabricacao
        FROM veiculos veic
        WHERE veic.status = 'ativo'
        AND veic.id NOT IN (
            SELECT DISTINCT v.veiculo_id 
            FROM viagens v 
            WHERE v.data_fim IS NULL
            AND v.veiculo_id IS NOT NULL
        )
        ORDER BY veic.modelo
    ";
    
    // 🚗 VEÍCULOS EM ANDAMENTO: que estão em viagem ativa
    $sqlEmAndamento = "
        SELECT 
            veic.id,
            veic.modelo,
            veic.placa,
            veic.marca,
            veic.tipo,
            veic.status,
            v.id as viagem_id,
            v.cliente,
            v.tecnico_id as motorista,
            v.data_inicio,
            TIMESTAMPDIFF(MINUTE, v.data_inicio, NOW()) as duracao_minutos
        FROM veiculos veic
        INNER JOIN viagens v ON veic.id = v.veiculo_id
        WHERE veic.status = 'ativo'
        AND v.data_fim IS NULL
        ORDER BY v.data_inicio DESC
    ";
    
    // 📊 TOTAL DE VEÍCULOS ATIVOS
    $sqlTotalAtivos = "
        SELECT COUNT(*) as total
        FROM veiculos 
        WHERE status = 'ativo'
    ";
    
    $stmtDisponiveis = $pdo->query($sqlDisponiveis);
    $veiculosDisponiveis = $stmtDisponiveis->fetchAll(PDO::FETCH_ASSOC);
    
    $stmtEmAndamento = $pdo->query($sqlEmAndamento);
    $veiculosEmAndamento = $stmtEmAndamento->fetchAll(PDO::FETCH_ASSOC);
    
    $stmtTotal = $pdo->query($sqlTotalAtivos);
    $totalAtivos = $stmtTotal->fetch(PDO::FETCH_ASSOC)['total'];
    
    $response = [
        'success' => true,
        'timestamp' => date('Y-m-d H:i:s'),
        'estatisticas' => [
            'total_veiculos_ativos' => intval($totalAtivos),
            'veiculos_disponiveis' => count($veiculosDisponiveis),
            'veiculos_em_andamento' => count($veiculosEmAndamento)
        ],
        'veiculos_disponiveis' => $veiculosDisponiveis,
        'veiculos_em_andamento' => $veiculosEmAndamento,
        'message' => 'Estatísticas de veículos carregadas com sucesso'
    ];
    
    echo json_encode($response, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
    
} catch (Exception $e) {
    echo json_encode([
        'success' => false,
        'timestamp' => date('Y-m-d H:i:s'),
        'message' => 'Erro: ' . $e->getMessage(),
        'error_details' => [
            'file' => basename($e->getFile()),
            'line' => $e->getLine()
        ]
    ], JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
}
?> 
