- Menambahkan method editKurang() di PembayaranController untuk menampilkan form pelunasan kurang bayar
- Menambahkan logika pelunasan kurang bayar di method store() dengan validasi type 'kurang_bayar'
- Menambahkan penyimpanan bukti KSL kurang bayar dengan upload file ke storage
- Menambahkan update nominal pelunasan dan bukti KSL ke tabel noc dan persetujuan_penawaran
- Menambahkan filter bukti_ksl_kurang_bayar null pada query dataForDatatablesKurang untuk menampilkan data yang belum dilunasi
- Menambahkan validasi file upload untuk bukti_ksl_kurang_bayar dengan format pdf,doc,docx maksimal 10MB
- Menambahkan kolom nominal_pelunasan dan debiture_id pada migration persetujuan_penawaran
- Menambahkan view form-kurang.blade.php dengan tampilan detail pembayaran dan form pelunasan
- Menambahkan validasi JavaScript untuk memastikan nominal pelunasan tidak melebihi nominal kurang bayar
- Menambahkan route pembayaran/{pembayaran}/kurang untuk mengakses form pelunasan kurang bayar
- Mengubah link action di kurang.blade.php dari edit ke kurang untuk mengarahkan ke form pelunasan
- Menambahkan redirect ke pembayaran.kurang.index setelah berhasil menyimpan pelunasan
- Menambahkan rollback migration untuk menghapus kolom yang ditambahkan jika diperlukan
### ✨ Fitur Baru
- Menambahkan field `nomor_tiket` pada model **PersetujuanPenawaran** ke dalam `$fillable`.
- Membuat migration untuk menambahkan kolom `nomor_tiket` (VARCHAR 100, nullable) di tabel `persetujuan_penawaran`.
- Menambahkan validasi dan custom error messages untuk field `nomor_tiket` pada **PersetujuanPenawaranRequest**.
- Menempatkan `nomor_tiket` setelah `nomor_proposal_penawaran` untuk konsistensi.
- Implementasi rollback pada migration untuk menjaga keamanan database.
- Menambahkan komentar dokumentasi pada migration untuk mempermudah maintenance.
- Validation rules: `nullable|string|max:100` dengan pesan error dalam Bahasa Indonesia.
- Field ini mendukung tracking dan identifikasi tiket setiap persetujuan penawaran.
- Mengikuti pola dan konvensi sistem yang sudah ada agar konsisten.
### 🐛 Perbaikan Bug
- Memperbaiki typo namespace dari **Usermanagemenet** menjadi **Usermanagement**.
- Menghapus import **Region** yang tidak ada di codebase.
- Menghapus relasi `region()` karena model **Region** tidak ditemukan.
- Mempertahankan relasi valid seperti `penawaran`, `permohonan`, `authorizedBy`, dan `noc`.
- Menyelesaikan error *"Undefined type"* pada baris 53 dan 59.
- Membersihkan kode dengan menghapus dependency yang tidak ada.
- Menyesuaikan namespace **User** agar konsisten dengan struktur modul **Usermanagement**.
- Model kini lebih stabil, bersih, dan bebas dari error diagnostic.
- 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
- 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>
- Menghapus migration `create_currencies_table` dan `create_label_name_inspeksi_table` yang tidak digunakan.
- Menambahkan `timestamps` dan `softDeletes` pada beberapa tabel untuk peningkatan konsistensi dan fitur auditing.
- Mengubah `authorized_status` dari wajib menjadi nullable di beberapa tabel untuk fleksibilitas data.
- 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.
- Memastikan bahwa perubahan pada enum 'status_bayar' di fungsi down dilakukan dalam konteks tabel 'permohonan'.
- Menghindari kesalahan dengan menambahkan fungsi Schema::table di dalam fungsi down.
- Menambahkan kolom 'kategori' dengan tipe enum pada tabel 'bank_data'.
- Nilai yang diizinkan untuk kolom ini adalah 'data_pembanding', 'penilaian', dan 'input'.
- Nilai default untuk kolom ini adalah 'data_pembanding'.
- Menambahkan opsi "tidak_bayar" pada status bayar.
- Memperbarui logika validasi untuk status bayar di form permohonan.
- Mengubah logika tampilan laporan berdasarkan status bayar.
- Memperbarui migrasi untuk mengubah kolom status bayar di tabel permohonan.
- 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 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.
- Mengubah kolom jenis_lampiran_id pada tabel lampiran_dokumen agar dapat bernilai null.
- Memastikan integritas data saat penghapusan jenis lampiran dengan opsi onDelete cascade.
- Mengubah kolom jenis_lampiran_id menjadi foreign key yang terhubung dengan tabel jenis_lampiran.
- Menggunakan metode foreignIdFor untuk mendefinisikan relasi dan mengatur onDelete menjadi cascade.
- 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.
- 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 entri untuk Laporan External di module.json.
- Menambahkan breadcrumb untuk Laporan External di breadcrumbs.php.
- Membuat migrasi untuk tabel laporan_externals.
- Menambahkan rute untuk Laporan External di web.php.
- Memperbarui validasi di LaporanExternalRequest untuk mendukung nullable fields.
- Mengimplementasikan LaporanExternalController untuk menangani operasi CRUD.
- 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.
- 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 metode edit untuk menampilkan form upload file paparan.
- Menambahkan metode storePaparan untuk menyimpan file paparan ke database.
- Membuat migrasi untuk menambahkan kolom file_paparan pada tabel penilai.
- Menambahkan tampilan edit.blade.php untuk form upload.
- Memperbarui tampilan show.blade.php untuk mengarahkan ke form edit.
- Menambahkan breadcrumb untuk navigasi ke halaman upload file paparan.
- Memperbarui rute untuk mendukung pengeditan dan penyimpanan file paparan.
- 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.
- 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.
- Tambah file migration untuk update tabel `persetujuan_penawaran` dengan relasi baru.
- Tambah fungsi baru di controller pembayaran: `edit`, `store`, `update`, dan `approval`.
- Perbarui view daftar pembayaran dan tambahkan form pembayaran baru.
- Tambah endpoint dan breadcrumbs untuk fitur pembayaran di routes.
- Menambahkan model, migration, dan relasi untuk tabel pembatalan permohonan.
- Mengubah fungsi delete menjadi pembatalan permohonan dengan konfirmasi pengguna.
- Menambahkan route baru untuk form dan proses pembatalan permohonan.
- Menyediakan form input alasan dan file pendukung untuk pembatalan permohonan.
- Memperbarui tampilan, fungsi controller, dan breadcrumbs terkait pembatalan permohonan.
- Buat migrasi untuk kolom `bukti_ksl` dan `catatan_noc` pada tabel `persetujuan_penawaran`.
- Tambahkan halaman index dan form NOC untuk pengelolaan data.
- Implementasikan controller dan request validation baru untuk NOC.
- Ubah logika status penawaran pada `PersetujuanPenawaranController`.
- Tambahkan route, breadcrumbs, dan menu modul untuk NOC.
- Menambahkan validasi dan atribut 'nominal_bayar' pada request dan model.
- Menampilkan input 'nominal_bayar' di form persetujuan penawaran.
- Memperbarui tampilan dan data tabel untuk mendukung kolom 'nominal_bayar'.