## Perubahan Utama:
- 🔧 **Role Management**: Menambahkan role 'EO Appraisal' ke berbagai komponen untuk akses tombol simpan
- 🐛 **Fix Kondisi**: Memperbaiki logika kondisi untuk data MIG (Migrasi) di print-out-sederhana
- 💅 **UI Enhancement**: Konversi table ke div untuk bagian keterangan dengan format yang lebih rapi
- 🎨 **Code Style**: Fix indentation dan whitespace di PermohonanController
## Detail Perubahan:
### File yang Dimodifikasi:
1. **`resources/views/penilai/components/call-report.blade.php`** (Line 507):
- Menambahkan `'EO Appraisal'` ke array role yang memiliki akses tombol simpan
- Sebelumnya: `['senior-officer', 'surveyor', 'administrator']`
- Sekarang: `['senior-officer', 'surveyor', 'administrator','EO Appraisal']`
2. **`resources/views/penilai/components/lpj-sederhana-standar.blade.php`** (Line 47):
- Menambahkan `'EO Appraisal'` dan `'penilai'` ke role yang dapat menyimpan data
- Memperluas akses untuk role penilai dan EO Appraisal
3. **`resources/views/penilai/components/memo.blade.php`** (Line 318):
- Menambahkan `'EO Appraisal'` ke role yang dapat menyimpan memo
- Memastikan konsistensi akses antar komponen
4. **`resources/views/penilai/components/print-out-sederhana.blade.php`**:
- **Line 558-580**: Memperbaiki urutan kondisi pengecekan data MIG
- Memindahkan fallback data tanah dan bangunan ke atas
- Menambahkan kondisi `@if(!$permohonan->is_mig)` untuk data non-MIG
- Menjaga data `npw_tambahan` tetap diproses setelahnya
- **Line 647-700**: Konversi table ke div untuk bagian keterangan
- Mengganti struktur `<table><tr><td>` menjadi `<div>` dengan styling yang lebih rapi
- Menambahkan handling untuk berbagai format data (array, string, quoted)
- Implementasi bullet points yang lebih konsisten
- Menambahkan fallback message "Tidak ada catatan khusus"
5. **`resources/views/penilai/components/rap-penilai.blade.php`** (Line 72 & 115):
- Menambahkan `'EO Appraisal'` ke role yang dapat menyimpan data RAP
- Fix whitespace yang tidak perlu
6. **`resources/views/penilai/components/signature-approval.blade.php`** (Line 117):
- Fix whitespace dan formatting
7. **`app/Http/Controllers/PermohonanController.php`** (Line 55):
- Fix indentation yang tidak konsisten
- Memperbaiki format kode untuk better readability
## Ringkasan
Melakukan perbaikan pada helper format Rupiah, akses role user, validasi data MIG, serta penyesuaian tampilan laporan dan dokumentasi.
## Perubahan Detail
### 🔧 Helper Function
**app/Helpers/Lpj.php**:
- Menambahkan parameter opsional `withSymbol` pada fungsi `formatRupiah()` untuk kontrol simbol Rp
- Menambahkan handling untuk menghapus titik (.) dari input number sebelum proses
- Memperbaiki return value untuk null/empty string sesuai parameter `withSymbol`
- Mengganti `str_pad()` dengan `sprintf()` untuk generate random number (lebih efisien)
### 🛠️ Service Layer
**app/Services/PreviewLaporanService.php**:
- Memperbaiki validasi data MIG dengan menambahkan pengecekan `is_mig` flag
- Menambahkan null safety pada property `mig_mst_lpj_tot_nilai_pasar`
- Memperbaiki kondisi logic untuk memo dan validasi nilai pasar
### 🎨 View Components
**resources/views/component/print-out-dokument.blade.php**:
- Memperbaiki syntax Blade dari `@isset` menjadi `isset()` yang lebih proper
**resources/views/debitur/components/debitur.blade.php**:
- Memperbaiki role checking dari `hasRole()` menjadi `hasAnyRole()` untuk multiple roles
**resources/views/debitur/index.blade.php**:
- Menambahkan role 'admin' pada kondisi edit dan delete actions
- Memperbaiki permission checking untuk administrator dan admin
**resources/views/laporan/index.blade.php**:
- Menyederhanakan logic tombol laporan dan resume
- Menghapus logic role-based yang kompleks untuk tombol laporan
- Memperbaiki route URL untuk print-out laporan
- Menghapus function `generateLaporanButton()` yang tidak digunakan
**resources/views/penilai/components/lpj-sederhana-standar.blade.php**:
- Menambahkan role 'penilai' pada permission tombol simpan
**resources/views/penilai/components/print-out-sederhana.blade.php**:
- Memperbaiki tampilan data dokumen dengan menambahkan kolom nomor dokumen
- Mengganti `number_format()` dengan `formatRupiah()` untuk konsistensi format
- Menambahkan fallback untuk data tanah dan bangunan ketika `npw_tambahan` tidak tersedia
- Memperbaiki perhitungan total nilai pasar wajar dengan proper parsing
- Memperbaiki format tampilan nilai likuidasi
- Memperbaiki struktur HTML tabel untuk dokumentasi
**resources/views/penilai/components/signature-approval.blade.php**:
- Memperbaiki route dan parameter untuk approval signature
**resources/views/permohonan/index.blade.php**:
- Menambahkan role 'admin' pada permission actions
- Form NOC: tambah field nomor rekening lebih bayar (input number, readonly jika ada memo, hidden default, support old value & error handling)
- Foto Lampiran: ubah layout jadi grid 4 kolom dengan shadow & hover effect, perbaikan urutan class Tailwind & judul kategori lebih prominent
- Foto Lampiran: optimasi class container (relative, overflow-hidden, flex) & perbaikan spacing array $fotoTypes
- LPJ Sederhana Standar: konsistensi class grid/flex/input-group, role 'penilai' ditambahkan untuk akses tombol simpan, perbaikan kondisi disabled button
- Resume: optimasi class grid, flex, card-body, card-title, text, dan konsistensi urutan Tailwind di seluruh komponen
- Konsistensi class: perbaikan di form, foto-lampiran, lpj-standar, resume agar mengikuti urutan Tailwind (layout → sizing → styling)
- Struktur HTML: dirapikan untuk layout yang lebih responsif & semantik, dengan grid/flex yang lebih optimal
- UX: tampilan foto lebih rapi, form lebih mudah digunakan, role-based access lebih jelas, field tambahan untuk kebutuhan bisnis
- Dampak: data NOC lebih lengkap (tracking rekening lebih bayar), styling konsisten, UX meningkat, kode lebih maintainable
- Mengubah logika penentuan tanggal saat ini untuk mematuhi aturan yang berlaku.
- Menambahkan tampilan baru untuk LPJ sederhana dan standar.
- Memperbaiki penamaan rute dari 'standard' menjadi 'standar' untuk konsistensi.
- Memperbaiki akses data debitur dengan menggunakan optional chaining.