From 14d6052c4e35f3ef7b3b502aa7078fba4a26e8a0 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Wed, 5 Mar 2025 09:33:11 +0700 Subject: [PATCH 1/4] fix(custom_fields): perbaikan opsi dropdown untuk jenis custom field - Memperbaiki nilai opsi dropdown untuk jenis custom field. - Menambahkan opsi 'Date' ke dalam dropdown. - Memastikan opsi yang benar dipilih berdasarkan nilai yang ada. --- resources/views/custom_fields/create.blade.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/resources/views/custom_fields/create.blade.php b/resources/views/custom_fields/create.blade.php index 448cdb2..6a3100f 100644 --- a/resources/views/custom_fields/create.blade.php +++ b/resources/views/custom_fields/create.blade.php @@ -55,11 +55,12 @@ Type
- - - + + + @error('type') {{ $message }} From 1aeb96f8b5ebfffd5b779e1d4d3ca40d3aee1375 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Wed, 5 Mar 2025 10:03:34 +0700 Subject: [PATCH 2/4] fix(custom_fields): tambahkan opsi tipe custom field baru - Menambahkan opsi 'date' dan 'number' pada validasi tipe custom field. - Memperbarui tampilan dropdown untuk mencakup opsi baru. --- app/Http/Requests/CustomFieldRequest.php | 2 +- resources/views/custom_fields/create.blade.php | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/Http/Requests/CustomFieldRequest.php b/app/Http/Requests/CustomFieldRequest.php index 9c8730c..bc3d7fc 100644 --- a/app/Http/Requests/CustomFieldRequest.php +++ b/app/Http/Requests/CustomFieldRequest.php @@ -15,7 +15,7 @@ class CustomFieldRequest extends FormRequest { return [ 'name' => 'required|max:255', - 'type' => 'required|in:text,select,radio,checkbox', + 'type' => 'required|in:text,select,radio,checkbox,date,number', 'label' => 'nullable|max:255', 'urutan_prioritas' => [ 'nullable', diff --git a/resources/views/custom_fields/create.blade.php b/resources/views/custom_fields/create.blade.php index 6a3100f..57b44b2 100644 --- a/resources/views/custom_fields/create.blade.php +++ b/resources/views/custom_fields/create.blade.php @@ -55,12 +55,13 @@ Type
- + @error('type') {{ $message }} From e52fd8243fe20981770266459bc6eb37649d1234 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Wed, 5 Mar 2025 10:03:46 +0700 Subject: [PATCH 3/4] fix(dokumen): perbaikan dan penambahan tipe custom field - Menambahkan dukungan untuk berbagai tipe custom field: text, number, date, textarea, dan select. - Memperbaiki cara pengambilan nilai custom field dari detail. - Mengoptimalkan penggunaan variabel untuk meningkatkan keterbacaan kode. --- .../debitur/components/dokumen.blade.php | 91 +++++++++++++++++-- 1 file changed, 84 insertions(+), 7 deletions(-) diff --git a/resources/views/debitur/components/dokumen.blade.php b/resources/views/debitur/components/dokumen.blade.php index 2a0d74c..9d3b3da 100644 --- a/resources/views/debitur/components/dokumen.blade.php +++ b/resources/views/debitur/components/dokumen.blade.php @@ -317,11 +317,38 @@ @if($detail->jenisLegalitasJaminan->custom_fields) @foreach($detail->jenisLegalitasJaminan->custom_fields as $key)
+ @php + $customField = getCustomField($key); + $fieldValue = json_decode($detail->details)->{$customField->name} ?? ''; + @endphp
- + @switch($customField->type) + @case('text') + + @break + @case('number') + + @break + @case('date') + + @break + @case('textarea') + + @break + @case('select') + + @break + @default + + @endswitch
@endforeach @@ -330,11 +357,37 @@ @if($detail->jenisLegalitasJaminan->custom_fields) @foreach($detail->jenisLegalitasJaminan->custom_fields as $key)
+ @php + $customField = getCustomField($key); + @endphp
- + @switch($customField->type) + @case('text') + + @break + @case('number') + + @break + @case('date') + + @break + @case('textarea') + + @break + @case('select') + + @break + @default + + @endswitch
@endforeach @@ -387,12 +440,36 @@ @if($item->custom_fields) @foreach($item->custom_fields as $field) + @php $custom_field = getCustomField($field) @endphp
- + @switch($custom_field->type) + @case('text') + + @break + @case('number') + + @break + @case('date') + + @break + @case('textarea') + + @break + @case('select') + + @break + @default + + @endswitch
@endforeach @@ -627,7 +704,7 @@ case "text": return ``; case "number": - return ``; + return ``; case "date": return ``; case "textarea": From 74872076e4c0b2e5a6e31992b9cb6e8ff89f61d4 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Wed, 5 Mar 2025 11:18:02 +0700 Subject: [PATCH 4/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] }} (……………………………………..)