# 👩‍💼 Employee Management Documentation

Menu **List Employee** digunakan untuk mengelola seluruh informasi data karyawan, mulai dari penambahan, show detail, maupun pengeditan.

---

## 👥 List Data Karyawan

Menu **List Employee** akan menampilkan daftar seluruh karyawan yang telah didaftarkan dalam sistem.

- **Akses Menu**: Hanya user yang memiliki role dengan **izin akses “view semua data karyawan”** yang dapat membuka halaman ini.
- **Fitur yang ditampilkan**:
  - Id karyawan
  - Nama karyawan (klik untuk melihat detail)
  - Email
  - Posisi dan Branch
  - Status karyawan

---

## ➕ Tambah Karyawan

Formulir **Tambah Karyawan** memungkinkan HR atau admin yang berwenang untuk menginput seluruh informasi karyawan. Data yang wajib diisi terbagi menjadi beberapa kelompok:

### 📌 1. Personal Data
- Nama Lengkap
- Email
- Nomor HP & Telepon
- Tempat dan Tanggal Lahir
- Gender & Status Pernikahan
- Pendidikan & Jumlah Tanggungan
- Golongan Darah & Agama
- Upload Foto Karyawan

### 📌 2. Identity & Address
- NIK
- Nomor Paspor & Masa Berlaku
- Kode Pos
- Alamat KTP & Domisili

### 📌 3. Employment Data
- Status Karyawan (Tetap / Kontrak / Magang)
- Tanggal Bergabung & Tanggal Berakhir
- Cabang, Organisasi, Jabatan, Level, Grade, Class
- Jadwal Kerja
- Approval Line
- Manager/Pimpinan Langsung

### 📌 4. Family
- Nama Anggota Keluarga
- Hubungan, Gender, TTL, Agama
- Status Pernikahan & Alamat

### 📌 5. Emergency Contact
- Nama Kontak
- Hubungan
- Nomor HP

### 📌 6. Payroll Info
- Gaji Pokok
- Tunjangan Makan
- Gaji BPJS Ketenagakerjaan & Kesehatan
- DPLK (Penerimaan & Potongan)

### 📌 7. Bank Account
- Nama Bank
- Nama Pemilik Rekening
- Nomor Rekening

### 🛠️ Auto Create User
Setelah menyimpan data karyawan:

- Sistem otomatis membuat user dengan:
  - **Name**
  - **Username**
  - **Usercode**
  - **Email**
  - **Password** *(di-hash dari email)*

> ⚠️ **Catatan**:  
> User yang dibuat **belum bisa login** hingga menerima **undangan email** dari sistem.  
> Pengiriman undangan dikelola melalui menu **"User"**.

---

## 🔍 Detail / Show Data Karyawan

Data karyawan dapat dilihat melalui:

- Klik nama karyawan dari daftar
- Atau melalui menu **Personal Info** (bagi masing-masing karyawan)

### 🧾 Tampilan yang Ditampilkan:
Halaman ini menampilkan data pribadi secara terstruktur dalam beberapa tab/submenu:

- **Personal**: Biodata dasar dan kontak
- **Employment**: Status kerja, organisasi, posisi, manajer
- **Payroll Info**: Gaji dan tunjangan
- **Subordinate**: Daftar bawahan atau karyawan yang memerlukan approval dari user yang bersangkutan

---

## ✏️ Edit Karyawan

Untuk mengubah informasi:

- Klik ikon **⋮ (titik tiga)** di pojok kanan atas halaman detail/show.
- Hanya pengguna dengan akses **edit karyawan** yang dapat melakukan perubahan.

### 🛡️ Khusus Perubahan Email:
Jika email karyawan diubah:
- Maka data user akses juga akan **diupdate**
- Karyawan akan **perlu menerima ulang undangan email** untuk dapat login kembali

---

## 📌 Ringkasan Alur Tambah dan Akses

```mermaid
Tambah Karyawan → Input Lengkap → Auto Buat User → Karyawan Terdaftar → Email Undangan → User Aktif Login
````

---

## 📧 Catatan Tambahan

* **Undangan login** dikelola secara manual dari menu **User**.
* Pastikan semua data wajib diisi untuk menghindari error saat proses simpan.

---

📝 **Terakhir diperbarui**: 18 Juni 2025
✍️ **Dokumentasi oleh**: Tim Development

