function checkUrlParameterForEmployee() { const urlParams = new URLSearchParams(window.location.search); const empIdParam = urlParams.get('id'); if (empIdParam) { isEmployeeSecuredView = true; // Tunggu sebentar hingga cache master karyawan termuat dari MySQL const checkCacheInterval = setInterval(() => { if (masterEmployeesCache.length > 0) { clearInterval(checkCacheInterval); const matched = masterEmployeesCache.find(e => e.id == empIdParam); if (matched) { currentSelectedEmp = matched; // Panggil profil pembuka SAJA (Tabel dokumen tetap disembunyikan sampai tombol diklik) renderEmployeeProfileOnly(matched); } } }, 100); } else { isEmployeeSecuredView = false; document.getElementById('displayPersonalEmployeeName').style.display = 'none'; document.getElementById('heroSelectKaryawan').classList.remove('hidden'); } } function renderEmployeeProfileOnly(emp) { currentSelectedEmp = emp; // Pastikan Hero Card (Kartu Jam Digital Pembuka) tampil document.getElementById('employeeCardHero').style.display = 'block'; // Tampilkan nama karyawan secara statis dan rapi di beranda kartu utama const displayBox = document.getElementById('displayPersonalEmployeeName'); displayBox.innerHTML = ` ${emp.name} (${emp.perusahaan || 'PT. BSS'} - NIP: ${emp.nip || '-'})`; displayBox.style.display = 'flex'; document.getElementById('heroSelectKaryawan').classList.add('hidden'); // Set juga di dalam dokumen laporan (jaga-jaga jika tombol histori nanti diklik) document.getElementById('card_empName').innerText = emp.name; document.getElementById('card_empNipComp').innerText = `${emp.perusahaan || 'PT. BSS'} | NIP: ${emp.nip || '-'}`; document.getElementById('card_empJabDept').innerText = `${emp.jabatan || 'Staf'} (${emp.departemen || 'Umum'})`; loadAndRenderEmployeeHistoryFromMySQL(emp.id); const now = getStrictServerDate(); const todayStr = now.getFullYear() + '-' + String(now.getMonth() + 1).padStart(2, '0') + '-' + String(now.getDate()).padStart(2, '0'); document.getElementById('absenTanggal').value = todayStr; loadSelectedDateRecordFromMySQL(emp.id, todayStr); }