From 74872076e4c0b2e5a6e31992b9cb6e8ff89f61d4 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Wed, 5 Mar 2025 11:18:02 +0700 Subject: [PATCH] refactor(spk): optimalkan pengambilan data penawaran - 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. --- app/Http/Controllers/SpkController.php | 59 +++++++++-------------- app/Models/PenawaranTender.php | 8 +++ resources/views/spk/documentSPK.blade.php | 13 +++-- resources/views/spk/edit.blade.php | 9 ++-- 4 files changed, 42 insertions(+), 47 deletions(-) diff --git a/app/Http/Controllers/SpkController.php b/app/Http/Controllers/SpkController.php index 994520b..ef87340 100644 --- a/app/Http/Controllers/SpkController.php +++ b/app/Http/Controllers/SpkController.php @@ -148,26 +148,17 @@ use Illuminate\Support\Facades\Auth; public function edit($id) { - // dd(Carbon::now()->addDays(1)->format('d F Y')); - // dd(Carbon::now()->subDays(1)->format('d F Y')); jenis_laporan_name - $penawaran = PenawaranTender::leftJoin('detail_penawaran', 'detail_penawaran.penawaran_id','=','penawaran.id') - ->leftJoin('jenis_laporan', 'jenis_laporan.id','=','penawaran.jenis_laporan_id') - ->leftJoin('kjpp', 'kjpp.id','=','detail_penawaran.kjpp_rekanan_id') - ->leftJoin('tujuan_penilaian_kjpp', 'tujuan_penilaian_kjpp.id','=','penawaran.tujuan_penilaian_kjpp_id') - ->leftJoin('penilaian', 'penilaian.nomor_registrasi','=','penawaran.nomor_registrasi') - ->where('detail_penawaran.status','=',1) - ->where('penawaran.id','=', $id) - ->select('penawaran.*', 'detail_penawaran.attachment as attachmentku', - 'detail_penawaran.no_proposal as detail_penawaran_no_proposal', - 'detail_penawaran.tgl_proposal as detail_penawaran_tgl_proposal', - 'detail_penawaran.biaya_penawaran as detail_penawaran_biaya_penawaran', - 'kjpp.name as kjpp_name', - 'kjpp.address as kjpp_address', - 'jenis_laporan.name as jenis_laporan_name', - 'tujuan_penilaian_kjpp.name as tujuan_penilaian_kjpp_name', - 'jenis_laporan.code as jenis_laporan_code', - 'penilaian.waktu_penilaian as penilaian_waktu_penilain' - )->first(); + $penawaran = PenawaranTender::with(['jenisLaporan','tujuanPenilaianKjpp','detail.kjpp','penilaian','persetujuan_penawaran'])->where('id',$id)->first(); + $penawaran->attachmentku = $penawaran->detail->attachment; + $penawaran->detail_penawaran_no_proposal = $penawaran->detail->no_proposal; + $penawaran->detail_penawaran_tgl_proposal = $penawaran->detail->tgl_proposal; + $penawaran->detail_penawaran_biaya_penawaran = $penawaran->detail->biaya_penawaran; + $penawaran->kjpp_name = $penawaran->detail->kjpp->name; + $penawaran->kjpp_address = $penawaran->detail->kjpp->address; + $penawaran->jenis_laporan_name = $penawaran->jenisLaporan->name; + $penawaran->jenis_laporan_code = $penawaran->jenisLaporan->code; + $penawaran->tujuan_penilaian_kjpp_name = $penawaran->tujuanPenilaianKjpp->name; + $penawaran->penilaian_waktu_penilain = $penawaran->penilaian->waktu_penilaian; $permohonan = Permohonan::where('nomor_registrasi','=',$penawaran->nomor_registrasi) ->leftJoin('dokumen_jaminan', 'dokumen_jaminan.permohonan_id','=','permohonan.id') @@ -236,28 +227,24 @@ use Illuminate\Support\Facades\Auth; public function update(Request $request, $id): JsonResponse { + // init $data1 = []; // $dataPermohonan = array(); $dataPenawaran = []; // data - $penawaran = PenawaranTender::leftJoin('detail_penawaran', 'detail_penawaran.penawaran_id','=','penawaran.id') - ->leftJoin('jenis_laporan', 'jenis_laporan.id','=','penawaran.jenis_laporan_id') - ->leftJoin('kjpp', 'kjpp.id','=','detail_penawaran.kjpp_rekanan_id') - ->leftJoin('penilaian', 'penilaian.nomor_registrasi','=','penawaran.nomor_registrasi') - ->where('detail_penawaran.status','=',1) - ->where('penawaran.id','=', $id) - ->select('penawaran.*', 'detail_penawaran.attachment as attachmentku', - 'detail_penawaran.no_proposal as detail_penawaran_no_proposal', - 'detail_penawaran.tgl_proposal as detail_penawaran_tgl_proposal', - 'detail_penawaran.biaya_penawaran as detail_penawaran_biaya_penawaran', - 'kjpp.name as kjpp_name', - 'kjpp.address as kjpp_address', - 'jenis_laporan.name as jenis_laporan_name', - 'jenis_laporan.code as jenis_laporan_code', - 'penilaian.waktu_penilaian as penilaian_waktu_penilain' - )->first(); + $penawaran = PenawaranTender::with(['jenisLaporan','tujuanPenilaianKjpp','detail.kjpp','penilaian','persetujuan_penawaran'])->where('id',$id)->first(); + $penawaran->attachmentku = $penawaran->detail->attachment; + $penawaran->detail_penawaran_no_proposal = $penawaran->detail->no_proposal; + $penawaran->detail_penawaran_tgl_proposal = $penawaran->detail->tgl_proposal; + $penawaran->detail_penawaran_biaya_penawaran = $penawaran->detail->biaya_penawaran; + $penawaran->kjpp_name = $penawaran->detail->kjpp->name; + $penawaran->kjpp_address = $penawaran->detail->kjpp->address; + $penawaran->jenis_laporan_name = $penawaran->jenisLaporan->name; + $penawaran->jenis_laporan_code = $penawaran->jenisLaporan->code; + $penawaran->tujuan_penilaian_kjpp_name = $penawaran->tujuanPenilaianKjpp->name; + $penawaran->penilaian_waktu_penilain = $penawaran->penilaian->waktu_penilaian; $permohonan = Permohonan::where('nomor_registrasi','=',$penawaran->nomor_registrasi) ->leftJoin('dokumen_jaminan', 'dokumen_jaminan.permohonan_id','=','permohonan.id') diff --git a/app/Models/PenawaranTender.php b/app/Models/PenawaranTender.php index 1c2832c..2d583b0 100644 --- a/app/Models/PenawaranTender.php +++ b/app/Models/PenawaranTender.php @@ -59,4 +59,12 @@ class PenawaranTender extends Model public function persetujuan(){ return $this->belongsTo(PersetujuanPenawaran::class, 'id', 'penawaran_id'); } + + public function penilaian(){ + return $this->belongsTo(Penilaian::class, 'nomor_registrasi', 'nomor_registrasi'); + } + + public function persetujuan_penawaran(){ + return $this->belongsTo(PersetujuanPenawaran::class, 'id', 'penawaran_id'); + } } diff --git a/resources/views/spk/documentSPK.blade.php b/resources/views/spk/documentSPK.blade.php index 76bd9e8..08dd70a 100644 --- a/resources/views/spk/documentSPK.blade.php +++ b/resources/views/spk/documentSPK.blade.php @@ -50,7 +50,7 @@
-

SURAT PERINTAH KERJA

+

SURAT PERINTAH KERJAaaa

No. {{ $penawaran->spk_no }} @@ -58,12 +58,11 @@

Tanggal:

+

Kepada

+

{{ $penawaran->kjpp_name }}

+

{{ $penawaran->kjpp_address }}


-

{{ $penawaran->kjpp_name }}

-

{{ $penawaran->kjpp_address }}

-
-

Perihal: Penunjukan sebagai Penyedia Jasa Penilaian Agunan


Berdasarkan surat penawaran Saudara @@ -238,8 +237,8 @@ - {{ $data->user->name }}
- {{ $data->user->getRoleNames()[0] }} + {{ $penawaran->persetujuan_penawaran->creator->name }}
+ {{ $penawaran->persetujuan_penawaran->creator->getRoleNames()[0] }} (……………………………………..) diff --git a/resources/views/spk/edit.blade.php b/resources/views/spk/edit.blade.php index 9b768ae..be61c5f 100644 --- a/resources/views/spk/edit.blade.php +++ b/resources/views/spk/edit.blade.php @@ -74,10 +74,11 @@ Tanggal:

+

Kepada

+

{{ $penawaran->kjpp_name }}

+

{{ $penawaran->kjpp_address }}


-

{{ $penawaran->kjpp_name }}

-

{{ $penawaran->kjpp_address }}


Perihal: Penunjukan sebagai Penyedia Jasa Penilaian Agunan


@@ -257,8 +258,8 @@ - {{ $data->user->name }}
- {{ $data->user->getRoleNames()[0] }} + {{ $penawaran->persetujuan_penawaran->creator->name }}
+ {{ $penawaran->persetujuan_penawaran->creator->getRoleNames()[0] }} (……………………………………..)