From 5fde58d00c4738c3e804ee70cac86145768658bb Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Fri, 20 Dec 2024 15:09:47 +0700 Subject: [PATCH] Refactor data rendering and query structures in SPK - Mengubah struktur query untuk mengambil data dari relasi yang lebih sesuai. - Memperbaiki atribut render di view agar lebih konsisten dengan struktur data baru. - Membersihkan logika yang tidak digunakan, termasuk format data untuk tanggal, biaya, dan path dokumen. - Mengoptimalkan fungsi download dengan menggunakan ID langsung dari PenawaranTender. --- app/Http/Controllers/SpkController.php | 35 ++++++++++++------------ resources/views/spk/index.blade.php | 38 +++++++++++++++----------- 2 files changed, 40 insertions(+), 33 deletions(-) diff --git a/app/Http/Controllers/SpkController.php b/app/Http/Controllers/SpkController.php index d0bc5f6..828170e 100644 --- a/app/Http/Controllers/SpkController.php +++ b/app/Http/Controllers/SpkController.php @@ -36,15 +36,17 @@ use Illuminate\Support\Facades\Auth; // Retrieve data from the database // $query =Permohonan::query()->with(['penawaran','penawaran.tujuanPenilaianKjpp'])->where('permohonan.status','=','spk'); // $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian','penilaian'])->get(); - $query =Permohonan::query()->with(['user', 'debiture', 'branch', 'tujuanPenilaian','penilaian','penawaran','penawaran.tujuanPenilaianKjpp'])->where('permohonan.status','=','spk'); + //$query =Permohonan::query()->with(['user', 'debiture', 'branch', 'tujuanPenilaian','penilaian','penawaran','penawaran.tujuanPenilaianKjpp'])->where('permohonan.status','=','spk'); + + $query = PenawaranTender::query()->with(['permohonan.user', 'permohonan.debiture', 'permohonan.branch', 'permohonan.tujuanPenilaian','permohonan.penilaian','tujuanPenilaianKjpp']); // Apply search filter if provided if ($request->has('search') && !empty($request->get('search'))) { $search = $request->get('search'); $query->where(function ($q) use ($search) { - $q->where('nomor_registrasi', 'LIKE', '%' . $search . '%'); - $q->orWhere('penawaran.tanggal_permohonan', 'LIKE', '%' . $search . '%'); + $q->whereRelation('permohonan','nomor_registrasi', 'LIKE', '%' . $search . '%'); + $q->orWhere('tanggal_permohonan', 'LIKE', '%' . $search . '%'); $q->orWhere('status', 'LIKE', '%' . $search . '%'); }); @@ -81,34 +83,34 @@ use Illuminate\Support\Facades\Auth; foreach($data as $obj) { // tanggal_permohonan - if ($obj->tanggal_permohonan) { - $data[$i]->tanggal_permohonan = Carbon::parse($obj->tanggal_permohonan)->format('d M Y'); + if ($obj->permohonan->tanggal_permohonan) { + $data[$i]->permohonan->tanggal_permohonan = Carbon::parse($obj->permohonan->tanggal_permohonan)->format('d M Y'); } - if($obj->penawaran->tanggal_penilaian_sebelumnya) + if($obj->tanggal_penilaian_sebelumnya) { - $data[$i]->penawaran->tanggal_penilaian_sebelumnya = Carbon::parse($obj->penawaran->tanggal_penilaian_sebelumnya)->format('d F Y H:i:s'); + $data[$i]->tanggal_penilaian_sebelumnya = Carbon::parse($obj->tanggal_penilaian_sebelumnya)->format('d F Y H:i:s'); } - if($obj->penawaran->biaya_kjpp_sebelumnya) + if($obj->biaya_kjpp_sebelumnya) { - $data[$i]->penawaran->biaya_kjpp_sebelumnya = formatRupiah($obj->penawaran->biaya_kjpp_sebelumnya); + $data[$i]->biaya_kjpp_sebelumnya = formatRupiah($obj->biaya_kjpp_sebelumnya); } // date_range - if($obj->penawaran->start_date && $obj->penawaran->end_date) + if($obj->start_date && $obj->end_date) { - $data[$i]->date_range = Carbon::parse($obj->penawaran->start_date)->format('d M Y').' - '. - Carbon::parse($obj->penawaran->end_date)->format('d M Y'); + $data[$i]->date_range = Carbon::parse($obj->start_date)->format('d M Y').' - '. + Carbon::parse($obj->end_date)->format('d M Y'); } // data spk_dokumen_path - if($obj->penawaran->spk_dokumen_path) + if($obj->spk_dokumen_path) { - $spk_dokumen_path = Storage::url($obj->penawaran->spk_dokumen_path); - $data[$i]->penawaran->spk_dokumen_path = $spk_dokumen_path; + $spk_dokumen_path = Storage::url($obj->spk_dokumen_path); + $data[$i]->spk_dokumen_path = $spk_dokumen_path; } $i++; @@ -393,8 +395,7 @@ use Illuminate\Support\Facades\Auth; public function download($id) { // dokumen pdf diambil dari penawaran.spk_dokumen_path - $permohonan = Permohonan::find($id); - $document = PenawaranTender::where('nomor_registrasi','=',$permohonan->nomor_registrasi)->first(); + $document = PenawaranTender::find($id); return response()->download(storage_path('app/public/' .$document->spk_dokumen_path)); } diff --git a/resources/views/spk/index.blade.php b/resources/views/spk/index.blade.php index 53218d9..8d980ca 100644 --- a/resources/views/spk/index.blade.php +++ b/resources/views/spk/index.blade.php @@ -126,12 +126,15 @@ }, 'nomor_registrasi': { title: 'Nomor Registrasi', + render: (item, data) => { + return `${data.permohonan.nomor_registrasi}`; + }, }, code: { title: 'Nomor Penawaran', render: (item, data) => { - if(data.penawaran) { - return `${data.penawaran.code}`; + if(data.code) { + return `${data.code}`; } return '-'; @@ -139,24 +142,27 @@ }, tanggal_permohonan: { title: 'Tanggal Permohonan', + render: (item, data) => { + return `${data.permohonan.tanggal_permohonan}`; + }, }, user_id: { title: 'User Pemohon', render: (item, data) => { - return `${data.user.name}`; + return `${data.permohonan.user.name}`; }, }, branch_id: { title: 'Cabang Pemohon', render: (item, data) => { - return `${data.branch.name}`; + return `${data.permohonan.branch.name}`; }, }, debitur_id: { title: 'Debitur', render: (item, data) => { - if (data.debiture) { - return `${data.debiture.name}`; + if (data.permohonan.debiture) { + return `${data.permohonan.debiture.name}`; } return "-"; }, @@ -167,14 +173,14 @@ tujuan_penilaian_id: { title: 'Tujuan Penilaian', render: (item, data) => { - return `${data.tujuan_penilaian.name}`; + return `${data.permohonan.tujuan_penilaian.name}`; }, }, tujuan_penilaian_kjpp_id: { title: 'Tujuan Penilaian KJPP', render: (item, data) => { - if(data.penawaran.tujuan_penilaian_kjpp) { - return `${data.penawaran.tujuan_penilaian_kjpp.name}`; + if(data.tujuan_penilaian_kjpp) { + return `${data.tujuan_penilaian_kjpp.name}`; } return '-'; @@ -183,15 +189,15 @@ kjpp_data: { title: 'Nama KJPP Terpilih', render: (item, data) => { - return `${data.penawaran.nama_kjpp_sebelumnya}`+'
' - +`${data.penawaran.biaya_kjpp_sebelumnya}`+'
' - +`${data.penawaran.tanggal_penilaian_sebelumnya}`; + return `${data.nama_kjpp_sebelumnya}`+'
' + +`${data.biaya_kjpp_sebelumnya}`+'
' + +`${data.tanggal_penilaian_sebelumnya}`; }, }, status: { title: 'Status', render: (item, data) => { - return `${data.penawaran.status}`.toUpperCase(); + return `${data.status}`.toUpperCase(); }, }, actions: { @@ -199,9 +205,9 @@ render: (item, data) => { var spkShow =''; var spkCreate=''; - if(!data.penawaran.spk_dokumen_path) + if(!data.spk_dokumen_path) { - spkCreate=` + spkCreate=` `; } @@ -211,7 +217,7 @@ `; - spkCreate=` + spkCreate=` `; }