From 74872076e4c0b2e5a6e31992b9cb6e8ff89f61d4 Mon Sep 17 00:00:00 2001
From: Daeng Deni Mardaeni
Date: Wed, 5 Mar 2025 11:18:02 +0700
Subject: [PATCH 1/4] 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] }}
|
(……………………………………..) |
From 42ed13e0efaf6129632db6b295db570d0976f466 Mon Sep 17 00:00:00 2001
From: Daeng Deni Mardaeni
Date: Wed, 5 Mar 2025 11:52:50 +0700
Subject: [PATCH 2/4] fix(tender): perbaiki validasi dan tampilan biaya KJPP
sebelumnya
- Menghapus aturan numeric pada biaya_kjpp_sebelumnya
- Mengubah input biaya_kjpp_sebelumnya menjadi hidden
- Menambahkan tombol untuk mengirim email pada tampilan proses penawaran
---
app/Http/Requests/TenderPenawaranRequest.php | 2 +-
resources/views/penawaran/edit.blade.php | 5 +++--
resources/views/prosespenawaran/index.blade.php | 8 +++++++-
3 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/app/Http/Requests/TenderPenawaranRequest.php b/app/Http/Requests/TenderPenawaranRequest.php
index 85e66a5..b26e64e 100644
--- a/app/Http/Requests/TenderPenawaranRequest.php
+++ b/app/Http/Requests/TenderPenawaranRequest.php
@@ -13,7 +13,7 @@ class TenderPenawaranRequest extends FormRequest
{
$rules = [
'nama_kjpp_sebelumnya' => 'nullable',
- 'biaya_kjpp_sebelumnya' => 'nullable|numeric',
+ 'biaya_kjpp_sebelumnya' => 'nullable',
'tanggal_penilaian_sebelumnya' => 'nullable',
'nomor_registrasi' => 'required',
'kjpp.*' => 'exists:kjpp,id',
diff --git a/resources/views/penawaran/edit.blade.php b/resources/views/penawaran/edit.blade.php
index 61ac3b2..3bea064 100644
--- a/resources/views/penawaran/edit.blade.php
+++ b/resources/views/penawaran/edit.blade.php
@@ -53,8 +53,9 @@
Biaya KJPP Sebelumnya
-
+