diff --git a/app/Http/Controllers/PenilaiController.php b/app/Http/Controllers/PenilaiController.php index d475e9c..98d81f8 100644 --- a/app/Http/Controllers/PenilaiController.php +++ b/app/Http/Controllers/PenilaiController.php @@ -247,6 +247,31 @@ class PenilaiController extends Controller return view('lpj::edit'); } + + public function storePaparan($id) + { + try { + $permohonan = Permohonan::findOrFail($id); + + $permohonan->update([ + 'status' => 'proses-paparan' + ]); + + return response()->json([ + 'success' => true, + 'message' => 'diperbarui ke status paparan dan dikirim ke So untuk proses lebih lanjut.' + ], 200); + + } catch (\Exception $e) { + return response()->json([ + 'success' => false, + 'message' => 'Terjadi kesalahan saat memproses permohonan.', + 'error' => $e->getMessage() + ], 500); + } + } + + /** * Update the specified resource in storage. */ @@ -267,7 +292,7 @@ class PenilaiController extends Controller $forminspeksi = json_decode($inspeksi->data_form, true); } - return view('lpj::penilai.components.paparan', compact('permohonan', 'formFoto', 'penilai', 'forminspeksi')); + return view('lpj::penilai.components.paparan', compact('permohonan', 'formFoto', 'penilai', 'forminspeksi','inspeksi')); } @@ -565,14 +590,14 @@ class PenilaiController extends Controller !empty($item->resume) || !empty($item->lpj) || !empty($item->rap) - ); + ) && !empty($item->kertas_kerja); }); if (!$allComplete) { return response()->json([ 'success' => false, - 'message' => 'Harap Mengisi laporan terlebih dahulu', + 'message' => 'Harap Mengisi laporan terlebih dahulu atau kertas kerja', ], 400); } diff --git a/app/Http/Controllers/PenilaianController.php b/app/Http/Controllers/PenilaianController.php index 5295020..e5c2b5b 100644 --- a/app/Http/Controllers/PenilaianController.php +++ b/app/Http/Controllers/PenilaianController.php @@ -377,14 +377,20 @@ class PenilaianController extends Controller 'pembayaran' => 'Pembayaran', 'pembatalan' => 'Pembatalan', 'sla' => 'SLA', + 'paparan' => 'Paparan' ]; $header = $headers[$type] ?? 'Pelaporan'; - if ($header === 'SLA') { - return view('lpj::penilaian.otorisator.index-sla', compact('header')); + switch ($header) { + case 'SLA': + return view('lpj::penilaian.otorisator.index-sla', compact('header')); + case 'Paparan': + return view('lpj::penilaian.paparan-so', compact('header')); + default: + return view('lpj::penilaian.otorisator.index', compact('header')); } - return view('lpj::penilaian.otorisator.index', compact('header')); + } public function show($id, $type) @@ -394,6 +400,7 @@ class PenilaianController extends Controller 'Pembayaran' => 'Pembayaran', 'Pembatalan' => 'Pembatalan', 'SLA' => 'SLA', + 'Paparan' => 'Paparan' ]; $header = $headers[$type] ?? 'Pelaporan'; @@ -407,6 +414,9 @@ class PenilaianController extends Controller if ($header === 'SLA') { return view('lpj::penilaian.otorisator.sla', compact('permohonan', 'header', 'authorization')); } + if ($header === 'Paparan') { + return view('lpj::penilaian.otorisator.show', compact('permohonan', 'header', 'authorization')); + } return view('lpj::penilaian.otorisator.show', compact('permohonan', 'header', 'authorization')); } @@ -508,8 +518,13 @@ class PenilaianController extends Controller ]); } break; + case 'paparan': + $permohonan->update([ + 'status' => 'paparan', + 'keterangan' => $request->message, + ]); + break; default: - return response()->json([ 'message' => 'Konteks otorisasi tidak valid.', ], 400); @@ -536,6 +551,7 @@ class PenilaianController extends Controller 'Pembayaran' => 'proses', 'Pembatalan' => 'batal', 'SLA' => 'freeze', + 'Paparan' => 'proses-paparan', default => '', }; @@ -566,6 +582,8 @@ class PenilaianController extends Controller $query->whereRaw('LOWER(status) = ?', [strtolower($status)]); } elseif ($status == 'freeze') { $query->whereRaw('LOWER(status) = ?', [strtolower($status)]); + } elseif ($status == 'proses-paparan') { + $query->whereRaw('LOWER(status) IN (?, ?)', ['proses-paparan', 'paparan']); } } @@ -609,6 +627,7 @@ class PenilaianController extends Controller 'debiture', 'branch', 'tujuanPenilaian', + 'nilaiPlafond', 'penilaian.userPenilai' => function ($q) { $q->where('role', 'penilai')->with(['user', 'team.regions'])->first(); }, diff --git a/app/Models/Permohonan.php b/app/Models/Permohonan.php index 562da21..ccbc984 100644 --- a/app/Models/Permohonan.php +++ b/app/Models/Permohonan.php @@ -51,6 +51,7 @@ 'approval_dd_at', 'approval_so', 'approval_so_at', + 'tanggal_paparan' ]; protected $dates = [ diff --git a/database/migrations/2025_01_17_030225_update_permohonan_table.php b/database/migrations/2025_01_17_030225_update_permohonan_table.php new file mode 100644 index 0000000..4f5c0b0 --- /dev/null +++ b/database/migrations/2025_01_17_030225_update_permohonan_table.php @@ -0,0 +1,28 @@ +string('tanggal_paparan')->nullable()->after('nilai_plafond_id'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('permohonan', function (Blueprint $table) { + $table->dropColumn('tanggal_paparan'); + }); + } +}; diff --git a/module.json b/module.json index dc497b6..4d52030 100644 --- a/module.json +++ b/module.json @@ -92,6 +92,19 @@ "EO Appraisal", "DD Appraisal" ] + }, + { + "title": "Otorisasi Paparan", + "path": "otorisator.paparan", + "icon": "ki-filled ki-tablet-text-down text-lg text-info", + "classes": "", + "attributes": [], + "permission": "", + "roles": [ + "administrator", + "senior-officer", + "DD Appraisal" + ] } ], "main": [ diff --git a/resources/views/component/detail-jaminan.blade.php b/resources/views/component/detail-jaminan.blade.php index e7ac3f3..6534b76 100644 --- a/resources/views/component/detail-jaminan.blade.php +++ b/resources/views/component/detail-jaminan.blade.php @@ -10,13 +10,23 @@
| - {{ $loop->index + 1 }}. {{ $detail->jenisLegalitasJaminan->name }} - | -- {{ $detail->name ?? '' }} - | -||||||
| - Dokumen Jaminan - | -
+ @endif
+
+
+ Download Semua Dokumen
+
+
|
+ ||||||
| + Keterangan + | ++ {{ $detail->keterangan ?? '' }} + | +
- {{ getNomorLaporan($permohonan->id, $dokumen->id) ?? '-' }} + {{ getNomorLaporan($permohonan->id, $dokumen->id) ?? '-' }}