From bf728972b501694fab3a2a47c709a08a4a81ade0 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Mon, 22 Sep 2025 09:04:48 +0700 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8(laporan-admin-kredit):=20tambah=20kol?= =?UTF-8?q?om=20keterangan=20&=20kolektibilitas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Tambah field `keterangan` (TEXT) & `kolektibilitas` (VARCHAR 10) pada tabel laporan_admin_kredit - Update model LaporanAdminKredit dengan fillable baru - Tambah dropdown kolektibilitas (1-5: Lancar, DPK, Kurang Lancar, Diragukan, Macet) di form - Tambah textarea keterangan dengan old() support untuk validasi - Validasi: `keterangan` nullable|string, `kolektibilitas` nullable|string|in:1..5 - Update controller: simpan field baru dengan DB transaction & error handling - Migration baru untuk menambah kolom `keterangan` & `kolektibilitas` - UI/UX: konsistensi styling, responsive grid layout, placeholder informatif - Testing: form simpan & validasi berhasil, migration jalan tanpa error --- .../LaporanAdminKreditController.php | 5 +++ app/Models/LaporanAdminKredit.php | 4 +- ...ibilitas_to_laporan_admin_kredit_table.php | 29 +++++++++++++ .../views/laporan_admin_kredit/form.blade.php | 43 ++++++++++++++++--- .../laporan_admin_kredit/index.blade.php | 21 +++++++++ 5 files changed, 94 insertions(+), 8 deletions(-) create mode 100644 database/migrations/2025_09_22_015358_add_keterangan_kolektibilitas_to_laporan_admin_kredit_table.php diff --git a/app/Http/Controllers/LaporanAdminKreditController.php b/app/Http/Controllers/LaporanAdminKreditController.php index 97f2114..32b20b0 100644 --- a/app/Http/Controllers/LaporanAdminKreditController.php +++ b/app/Http/Controllers/LaporanAdminKreditController.php @@ -3,6 +3,7 @@ namespace Modules\Lpj\Http\Controllers; use App\Http\Controllers\Controller; + use Exception; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Maatwebsite\Excel\Facades\Excel; @@ -149,6 +150,8 @@ $request->validate([ 'kode_register_t24' => 'nullable', 'cif' => 'required', + 'keterangan' => 'nullable|string', + 'kolektibilitas' => 'nullable|string|in:1,2,3,4,5', ]); try { @@ -157,6 +160,8 @@ // Update only the editable fields $laporanAdminKredit->update([ 'kode_register_t24' => $request->kode_register_t24, + 'keterangan' => $request->keterangan, + 'kolektibilitas' => $request->kolektibilitas, 'updated_by' => Auth::id(), ]); diff --git a/app/Models/LaporanAdminKredit.php b/app/Models/LaporanAdminKredit.php index 41f6b9d..04d8117 100644 --- a/app/Models/LaporanAdminKredit.php +++ b/app/Models/LaporanAdminKredit.php @@ -18,7 +18,9 @@ class LaporanAdminKredit extends Base 'tanggal_kunjungan', 'nilai_pasar_wajar', 'nilai_likuidasi', - 'nama_penilai' + 'nama_penilai', + 'keterangan', + 'kolektibilitas' ]; protected $casts = [ diff --git a/database/migrations/2025_09_22_015358_add_keterangan_kolektibilitas_to_laporan_admin_kredit_table.php b/database/migrations/2025_09_22_015358_add_keterangan_kolektibilitas_to_laporan_admin_kredit_table.php new file mode 100644 index 0000000..55290f8 --- /dev/null +++ b/database/migrations/2025_09_22_015358_add_keterangan_kolektibilitas_to_laporan_admin_kredit_table.php @@ -0,0 +1,29 @@ +text('keterangan')->nullable()->comment('Keterangan tambahan untuk laporan admin kredit'); + $table->string('kolektibilitas', 10)->nullable()->comment('Status kolektibilitas kredit'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('laporan_admin_kredit', function (Blueprint $table) { + $table->dropColumn(['keterangan', 'kolektibilitas']); + }); + } +}; diff --git a/resources/views/laporan_admin_kredit/form.blade.php b/resources/views/laporan_admin_kredit/form.blade.php index ad03119..d31e7b8 100644 --- a/resources/views/laporan_admin_kredit/form.blade.php +++ b/resources/views/laporan_admin_kredit/form.blade.php @@ -50,23 +50,23 @@
{{ $laporanAdminKredit->jenis_agunan }}
+
+ +
{{ $laporanAdminKredit->nama_pemilik }}
+
-
{{ $laporanAdminKredit->bukti_kepemilikan }}
+
+ {{ $laporanAdminKredit->bukti_kepemilikan }}
-
+
{{ $laporanAdminKredit->alamat_agunan }}
-
- -
{{ $laporanAdminKredit->nama_pemilik }}
-
-
@@ -89,6 +89,35 @@
{{ $laporanAdminKredit->nama_penilai }}
+ +
+ + +
+ +
+ + keterangan ?? '') }}> +
diff --git a/resources/views/laporan_admin_kredit/index.blade.php b/resources/views/laporan_admin_kredit/index.blade.php index 8a76bbc..f23fe3c 100644 --- a/resources/views/laporan_admin_kredit/index.blade.php +++ b/resources/views/laporan_admin_kredit/index.blade.php @@ -97,6 +97,14 @@ Nama Penilai + + Kolektibilitas + + + + Keterangan + + Actions @@ -201,6 +209,19 @@ nama_penilai: { title: 'Nama Penilai', }, + kolektibilitas: { + title: 'Kolektibilitas', + }, + keterangan: { + title: 'Keterangan', + render: (item, data) => { + // Truncate keterangan if too long + if (data.keterangan && data.keterangan.length > 50) { + return data.keterangan.substring(0, 50) + '...'; + } + return data.keterangan || '-'; + }, + }, actions: { title: 'Action', render: (item, data) => {