(int)$pdo->query("SELECT COUNT(*) FROM employees")->fetchColumn(), 'departments' => (int)$pdo->query("SELECT COUNT(*) FROM departments")->fetchColumn(), 'positions' => (int)$pdo->query("SELECT COUNT(*) FROM positions")->fetchColumn(), ]; $deptSummary = $pdo->query(" SELECT d.name, d.code, COUNT(e.id) AS total FROM departments d LEFT JOIN employees e ON e.dept_id = d.id GROUP BY d.id ORDER BY total DESC, d.name ASC LIMIT 6 ")->fetchAll(); $posSummary = $pdo->query(" SELECT p.name, p.level, COUNT(e.id) AS total FROM positions p LEFT JOIN employees e ON e.position_id = p.id GROUP BY p.id ORDER BY total DESC, p.name ASC LIMIT 6 ")->fetchAll(); $recentEmployees = $pdo->query(" SELECT e.id, e.full_name, e.employee_code, e.status, d.name AS dept_name, p.name AS position_name FROM employees e LEFT JOIN departments d ON d.id = e.dept_id LEFT JOIN positions p ON p.id = e.position_id ORDER BY e.created_at DESC LIMIT 5 ")->fetchAll(); render_header('Dashboard HRIS', 'dashboard'); ?>
Ringkasan data pegawai, departemen, dan jabatan terbaru untuk tim HR dan manajer.
| Departemen | Kode | Total Pegawai |
|---|---|---|
| = e($dept['name']) ?> | = e($dept['code']) ?> | = e((string)$dept['total']) ?> |
| Jabatan | Level | Total Pegawai |
|---|---|---|
| = e($pos['name']) ?> | = e($pos['level'] ?? '-') ?> | = e((string)$pos['total']) ?> |