From a1e98090a87e971928e596c0eed7b5968aeffc2d Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Thu, 6 Mar 2025 18:17:02 +0700 Subject: [PATCH] feat(penilai): tambahkan kolom jenis laporan dan perhitungan due date SLA - Menambahkan kolom "Jenis Laporan" pada tampilan daftar penilai. - Memperbarui logika perhitungan due date SLA berdasarkan tipe laporan dan nilai plafond. - Menyertakan relasi 'penilai' dan 'nilaiPlafond' dalam query untuk pengambilan data. --- app/Http/Controllers/PenilaiController.php | 4 ++- resources/views/penilai/index.blade.php | 37 ++++++++++++++++++++-- 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/PenilaiController.php b/app/Http/Controllers/PenilaiController.php index 819a1d6..e7c8ef4 100644 --- a/app/Http/Controllers/PenilaiController.php +++ b/app/Http/Controllers/PenilaiController.php @@ -544,7 +544,9 @@ class PenilaiController extends Controller 'branch', 'tujuanPenilaian', 'jenisfasilitasKredit', - 'penilaian.userPenilai' // Ensure this relation is included + 'penilaian.userPenilai', + 'penilai', + 'nilaiPlafond' ])->get(); // Calculate the page count diff --git a/resources/views/penilai/index.blade.php b/resources/views/penilai/index.blade.php index bda05fe..4698ead 100644 --- a/resources/views/penilai/index.blade.php +++ b/resources/views/penilai/index.blade.php @@ -60,6 +60,10 @@ Fasilitas Kredit + + Jenis Laporan + + Tanggal Survei @@ -170,16 +174,45 @@ return data.jenisfasilitas_kredit && data.jenisfasilitas_kredit.name ? `${data.jenisfasilitas_kredit.name}` : '-'; }, }, + jenis_laporan: { + title: 'Jenis Laporan', + render: (item, data) => { + return data.penilai?.type; + }, + }, tanggal_survei: { title: 'Tanggal Survei', render: (item, data) => { - return `${formatDate(new Date(data.created_at))}`; + if(data.penilaian.waktu_penilaian){ + return `${formatDate(new Date(data.penilaian.waktu_penilaian))}`; + } + return `${formatDate(new Date(data.penilaian.created_at))}`; }, }, due_date_sla: { title: 'Due Date SLA', render: (item, data) => { - return `${formatDate(new Date(data.created_at))}`; + const tipe_laporan = data.penilai?.type; + const nilai_plafond = data.penilaian.nilaiPlafond?.name; + let waktu_penilaian = new Date(data.penilaian.created_at); + if(data.penilaian.waktu_penilaian){ + waktu_penilaian = new Date(data.penilaian.waktu_penilaian); + } + + if(tipe_laporan=="sederhana"){ + waktu_penilaian.setDate(waktu_penilaian.getDate() + 2); + } else if(tipe_laporan=="standar"){ + if(nilai_plafond=="2 M - 5 M"){ + waktu_penilaian.setDate(waktu_penilaian.getDate() + 3); + } else if(nilai_plafond=="< 2M"){ + waktu_penilaian.setDate(waktu_penilaian.getDate() + 3); + } else { + waktu_penilaian.setDate(waktu_penilaian.getDate() + 5); + } + } + + return formatDate(waktu_penilaian); + }, }, status: {