<?php
// rh_dashboard.php — Dashboard focado para RH
$title = 'Dashboard RH';
require_once __DIR__ . '/auth.php';
require_login();

$role = current_user()['role'] ?? '';
if ($role === 'RH') {
  require_perm('rh.portal');   // RH precisa ter permissão do portal RH
} else {
  require_perm('dashboard.view'); // outros papéis podem ver se tiverem permissão
}

/* ===== KPIs ===== */
try {
  // Funcionários com empréstimo ativo
  $kpi_func_ativos = (int)$pdo->query("
    SELECT COUNT(DISTINCT employee_id)
      FROM loans
     WHERE status='DISPONIBILIZADO'
  ")->fetchColumn();

  // Solicitações abertas (ou em andamento)
  $kpi_rr_abertas = (int)$pdo->query("
    SELECT COUNT(*)
      FROM return_requests
     WHERE status IN ('ABERTA','EM_ANDAMENTO')
  ")->fetchColumn();

  // Concluídas no mês
  // usa closed_at se existir; senão updated_at; senão created_at
  $dateCol = 'created_at';
  if (db_has_col($pdo,'return_requests','updated_at')) $dateCol = 'updated_at';
  if (db_has_col($pdo,'return_requests','closed_at'))  $dateCol = 'closed_at';

  $st = $pdo->query("
    SELECT COUNT(*) FROM return_requests
     WHERE status='CONCLUIDA'
       AND YEAR($dateCol)=YEAR(CURDATE())
       AND MONTH($dateCol)=MONTH(CURDATE())
  ");
  $kpi_rr_concluidas_mes = (int)$st->fetchColumn();

  // Pendentes vencidas (deadline ultrapassado)
  $kpi_rr_vencidas = (int)$pdo->query("
    SELECT COUNT(*)
      FROM return_requests
     WHERE status IN ('ABERTA','EM_ANDAMENTO')
       AND deadline IS NOT NULL
       AND deadline < CURDATE()
  ")->fetchColumn();

} catch (Throwable $e) {
  $kpi_func_ativos = $kpi_rr_abertas = $kpi_rr_concluidas_mes = $kpi_rr_vencidas = 0;
}

/* ===== Últimas solicitações ===== */
$rr = $pdo->query("
  SELECT rr.id, rr.status, rr.deadline, rr.created_at, rr.updated_at,
         e.matricula, e.nome
    FROM return_requests rr
    JOIN employees e ON e.id = rr.employee_id
   ORDER BY rr.id DESC
   LIMIT 12
")->fetchAll();

include __DIR__ . '/header.php';
?>
<div class="container-fluid">

  <!-- Barra de busca (Atalho para Portal RH) -->
  <div class="card border-0 shadow-sm mb-3">
    <div class="card-body">
      <form class="row g-2" method="get" action="<?= base_url('rh_portal.php') ?>">
        <div class="col-md-4">
          <label class="form-label mb-1">Buscar por matrícula</label>
          <input class="form-control" name="matricula" placeholder="Ex.: 123456" required>
        </div>
        <div class="col-md-2 d-flex align-items-end">
          <button class="btn btn-primary w-100"><i class="bi bi-search me-1"></i>Buscar</button>
        </div>
        <div class="col-md-6 d-flex align-items-end">
          <div class="text-muted small">
            Dica: ao abrir um colaborador com empréstimos ativos, use o botão
            <strong>“Iniciar solicitação de devolução”</strong> para notificar a gestão e abrir a pendência.
          </div>
        </div>
      </form>
    </div>
  </div>

  <!-- KPIs -->
  <div class="row g-3">
    <div class="col-sm-6 col-xl-3">
      <div class="card border-0 shadow-sm h-100">
        <div class="card-body">
          <div class="text-muted small">Colaboradores com empréstimo ativo</div>
          <div class="display-6"><?= (int)$kpi_func_ativos ?></div>
        </div>
      </div>
    </div>
    <div class="col-sm-6 col-xl-3">
      <div class="card border-0 shadow-sm h-100">
        <div class="card-body">
          <div class="text-muted small">Solicitações abertas</div>
          <div class="display-6"><?= (int)$kpi_rr_abertas ?></div>
        </div>
      </div>
    </div>
    <div class="col-sm-6 col-xl-3">
      <div class="card border-0 shadow-sm h-100">
        <div class="card-body">
          <div class="text-muted small">Concluídas no mês</div>
          <div class="display-6"><?= (int)$kpi_rr_concluidas_mes ?></div>
        </div>
      </div>
    </div>
    <div class="col-sm-6 col-xl-3">
      <div class="card border-0 shadow-sm h-100">
        <div class="card-body">
          <div class="text-muted small">Pendentes vencidas</div>
          <div class="display-6"><?= (int)$kpi_rr_vencidas ?></div>
        </div>
      </div>
    </div>
  </div>

  <!-- Tabela de solicitações -->
  <div class="card border-0 shadow-sm mt-3">
    <div class="card-header bg-white d-flex justify-content-between align-items-center">
      <span>Solicitações de devolução — recentes</span>
      <a class="btn btn-sm btn-outline-secondary" href="<?= base_url('return_requests.php') ?>">
        Ver todas
      </a>
    </div>
    <div class="table-responsive">
      <table class="table align-middle mb-0">
        <thead>
          <tr>
            <th>#</th><th>Matrícula</th><th>Nome</th><th>Status</th>
            <th>Prazo</th><th>Abertura</th><th>Atualização</th>
          </tr>
        </thead>
        <tbody>
          <?php foreach ($rr as $r): ?>
            <tr>
              <td>#<?= (int)$r['id'] ?></td>
              <td><?= h($r['matricula']) ?></td>
              <td><?= h($r['nome']) ?></td>
              <td><span class="badge bg-secondary"><?= h(t_status($r['status'])) ?></span></td>
              <td><?= $r['deadline'] ? h(br_date($r['deadline'])) : '—' ?></td>
              <td><?= h(br_datetime($r['created_at'])) ?></td>
              <td><?= h(br_datetime($r['updated_at'] ?? $r['created_at'])) ?></td>
            </tr>
          <?php endforeach; ?>
          <?php if (!$rr): ?>
            <tr><td colspan="7" class="text-muted">Sem solicitações recentes.</td></tr>
          <?php endif; ?>
        </tbody>
      </table>
    </div>
  </div>

</div>
<?php include __DIR__ . '/footer.php'; ?>
