From 20d0061d427b3a27951851637bef3cde23edebc5 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Mon, 22 Sep 2025 10:46:58 +0700 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(permohonan):=20auto-create=20P?= =?UTF-8?q?ersetujuanPenawaran=20untuk=20jenis=20penilaian=20tertentu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Import model PersetujuanPenawaran ke PermohonanController - Tambah pengecekan jenis_penilaian_id == 1 setelah update permohonan - Implementasi auto-create record PersetujuanPenawaran jika belum ada - Simpan permohonan_id dan created_by (auth()->id()) pada record baru - Gunakan where()->first() untuk cek existing record sebelum create - Tambahkan logika di dalam try-catch agar konsisten dengan error handling - Pastikan duplicate record dicegah untuk menjaga integritas data - File dimodifikasi: app/Http/Controllers/PermohonanController.php - Dampak: mempercepat workflow, kurangi manual input, tingkatkan konsistensi data --- app/Http/Controllers/PermohonanController.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/Http/Controllers/PermohonanController.php b/app/Http/Controllers/PermohonanController.php index da92c4a..6ba4a6c 100644 --- a/app/Http/Controllers/PermohonanController.php +++ b/app/Http/Controllers/PermohonanController.php @@ -23,6 +23,7 @@ use Modules\Lpj\Models\Penilaian; use Modules\Lpj\Models\Permohonan; use Modules\Lpj\Models\PermohonanPembatalan; + use Modules\Lpj\Models\PersetujuanPenawaran; use Modules\Lpj\Models\StatusPermohonan; use Modules\Lpj\Models\TujuanPenilaian; use Modules\Lpj\Services\PermohonanHistoryService; @@ -358,6 +359,16 @@ $permohonan->status = $request->status; $permohonan->keterangan = $request->keterangan; $permohonan->save(); + + if($permohonan->jenis_penilaian_id==1){ + $persetujuanPenawaran = PersetujuanPenawaran::where('permohonan_id', $id)->first(); + if(!$persetujuanPenawaran){ + $persetujuanPenawaran = PersetujuanPenawaran::create([ + 'permohonan_id' => $id, + 'created_by' => auth()->id(), + ]); + } + } } catch (Exception $e) { return redirect()->route('authorization.show', $id)->with('error', 'Failed to update permohonan'); }