feat(permohonan): auto-create PersetujuanPenawaran untuk jenis penilaian tertentu

- 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
This commit is contained in:
Daeng Deni Mardaeni
2025-09-22 10:46:58 +07:00
parent 4bef7cdafd
commit 20d0061d42

View File

@@ -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');
}