- Menambahkan JavaScript untuk mutual exclusive selection antara status kurang bayar dan lebih bayar
- Hanya satu status yang bisa dipilih pada satu waktu untuk mencegah konflik data
- Implementasi fungsi resetFields() untuk membersihkan field yang tidak dipilih
- Menambahkan event handler untuk toggle visibility field berdasarkan pilihan status
- Menambahkan logging untuk tracking perubahan status pembayaran
- Field nominal dan bukti pengembalian otomatis direset ketika status berubah
- Mempertahankan UI existing dengan checkbox namun menambahkan logika mutual exclusive
- Menambahkan validasi client-side untuk mencegah input data yang tidak konsisten
- Support untuk readonly mode ketika memo penyelesaian sudah ada
- Implementasi function-level comments untuk dokumentasi kode
Menambahkan field total_pembukuan ke dalam sistem NOC untuk mendukung pencatatan pembukuan yang lebih akurat.
Perubahan yang dilakukan:
- Menambahkan migration untuk field total_pembukuan di tabel noc dengan tipe decimal(10,2)
- Menambahkan total_pembukuan ke dalam fillable array di model Noc
- Mengintegrasikan field total_pembukuan ke dalam NocController untuk proses store dan update
- Menambahkan input field "Jumlah Pembukuan" di form NOC dengan validasi error handling
- Mengubah label "Nominal Bayar" menjadi "Jumlah Yang Harus Disetor" untuk kejelasan
- Mengubah label "Nominal Diterima" menjadi "Jumlah Yang Disetor" untuk konsistensi
- Mengubah title menu dari "Pembayaran" menjadi "Pembukuan" di module.json
- Menambahkan readonly attribute pada field total_pembukuan ketika sudah ada memo
- Mengimplementasikan old() helper untuk mempertahankan nilai input saat validation error
- Menambahkan placeholder text "Masukkan total pembukuan" untuk user guidance
Menambahkan penyimpanan data memo penyelesaian ke tabel NOC dan memperbarui fungsi generatePdf di MemoController agar lebih terintegrasi.
Perubahan yang dilakukan:
- Menambahkan migrasi untuk field baru di tabel NOC:
- memo_penyelesaian_number: nomor memo penyelesaian
- memo_penyelesaian_date: tanggal memo
- memo_penyelesaian_payment_date: tanggal pembayaran
- memo_penyelesaian_pdf_path: path file PDF memo
- memo_penyelesaian_created_at: timestamp pembuatan memo
- Update model NOC:
- Menambahkan field baru ke $fillable array untuk mass assignment
- Menambahkan casting untuk field date dan datetime agar otomatis diconvert oleh Eloquent
- Mempertahankan struktur model dan relasi yang sudah ada
- Update MemoController:
- Mengubah proses penyimpanan memo dari tabel permohonan ke tabel NOC
- Menambahkan pencarian NOC berdasarkan permohonan_id
- Menyimpan semua informasi memo penyelesaian langsung ke NOC
- Tetap memperbarui status permohonan agar proses bisnis tetap berjalan
- Menambahkan logging untuk mempermudah monitoring dan debugging
- Menggunakan DB transaction untuk menjaga konsistensi data
Struktur data memo penyelesaian:
- Disimpan secara terpusat di tabel NOC sebagai source of truth
- Memiliki relasi langsung dengan tabel permohonan untuk referensi data
- Menyimpan path PDF memo untuk akses file yang lebih mudah
- Menyediakan timestamp lengkap untuk kebutuhan audit trail
Tujuan perubahan:
- Memusatkan data memo penyelesaian di tabel NOC untuk kemudahan query dan reporting
- Menjamin konsistensi data dengan mekanisme transaction
- Memperjelas struktur relasi antara memo penyelesaian dan permohonan
- Memudahkan proses tracking, pelaporan, dan audit memo penyelesaian
Perubahan yang dilakukan:
**Controller MemoController:**
- Menambahkan MemoController untuk mengelola memo penyelesaian permohonan.
- Method index() untuk menampilkan daftar permohonan yang bisa dipilih.
- Method create() untuk form pembuatan memo dengan pemilihan data bulk.
- Method store() untuk menyimpan memo dan mengupdate status permohonan terkait.
- Method show() untuk menampilkan detail memo yang telah dibuat.
- Method dataForDatatables() untuk API datatables dengan filter, search, dan pagination.
- Implementasi DB transaction untuk menjaga integritas data.
- Logging dan error handling komprehensif di setiap method.
**View Template:**
- index.blade.php: Tabel data permohonan dengan fitur checkbox selection (bulk).
- create.blade.php: Form pembuatan memo dari data yang dipilih.
- show.blade.php: Halaman detail memo penyelesaian.
- Menggunakan Bootstrap untuk styling dan interaksi dinamis dengan JavaScript.
- Validasi client-side untuk memastikan data sesuai sebelum dikirim.
**Routing dan Navigasi:**
- Menambahkan route resource untuk operasi CRUD Memo.
- Menambahkan route khusus untuk datatables API dan bulk create.
- Integrasi menu "Memo Penyelesaian" di navigasi utama aplikasi.
- Role-based access control untuk keamanan akses fitur.
**Integrasi Data:**
- Menggunakan model Permohonan sebagai sumber data utama dengan eager loading.
- Relasi dengan tabel user, debitur, branch, dan tujuan penilaian.
- Menambahkan status management untuk mempermudah tracking progress permohonan.
**Keamanan dan Validasi:**
- Validasi input baik di sisi controller maupun client-side.
- CSRF protection dan XSS prevention untuk menjaga keamanan aplikasi.
- Permission checking sesuai level user.
**Performance dan UX:**
- Pagination dan query optimization untuk performa lebih baik.
- Caching strategi untuk data yang sering diakses.
- Interface yang intuitif, dengan loading state dan feedback message.
- Responsive design untuk desktop dan mobile.
- Shortcut keyboard untuk efisiensi power user.
**Teknis dan Testing:**
- Struktur kode mengikuti Laravel best practice dan design pattern.
- Siap untuk unit test dan integration test.
- Logging lengkap untuk monitoring dan debugging.
- Error scenario handling dan fallback yang robust.
Tujuan perubahan:
- Menyediakan fitur pengelolaan memo penyelesaian permohonan secara bulk dengan user experience yang optimal dan performa efisien.
- Tambahkan model NOC ke NocController, PersetujuanPenawaranController, dan validasi pada NocRequest.
- Implementasi penyimpanan data NOC menggunakan `updateOrCreate` di beberapa alur proses.
- Tambahkan properti baru `catatan_noc` pada model, migrasi database, dan form terkait.
- Revisi aturan validasi pada NocRequest dan PersetujuanPenawaranRequest.
- Tingkatkan tampilan form NOC dengan penanganan file upload dan pratinjau file yang sudah diunggah.
- Perbaikan beberapa nama properti seperti `status_bayar` menjadi `status_pembayar`.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Menambahkan model baru untuk tabel `noc` beserta relasinya pada `Permohonan` dan `PersetujuanPenawaran`.
- Menambahkan migrasi untuk membuat tabel `noc` di database.
- Memodifikasi logika dan format data pada `NocController` untuk mendukung data terkait `noc`.
- Mendefinisikan relasi baru di model `Permohonan` dan `PersetujuanPenawaran` untuk mendukung fitur `noc`.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Mengubah inheritance pada semua model di `Modules/Lpj` dari `Model` ke `Base` untuk konsistensi struktur.
- Menghapus model `SLA` beserta migrasi terkait karena tidak lagi digunakan.
- Menambahkan kelas LaporanHasilPenilaianJaminanInternalExternalExport untuk mengelola ekspor data.
- Mengimplementasikan metode collection untuk mengambil data permohonan dengan filter.
- Menambahkan metode map untuk memetakan data permohonan ke format yang sesuai untuk ekspor.
- Menyediakan judul dan heading untuk laporan yang diekspor.
- Mengatur format dan gaya untuk laporan yang dihasilkan.
- Menghapus import yang tidak digunakan untuk model Permohonan.
- Mengganti nama metode 'creator' menjadi 'user' untuk konsistensi.
- Menambahkan metode 'authorizedUser' untuk relasi dengan pengguna yang mengotorisasi.
- 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.
- Memperbaiki fungsi formatAlamat untuk menggunakan kode pos dari desa.
- Menambahkan relasi ke model BankData untuk desa, distrik, kota, dan provinsi.
- Memperbarui controller BankDataController untuk menyertakan alamat dalam data yang diformat.
- Memperbarui tampilan untuk menampilkan informasi alamat dengan format yang lebih baik.
- Menambahkan model BankData untuk mengelola data bank.
- Membuat migrasi untuk tabel bank_data dengan kolom yang diperlukan.
- Menyediakan scope untuk memfilter data berdasarkan jenis aset, desa, distrik, kota, provinsi, dan tanggal.
- Menambahkan pemeriksaan untuk file lampiran pada permohonan.
- Menggunakan metode storeAs untuk menyimpan file dengan nama unik.
- Memastikan file disimpan di direktori 'permohonan_attachments' dengan akses publik.
- Menambahkan pemanggilan model LaporanAdminKredit untuk menyimpan data ketika status permohonan adalah 'done'.
- Mengambil data dari permohonan dan penilaian untuk disimpan dalam laporan.
- Menambahkan relasi baru pada model Penilaian untuk mendapatkan informasi penilai.
- Menambahkan model LaporanAdminKredit.
- Menambahkan controller LaporanAdminKreditController dengan metode untuk menampilkan dan mengelola data.
- Menambahkan rute untuk laporan admin kredit.
- Menambahkan breadcrumb untuk navigasi laporan admin kredit.
- Menambahkan migrasi untuk tabel laporan_admin_kredit.
- Menambahkan relasi di model Debiture untuk laporan admin kredit.
- Menambahkan validasi untuk 'jenis_lampiran_id' pada metode upload.
- Memperbarui atribut yang dapat diisi pada model LampiranDokumen.
- Menambahkan relasi jenisLampiran pada model LampiranDokumen.
- Membuat migrasi untuk menambahkan kolom 'jenis_lampiran_id' pada tabel lampiran_dokumen.
- Menghapus bagian tampilan yang tidak diperlukan dan menggantinya dengan komponen yang ada.
- Menambahkan model JenisLampiran dengan relasi ke LampiranDokumen.
- Membuat migrasi untuk tabel jenis_lampiran.
- Menambahkan rute dan kontroler untuk operasi CRUD jenis lampiran.
- Menambahkan permintaan validasi untuk jenis lampiran.
- Menambahkan tampilan untuk membuat dan mengedit jenis lampiran.
- Menambahkan breadcrumb untuk navigasi jenis lampiran.
- Menambahkan fitur ekspor data jenis lampiran ke Excel.
- Memperbarui kondisi pengecekan peran pengguna untuk menyertakan 'surveyor'.
- Memastikan pengguna dengan peran surveyor dapat mengakses fungsionalitas terkait lampiran dokumen.
- Memperbaiki pengecekan peran pengguna untuk menyimpan lampiran.
- Menyederhanakan pengambilan keterangan dari fileData.
- Memastikan keterangan disimpan dengan benar saat membuat entri baru.
- Menambahkan method laporanExternal pada model Permohonan untuk mendefinisikan relasi dengan LaporanExternal.
- Memperbarui query pada method show di PenilaiController untuk menyertakan relasi jenisPenilaian dan laporanExternal.
- Menambahkan controller LampiranDokumenController untuk mengelola lampiran dokumen.
- Menambahkan model LampiranDokumen untuk interaksi dengan tabel lampiran_dokumen.
- Membuat migrasi untuk tabel lampiran_dokumen dengan kolom yang diperlukan.
- Menambahkan rute untuk mengupload, mendownload, dan menghapus lampiran dokumen.
- Memperbarui tampilan detail-jaminan untuk menampilkan dan mengelola lampiran dokumen.
- Menambahkan controller LaporanExternalController untuk mengelola laporan eksternal.
- Menambahkan request LaporanExternalRequest untuk validasi data laporan eksternal.
- Menambahkan model LaporanExternal untuk interaksi dengan database.
- Menambahkan migrasi untuk tabel laporan_externals dengan kolom yang diperlukan.
- Mengubah query untuk mengambil data penawaran dengan menggunakan eager loading.
- Menambahkan relasi baru pada model PenawaranTender untuk penilaian dan persetujuan.
- Memperbaiki tampilan pada dokumen SPK dan halaman edit dengan mengurangi duplikasi kode.
- Mengubah penamaan kelas dari `customField` menjadi `CustomField` untuk konsistensi penamaan.
- Memperbaiki referensi di beberapa file controller dan request yang menggunakan penamaan yang salah.
- Menambahkan kolom 'custom_fields' pada tabel 'jenis_legalitas_jaminan'.
- Memperbarui model untuk mengizinkan pengisian 'custom_fields' sebagai array.
- Memperbarui request untuk validasi 'custom_fields' sebagai array.
- Memperbarui controller untuk mengambil dan mengirimkan custom fields saat membuat dan mengedit jenis legalitas jaminan.
- Menambahkan kolom 'label' pada tabel custom_fields.
- Menambahkan kolom 'urutan_prioritas' pada tabel custom_fields.
- Memperbarui model CustomField untuk menyertakan kolom baru.
- Memperbarui form input untuk label dan urutan prioritas di tampilan create dan index.
- Menambahkan validasi untuk label dan urutan prioritas di CustomFieldRequest.
- Menambahkan model CustomField dengan atribut mass assignable.
- Membuat request validation untuk custom field.
- Menambahkan route dan breadcrumb untuk custom field.
- Membuat migration untuk tabel custom_fields.
- Menambahkan export functionality untuk custom field.
- Membuat view untuk menambah dan mengedit custom field.
- Menambahkan kolom tanggal paparan pada tampilan laporan.
- Memperbarui model Permohonan untuk menambahkan relasi otorisasi.
- Memperbaiki logika otorisasi pada tampilan paparan.
- Memperbaiki penanganan tombol untuk melihat data paparan.
- Menambahkan logika untuk menggabungkan keterangan dengan registrasi catatan jika ada.
- Memastikan keterangan tidak kosong sebelum ditambahkan ke dalam string.
- Memperbaiki format array $fillable untuk konsistensi.
- Menmbahkan relasi 'user' untuk mempermudah pemanggilan.
- Menambahkan spasi dan format yang lebih baik pada fungsi.
- Menambahkan view baru untuk otorisasi SLA (`sla.blade.php` dan `index-sla.blade.php`).
- Menambahkan route baru untuk data datatables SLA (`sla.datatables`).
- Mengupdate controller (`PenilaianController`, `SLAController`) untuk mendukung alur otorisasi SLA.
- Menyesuaikan model `Authorization` guna kebutuhan SLA.
- Menambahkan migrasi untuk tabel "authorizations" guna menyimpan data otorisasi terkait permohonan.
- Membuat model Authorization dengan relasi ke tabel Permohonan dan Users.
- Menyediakan cast dan properti fillable untuk mempermudah manipulasi data.
- Menambahkan kolom "nilai_liquidasi" pada tabel "permohonan" melalui migrasi baru.
- Memperbarui LaporanController untuk menyimpan dan menampilkan data Nilai Liquidasi.
- Menambahkan tampilan halaman input Nilai Liquidasi dengan validasi dan perhitungan otomatis.
- Memodifikasi tampilan daftar laporan untuk menunjukkan status Nilai Liquidasi.
- Menambahkan relasi baru pada model Permohonan untuk mengakses data Penilai.
- Ditambahkan relasi baru di model Permohonan untuk persetujuan SO, EO, dan DD.
- Modifikasi PenilaianController untuk menyertakan data relasi persetujuan.
- Perbaikan dan penyesuaian tampilan tabel dengan kolom persetujuan.
- Tambahkan logika tombol otorisator berdasarkan peran pengguna dan status persetujuan.
- Update tampilan detail permohonan dengan informasi persetujuan.
- Menambahkan kolom approval_eo, approval_dd, dan approval_so beserta timestamp terkait di tabel permohonan.
- Memperluas fungsionalitas model dan controller untuk mendukung kolom approval baru.