<?php
require_once '../5_config/config.php';
$usuario = verificarAuth();
$db = getDB();
$perfil = $usuario['perfil'];

if (!temPermissao('criar', $perfil)) {
    die(json_encode(['erro' => 'Acesso negado']));
}

$unidade_id = intval($_POST['unidade_id'] ?? 0);
if (!$unidade_id || !temAcessoUnidade($unidade_id, $usuario['id'], $perfil)) {
    die(json_encode(['erro' => 'Unidade inválida ou acesso negado']));
}

if (!isset($_FILES['arquivo_excel']) || $_FILES['arquivo_excel']['error'] !== UPLOAD_ERR_OK) {
    die(json_encode(['erro' => 'Erro ao fazer upload do arquivo']));
}

$file = $_FILES['arquivo_excel'];
$ext = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION));

if (!in_array($ext, ['csv', 'xlsx'])) {
    die(json_encode(['erro' => 'Formato inválido. Use CSV ou XLSX']));
}

if ($file['size'] > 5 * 1024 * 1024) {
    die(json_encode(['erro' => 'Arquivo muito grande (máximo 5 MB)']));
}

// Ler arquivo
$linhas = [];
if ($ext === 'csv') {
    $handle = fopen($file['tmp_name'], 'r');
    fgetcsv($handle); // Pular cabeçalho
    while (($row = fgetcsv($handle, 0, ';')) !== false) {
        if (count($row) >= 3 && trim($row[0])) { // Código, TAG, Nome
            $linhas[] = $row;
        }
    }
    fclose($handle);
} else {
    // XLSX - usar biblioteca simples
    require_once '../5_config/TCPDF-6.7.7/vendor/autoload.php';
    $reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
    $spreadsheet = $reader->load($file['tmp_name']);
    $sheet = $spreadsheet->getActiveSheet();
    $rows = $sheet->toArray();
    array_shift($rows); // Pular cabeçalho
    $linhas = array_filter($rows, fn($r) => !empty($r[0]));
}

// Processar linhas e montar lista de confirmação
$resultado = [
    'novos' => [],
    'existentes' => [],
    'total' => count($linhas)
];

foreach ($linhas as $idx => $row) {
    $tag = trim($row[1] ?? '');
    $nome = trim($row[2] ?? '');
    
    if (!$tag || !$nome) continue;
    
    // Buscar por TAG
    $stmt = $db->prepare("SELECT id, nome FROM equipamentos WHERE tag = ? AND unidade_id = ?");
    $stmt->execute([$tag, $unidade_id]);
    $existe = $stmt->fetch();
    
    $item = [
        'linha' => $idx + 2, // +2 porque começa em 1 e tem cabeçalho
        'tag' => $tag,
        'nome' => $nome,
        'familia' => trim($row[4] ?? ''),
        'cat_risco' => trim($row[5] ?? ''),
        'proj_conceito' => strtolower(trim($row[6] ?? '')) === 'sim' ? 1 : 0,
        'execucao' => strtolower(trim($row[7] ?? '')) === 'sim' ? 1 : 0,
        'procedimento' => strtolower(trim($row[8] ?? '')) === 'sim' ? 1 : 0,
        'validacao' => strtolower(trim($row[9] ?? '')) === 'sim' ? 1 : 0,
        'laudos' => strtolower(trim($row[10] ?? '')) === 'sim' ? 1 : 0,
        'data_inicio' => trim($row[11] ?? ''),
        'data_prev_conclusao' => trim($row[12] ?? ''),
        'observacoes' => trim($row[13] ?? '')
    ];
    
    if ($existe) {
        $item['id_existente'] = $existe['id'];
        $item['nome_existente'] = $existe['nome'];
        $resultado['existentes'][] = $item;
    } else {
        $resultado['novos'][] = $item;
    }
}

header('Content-Type: application/json; charset=utf-8');
echo json_encode($resultado);
exit;
?>
