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

// Carregar ação se passada por GET
$acao_id = intval($_GET['acao_id'] ?? 0);
$acao_selecionada = null;
if ($acao_id) {
    $s = $db->prepare("SELECT a.*, u.nome AS unidade_nome, u.codigo AS unidade_codigo FROM acoes a LEFT JOIN unidades u ON u.id=a.unidade_id WHERE a.id=?");
    $s->execute([$acao_id]);
    $acao_selecionada = $s->fetch();
}

$unidades = $db->query("SELECT id,codigo,nome FROM unidades WHERE ativo=1 ORDER BY nome")->fetchAll();
$acoes_nr10 = $db->query("SELECT a.id, a.titulo, u.codigo FROM acoes a LEFT JOIN unidades u ON u.id=a.unidade_id WHERE a.norma='NR10' ORDER BY u.codigo, a.titulo")->fetchAll();

// POST: Salvar RTI com fotos
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $acao_form = $_POST['acao_form'] ?? '';
    if ($acao_form === 'salvar_rti') {
        $unidade_id  = intval($_POST['unidade_id'] ?? 0);
        $acao_ref_id = intval($_POST['acao_id'] ?? 0);
        $titulo      = limpar($_POST['titulo'] ?? '');
        $inspetor    = limpar($_POST['inspetor'] ?? '');
        $data_insp   = $_POST['data_inspecao'] ?: date('Y-m-d');
        $nc_desc     = limpar($_POST['nc_descricao'] ?? '');
        $plano_acao  = limpar($_POST['plano_acao'] ?? '');

        // Processar fotos (até 4 por folha, múltiplas folhas)
        $fotos_salvas = [];
        if (!is_dir(UPLOAD_DIR . 'rti/')) mkdir(UPLOAD_DIR . 'rti/', 0755, true);

        for ($i = 1; $i <= 4; $i++) {
            $field = "foto_$i";
            if (isset($_FILES[$field]) && $_FILES[$field]['error'] === UPLOAD_ERR_OK) {
                $file = $_FILES[$field];
                $ext  = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION));
                if (in_array($ext, ['jpg','jpeg','png','gif','webp'])) {
                    $nome_foto = 'rti_' . uniqid() . '.' . $ext;
                    if (move_uploaded_file($file['tmp_name'], UPLOAD_DIR . 'rti/' . $nome_foto)) {
                        $legenda = limpar($_POST["legenda_$i"] ?? '');
                        $nc_foto = limpar($_POST["nc_foto_$i"] ?? '');
                        $fotos_salvas[] = ['arquivo' => $nome_foto, 'legenda' => $legenda, 'nc' => $nc_foto, 'posicao' => $i];
                    }
                }
            }
        }

        if ($unidade_id && $titulo && $inspetor) {
            // Salvar RTI no banco
            $db->prepare("INSERT INTO documentos (unidade_id,categoria,nome,descricao,arquivo,mime_type,tamanho_kb,enviado_por) VALUES (?,?,?,?,?,?,?,?)")
               ->execute([$unidade_id,'RTI',$titulo,"Inspetor: $inspetor | NC: $nc_desc | Plano: $plano_acao",'rti_' . time() . '.pdf','application/pdf',0,$usuario['id']]);
            $rti_id = $db->lastInsertId();

            // Redirecionar para geração do PDF
            $fotos_json = base64_encode(json_encode($fotos_salvas));
            $params_pdf = http_build_query([
                'rti_id'     => $rti_id,
                'unidade_id' => $unidade_id,
                'acao_id'    => $acao_ref_id,
                'titulo'     => $titulo,
                'inspetor'   => $inspetor,
                'data'       => $data_insp,
                'nc'         => $nc_desc,
                'plano'      => $plano_acao,
                'fotos'      => $fotos_json,
            ]);
            header("Location: rti_pdf.php?$params_pdf");
            exit;
        } else {
            $msg = 'error:Preencha os campos obrigatórios: Unidade, Título e Inspetor.';
        }
    }
}

$pagina_titulo = 'RTI — Relatório Técnico de Inspeção';
require_once '../1_frontend/layout.php';
?>

<div class="space-y-5">
  <div>
    <h1 class="text-2xl font-bold text-actsafe-text flex items-center gap-2">
      <i data-lucide="file-image" class="w-6 h-6 text-actsafe-blue"></i> RTI — Relatório Técnico de Inspeção
    </h1>
    <p class="text-sm text-gray-500 mt-0.5">Gere o RTI com até 4 fotos por folha, não conformidades e plano de ação</p>
  </div>

  <?php if ($msg): [$tipo_msg,$texto_msg] = explode(':', $msg, 2); ?>
  <div class="flex items-center gap-2 px-4 py-3 rounded-lg text-sm font-medium
    <?= $tipo_msg==='success' ? 'bg-green-50 border border-green-200 text-green-700' : 'bg-red-50 border border-red-200 text-red-700' ?>">
    <i data-lucide="<?= $tipo_msg==='success' ? 'check-circle' : 'alert-circle' ?>" class="w-4 h-4"></i>
    <?= sanitizar($texto_msg) ?>
  </div>
  <?php endif; ?>

  <form method="POST" action="rti_gerar.php" enctype="multipart/form-data" class="space-y-5">
    <input type="hidden" name="acao_form" value="salvar_rti">

    <!-- Dados do Relatório -->
    <div class="card border-l-4 border-actsafe-blue">
      <h2 class="font-semibold text-actsafe-text mb-4 flex items-center gap-2">
        <i data-lucide="clipboard" class="w-4 h-4 text-actsafe-blue"></i> Dados do Relatório
      </h2>
      <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4">
        <div>
          <label class="form-label">Unidade Fabril *</label>
          <select name="unidade_id" class="form-input" required>
            <option value="">Selecione...</option>
            <?php foreach ($unidades as $u): ?>
            <option value="<?= $u['id'] ?>" <?= ($acao_selecionada['unidade_id'] ?? 0) == $u['id'] ? 'selected' : '' ?>><?= sanitizar($u['codigo']) ?> — <?= sanitizar($u['nome']) ?></option>
            <?php endforeach; ?>
          </select>
        </div>
        <div>
          <label class="form-label">Ação NR 10 Relacionada</label>
          <select name="acao_id" class="form-input">
            <option value="">Nenhuma</option>
            <?php foreach ($acoes_nr10 as $a): ?>
            <option value="<?= $a['id'] ?>" <?= $acao_id == $a['id'] ? 'selected' : '' ?>>[<?= sanitizar($a['codigo']) ?>] <?= sanitizar($a['titulo']) ?></option>
            <?php endforeach; ?>
          </select>
        </div>
        <div>
          <label class="form-label">Data da Inspeção *</label>
          <input type="date" name="data_inspecao" class="form-input" value="<?= date('Y-m-d') ?>" required>
        </div>
        <div class="sm:col-span-2">
          <label class="form-label">Título do Relatório *</label>
          <input type="text" name="titulo" class="form-input" placeholder="ex: RTI — Inspeção Elétrica Painel Principal — Planta SP"
                 value="<?= $acao_selecionada ? 'RTI — ' . sanitizar($acao_selecionada['titulo']) : '' ?>" required>
        </div>
        <div>
          <label class="form-label">Inspetor Responsável *</label>
          <input type="text" name="inspetor" class="form-input" placeholder="Nome do inspetor" required
                 value="<?= sanitizar($usuario['nome']) ?>">
        </div>
      </div>
    </div>

    <!-- Fotos (4 por folha) -->
    <div class="card border-l-4 border-green-400">
      <h2 class="font-semibold text-actsafe-text mb-1 flex items-center gap-2">
        <i data-lucide="camera" class="w-4 h-4 text-green-500"></i> Fotos da Inspeção
        <span class="text-xs font-normal text-gray-500">(4 fotos por folha no PDF — mesmo tamanho)</span>
      </h2>
      <p class="text-xs text-gray-400 mb-4">Todas as fotos serão redimensionadas automaticamente para o mesmo frame no PDF.</p>

      <div class="grid grid-cols-1 sm:grid-cols-2 gap-4">
        <?php for ($i = 1; $i <= 4; $i++): ?>
        <div class="border-2 border-dashed border-gray-200 rounded-xl p-4 hover:border-actsafe-blue/40 transition-colors">
          <div class="flex items-center gap-2 mb-3">
            <div class="w-7 h-7 rounded-lg bg-actsafe-blue/10 flex items-center justify-center">
              <span class="text-xs font-bold text-actsafe-blue"><?= $i ?></span>
            </div>
            <span class="text-sm font-medium text-gray-600">Foto <?= $i ?></span>
          </div>
          <!-- Preview da foto -->
          <div id="preview-<?= $i ?>" class="w-full h-36 bg-gray-50 rounded-lg border border-gray-200 flex items-center justify-center mb-3 overflow-hidden">
            <i data-lucide="image" class="w-8 h-8 text-gray-300"></i>
          </div>
          <input type="file" name="foto_<?= $i ?>" id="foto-<?= $i ?>" accept="image/*"
                 class="form-input py-1.5 text-xs"
                 onchange="previewFoto(this, <?= $i ?>)">
          <input type="text" name="legenda_<?= $i ?>" class="form-input mt-2 text-sm"
                 placeholder="Legenda da foto (opcional)">
          <textarea name="nc_foto_<?= $i ?>" class="form-input mt-2 text-sm" rows="2"
                    placeholder="Não conformidade identificada nesta foto (opcional)"></textarea>
        </div>
        <?php endfor; ?>
      </div>
    </div>

    <!-- Não Conformidades e Plano de Ação -->
    <div class="card border-l-4 border-red-400">
      <h2 class="font-semibold text-actsafe-text mb-4 flex items-center gap-2">
        <i data-lucide="alert-triangle" class="w-4 h-4 text-red-500"></i> Não Conformidades e Plano de Ação
      </h2>
      <div class="grid grid-cols-1 gap-4">
        <div>
          <label class="form-label">Não Conformidades Identificadas</label>
          <textarea name="nc_descricao" class="form-input" rows="4"
                    placeholder="Descreva todas as não conformidades encontradas durante a inspeção...&#10;&#10;ex:&#10;1. Painel elétrico sem identificação de risco (NR 10 item 10.5.1)&#10;2. Falta de equipotencialização no quadro de distribuição&#10;3. Cabo de aterramento com seção insuficiente"></textarea>
        </div>
        <div>
          <label class="form-label">Plano de Ação / Recomendações</label>
          <textarea name="plano_acao" class="form-input" rows="4"
                    placeholder="Descreva as ações corretivas e preventivas recomendadas...&#10;&#10;ex:&#10;1. Instalar sinalização de risco elétrico em todos os painéis — Prazo: 15 dias&#10;2. Executar equipotencialização conforme ABNT NBR 5410 — Prazo: 30 dias&#10;3. Substituir cabo de aterramento por bitola adequada — Prazo: 7 dias"></textarea>
        </div>
      </div>
    </div>

    <!-- Botão de Geração -->
    <div class="flex gap-3">
      <button type="submit" class="btn-primary text-base px-6 py-3">
        <i data-lucide="file-down" class="w-5 h-5"></i> Gerar RTI em PDF
      </button>
      <a href="nr10.php" class="btn-outline py-3">Cancelar</a>
    </div>
  </form>
</div>

<script>
function previewFoto(input, num) {
  const preview = document.getElementById('preview-' + num);
  if (input.files && input.files[0]) {
    const reader = new FileReader();
    reader.onload = function(e) {
      preview.innerHTML = '<img src="' + e.target.result + '" class="w-full h-full object-cover rounded-lg">';
    };
    reader.readAsDataURL(input.files[0]);
  }
}
</script>

<?php require_once '../1_frontend/layout_footer.php'; ?>
