Commit Graph

12 Commits

Author SHA1 Message Date
Daeng Deni Mardaeni
34709b0f8f 🐛 fix(lpj): Perbaikan format Rupiah, role access, dan validasi data
## 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
2025-11-15 17:01:04 +07:00
Daeng Deni Mardaeni
b2cfffc5d5 feat(lpj): Tambah peran admin, sesuaikan alur status, dan peningkatan UI
Ringkas: perluas akses untuk peran admin , rapikan alur status permohonan/pembayaran/SPK, pindahkan sumber LPJ ke relasi penilai, perbaiki parsing/formatting rupiah, dan tambah konten cetak “Catatan yang Perlu Diperhatikan”.

- Perizinan & akses

  - Izinkan admin melewati filter cabang pada listing Debitur dan Permohonan.
  - Tambah peran admin pada konfigurasi module.json di beberapa menu/fitur.
  - Izinkan admin membuat Debitur dan mengakses aksi yang sebelumnya eksklusif untuk administrator dan pemohon-ao .
- Alur bisnis & status

  - Ubah status setelah proses pembatalan/penanganan pembayaran dari done menjadi proses-laporan agar konsisten dengan alur pelaporan.
  - Nonaktifkan blokir navigasi saat status proses-laporan di PenilaiController (redirect/JSON error dikomentari) agar proses lanjutan tetap bisa diakses bila diperlukan.
  - Setelah generate SPK, set Permohonan.status dan PenawaranTender.status menjadi registrasi-final untuk menandai finalisasi registrasi.
  - Pada pembuatan permohonan, jika pengguna admin , tetapkan status = preregister untuk proses pra-registrasi.
  - Hapus set default branch_id dari PermohonanRequest sehingga pengisian cabang dilakukan eksplisit melalui form (terutama untuk admin).
- Data LPJ & referensi relasi

  - Sumber data LPJ dipindah dari permohonan->penilaian->lpj ke permohonan->penilai->lpj baik di controller ( PenilaianController ) maupun view ( penilaian/otorisator/show.blade.php ) untuk menyesuaikan struktur relasi terbaru.
- Dokumen pembayaran

  - Ubah cara deteksi “Bukti Bayar” dari documents menjadi dokumenjaminan dan ambil detail berdasarkan name = 'Bukti Bayar' , lalu gunakan dokumen_jaminan yang terenkode JSON sebagai sumber pemrosesan berikutnya.
  - Pada UI approval pembayaran, benahi rendering nominal_bayar (hindari pemutusan baris) dan tampilkan tombol otorisator jika status_bayar !== 'sudah_bayar' || !approve_bayar .
- UI & formatting rupiah

  - Perbaiki fungsi calculateTotal() pada form-penilai.blade.php agar parsing angka mendukung pemisah ribuan titik dan desimal koma, serta formatting konsisten dengan id-ID .
  - Aktifkan kembali fallback tampilan status utama di penilai/index.blade.php .
  - Tambahkan blok “Catatan yang Perlu Diperhatikan” pada print-out-sederhana.blade.php , mendukung input string/array dan memformat poin dengan awalan “- ”.
Perubahan berkas (ringkas):

- app/Http/Controllers/DebitureController.php : tambah peran admin pada pengecualian filter cabang.
- app/Http/Controllers/PembayaranController.php : set status = 'proses-laporan' dalam proses terkait pembayaran.
- app/Http/Controllers/PenilaiController.php : longgarkan blokir saat proses-laporan (redirect/JSON error dikomentari).
- app/Http/Controllers/PenilaianController.php : gunakan permohonan->penilai->lpj untuk menghitung NPW.
- app/Http/Controllers/PermohonanController.php :
  - set status = 'preregister' untuk user admin saat create,
  - tambah peran admin pada pengecualian filter cabang,
  - ubah pencarian “Bukti Bayar” ke dokumenjaminan dan gunakan dokumen_jaminan (JSON).
- app/Http/Controllers/SpkController.php : set status = 'registrasi-final' pada Permohonan dan PenawaranTender setelah generate SPK.
- app/Http/Requests/PermohonanRequest.php : hilangkan set default branch_id .
- module.json : tambahkan admin pada beberapa daftar roles .
- resources/views/component/form-penilai.blade.php : dukungan parsing/formatting rupiah dengan pemisah lokal.
- resources/views/debitur/components/debitur.blade.php : perluas akses cabang untuk admin di form Debitur.
- resources/views/debitur/index.blade.php : izinkan admin membuat Debitur.
- resources/views/pembayaran/approval.blade.php : perbaiki render nominal dan visibilitas tombol otorisator.
- resources/views/penilai/components/print-out-sederhana.blade.php : tambah bagian “Catatan yang Perlu Diperhatikan”.
- resources/views/penilai/index.blade.php : gunakan data.status sebagai fallback tampilan status.
- resources/views/penilaian/otorisator/show.blade.php : konsisten gunakan permohonan->penilai->lpj .
- resources/views/permohonan/form.blade.php : penataan ulang kelas Tailwind dan penambahan field Cabang untuk administrator / admin .
2025-11-12 17:42:45 +07:00
Daeng Deni Mardaeni
c153990c52 feat(lpj): Perbaiki ekspor, pencarian, validasi tanggal, transaksi, logging, dan UI
- ActivityController: tambah default order `nomor_registrasi` desc; rapikan komentar & alur sorting
- LaporanHasilPenilaianJaminanInternalExternalController: pencarian debitur case-insensitive via `LOWER(name)`; normalisasi angka LPJ (luas_tanah, nilai_bangunan, likuidasi, NPW); perapihan spacing
- LaporanPenilaiJaminanController: validasi `start_date`/`end_date` dan buat nama file ekspor dinamis via `createNameLaporan`; gunakan `LaporanPenilaiJaminanExport($request)`; helper `getBranchId`
- LaporanPenilaianJaminanController: standarisasi respons JSON datatables; tambah `export(Request)` dengan nama `laporan_penilaian_jaminan_<start>_<end>.xlsx`
- NilaiPlafondController: bungkus proses datatables dalam transaksi DB (commit/rollback) dengan try/catch; tambah logging info/error; rapikan dan standarisasi respons JSON
- PenilaiController: map data pembanding ke `pembanding1/2/3`; tambah `print_out_laporan` dan `showLaporanInspeksi` (penentuan route back); stub `showInspectionReportReview`; perapihan minor
- Views debitur/components/debitur: perbaiki closing textarea, konsistensi event listener `function ()`, rapikan markup error
- Views debitur/components/jaminan: fallback `dokumen_nomor[$index] ?? ''` untuk hindari undefined index
- Views laporan/index: akses aman dengan optional chaining `?.`, fallback tanggal pada `formatDate`, akses `nilaiPlafond` aman
- Views laporan-penilai-jaminan/index + show: JS toggle tab (Laporan vs Hasil Inspeksi), CSS `hidden-tab`, gaya floating button, perapihan
- Views debitur/index: rapikan directive `@if` spacing pada tombol tambah
- Views noc/penyelesaian: perbaiki route key ke `noc.datatables.penyelesaian`
2025-11-10 20:47:56 +07:00
Daeng Deni Mardaeni
a1b9b7af86 🎨 refactor(ui): perbaikan styling form penilai & optimasi dashboard role-based
- Form Penilai: hapus spasi ganda di class CSS input currency/currency-format
- Konsistensi class Tailwind: gunakan "w-full currency" & "w-full currency-format"
- Hapus console.log tidak perlu, tambah debug log untuk parsing luas
- Optimasi parsing input luas dengan parseFloat + regex sanitasi numerik
- Dashboard: tambahkan pembatasan akses berdasarkan role (!penilai, !surveyor, !pemohon-ao, !pemohon-eo)
- Perbaiki struktur HTML & urutan class Tailwind (grid, flex, spacing, alignment)
- Optimalkan layout header, stats cards, & tabel dengan class yang konsisten
- Hapus class CSS redundan & perbaiki konsistensi penamaan
- Tingkatkan keamanan & UX dengan role-based access + struktur HTML lebih maintainable
2025-09-26 10:55:27 +07:00
Daeng Deni Mardaeni
b79ccac892 fix(debitur): perbaikan logika akses dan tampilan pada halaman debitur
- Menambahkan logika untuk membatasi akses data berdasarkan cabang pengguna.
- Mengubah relasi pada model Debiture dari hasOne menjadi hasMany untuk permohonan.
- Memperbarui tampilan untuk menampilkan dropdown cabang hanya untuk pengguna dengan peran administrator.
- Menambahkan input tersembunyi untuk cabang pengguna yang bukan administrator.
- Memperbarui logika di halaman index untuk memeriksa peran pengguna.
2025-03-22 16:39:16 +07:00
Daeng Deni Mardaeni
9f51a2cf4e fix(debitur): perbaikan logika akses dan tampilan pada halaman debitur
- Menambahkan relasi 'permohonan' pada query data debitur.
- Memperbaiki akses ke nomor registrasi pada dokumen jaminan.
- Mengatur tampilan tombol 'Tambah Debitur' berdasarkan peran pengguna.
- Menambahkan logika untuk memeriksa peran dan status permohonan sebelum menampilkan tombol aksi.
2025-03-22 16:29:41 +07:00
Daeng Deni Mardaeni
026eb1115b Refactor card styles for consistency across views
- Menambahkan border dan background pada elemen card dengan class `border-agi-100` dan `bg-agi-50`.
- Perubahan berlaku di berbagai file blade untuk meningkatkan konsistensi UI.
2024-12-28 17:09:32 +07:00
Daeng Deni Mardaeni
c0bf6d6be0 Tingkatkan ukuran halaman data pada tabel
- Mengubah `data-datatable-page-size` dari 5 menjadi 10 di berbagai file Blade.
- Perubahan ini bertujuan untuk menampilkan lebih banyak data di setiap halaman tabel untuk meningkatkan pengalaman pengguna.
2024-12-21 05:26:11 +07:00
Daeng Deni Mardaeni
cb540a52d5 Remove CDN SweetAlert 2024-10-13 05:39:28 +07:00
Daeng Deni Mardaeni
fec80bfa1c Feature #17 : Module Permohonan 2024-08-24 21:17:32 +07:00
Daeng Deni Mardaeni
e42681b1b6 Update Document dan Pemilik Jaminan 2024-08-22 17:23:20 +07:00
Daeng Deni Mardaeni
5c4285c77e Feature #7 : Module Debitur 2024-08-13 11:50:40 +07:00