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 @@
@if (isset($id)) - + @php + $parameters = isset($id) ? ['id' => $id] : []; + if (isset($type)) { + $parameters['type'] = $type; + } + if (isset($additionalParam)) { + $parameters['additional'] = $additionalParam; + } + @endphp + + Back @else - - Back - + + Back + @endif
@@ -178,10 +188,7 @@ @foreach ($permohonan->debiture->documents as $dokumen)
-
- @endif -
- - Download Semua Dokumen - - - @foreach ($dokumen->detail as $detail) - - - - - - - + + + + + + @endforeach +
- {{ $loop->index + 1 }}. {{ $detail->jenisLegalitasJaminan->name }} - - {{ $detail->name ?? '' }} -
- Dokumen Jaminan - + @endif +
+ + Download Semua Dokumen + + + @foreach ($dokumen->detail as $detail) + + + + + + + - - - - - - @endforeach -
+ {{ $loop->index + 1 }}. {{ $detail->jenisLegalitasJaminan->name }} + + {{ $detail->name ?? '' }} +
+ Dokumen Jaminan + - @if (isset($detail->dokumen_jaminan)) - @php - $dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan)) - ? json_decode($detail->dokumen_jaminan) - : [$detail->dokumen_jaminan]; - $dokumen_nomor = is_array(json_decode($detail->dokumen_nomor)) - ? json_decode($detail->dokumen_nomor) - : ($detail->dokumen_nomor - ? [$detail->dokumen_nomor] - : []); - @endphp - @foreach ($dokumen_jaminan as $index => $dokumen) -
- @if (in_array(Auth::user()->roles[0]->name, ['administrator', 'pemohon-eo'])) - @if (!empty($dokumen_nomor)) - Nomor Dokumen : - {{ $dokumen_nomor[$index] }} + @if (isset($detail->dokumen_jaminan)) + @php + $dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan)) + ? json_decode($detail->dokumen_jaminan) + : [$detail->dokumen_jaminan]; + $dokumen_nomor = is_array(json_decode($detail->dokumen_nomor)) + ? json_decode($detail->dokumen_nomor) + : ($detail->dokumen_nomor + ? [$detail->dokumen_nomor] + : []); + @endphp + @foreach ($dokumen_jaminan as $index => $dokumen) +
+ @if (in_array(Auth::user()->roles[0]->name, ['administrator', 'pemohon-eo'])) + @if (!empty($dokumen_nomor)) + Nomor Dokumen : + {{ $dokumen_nomor[$index] }} + @endif + + {{ basename($dokumen) }} + + @endif - - {{ basename($dokumen) }} - - - @endif - Preview -
-
- @endforeach - @endif + Preview +
+
+ @endforeach + @endif -
- Keterangan - - {{ $detail->keterangan ?? '' }} -
+
+ Keterangan + + {{ $detail->keterangan ?? '' }} +
+
- -@endforeach + @endforeach @if (!isset($status)) diff --git a/resources/views/penilai/components/lpj-sederhana-standard.blade.php b/resources/views/penilai/components/lpj-sederhana-standard.blade.php index 5ba260d..cbd230f 100644 --- a/resources/views/penilai/components/lpj-sederhana-standard.blade.php +++ b/resources/views/penilai/components/lpj-sederhana-standard.blade.php @@ -48,10 +48,7 @@ href="{{ route('penilai.lampiran') }}?permohonanId={{ request('permohonanId') }}&documentId={{ request('documentId') }}&inspeksiId={{ request('inspeksiId') }}&jaminanId={{ request('jaminanId') }}&statusLpj=1"> LAMPIRAN FOTO DAN DOKUMEN - - PAPARAN - + Print diff --git a/resources/views/penilai/components/memo.blade.php b/resources/views/penilai/components/memo.blade.php index f077508..841a46b 100644 --- a/resources/views/penilai/components/memo.blade.php +++ b/resources/views/penilai/components/memo.blade.php @@ -289,10 +289,6 @@ href="{{ route('penilai.lampiran') }}?permohonanId={{ request('permohonanId') }}&documentId={{ request('documentId') }}&inspeksiId={{ request('inspeksiId') }}&jaminanId={{ request('jaminanId') }}&statusLpj=1"> LAMPIRAN FOTO DAN DOKUMEN - - PAPARAN - Print diff --git a/resources/views/penilai/components/paparan.blade.php b/resources/views/penilai/components/paparan.blade.php index b6d308f..913aaee 100644 --- a/resources/views/penilai/components/paparan.blade.php +++ b/resources/views/penilai/components/paparan.blade.php @@ -7,17 +7,11 @@ @include('lpj::assetsku.includenya')
- @if (Auth::user()->hasAnyRole(['senior-officer'])) + @if (Auth::user()->hasAnyRole(['senior-officer', 'administrator','DD Appraisal'])) @include('lpj::component.detail-jaminan', [ - 'backLink' => 'otorisator.view-laporan', - 'queryParams' => [ - 'permohonanId' => request()->query('permohonanId'), - 'documentId' => request()->query('documentId'), - 'inspeksiId' => request()->query('inspeksiId'), - 'jaminanId' => request()->query('jaminanId'), - 'statusLpj' => 1, - ], - 'title' => 'Paparan dokument', + 'backLink' => 'otorisator.show', + 'id' => $permohonan->id, + 'type' => 'Paparan', ]) @else @include('lpj::component.detail-jaminan', [ @@ -54,5 +48,66 @@ @endif
+ +
+
+

+ Total Nilai Jaminan +

+
+
+ + @php + $labelNilai = [ + 'bangunan' => 'Luas Bangunan', + 'tanah' => 'Luas Tanah', + 'apartement-kantor' => 'Luas Apartemen/Kantor', + 'alat-berat' => 'Luas Alat Berat', + 'mesin' => 'Luas Mesin', + 'kendaraan' => 'Luas Kendaraan', + 'pesawat' => 'Luas Pesawat', + 'kapal' => 'Luas Kapal', + ]; + + // if (strcasecmp($jenisAset, 'RUKO/RUKAN') === 0) { + // $labelNilai['bangunan'] = 'Luas Unit'; + // unset($labelNilai['tanah']); + // } + @endphp + @foreach ($labelNilai as $key => $label) + @if (isset($lpjData['luas_' . $key])) +
+
+ + +
+
+ +
+
+ +
+ @endif + @endforeach +
+
+ + +
+
+

+ Informasi dan pembanding +

+
+ @include('lpj::penilai.components.informasi-pembanding') +
@endsection diff --git a/resources/views/penilai/components/resume.blade.php b/resources/views/penilai/components/resume.blade.php index cbe0166..5484bfe 100644 --- a/resources/views/penilai/components/resume.blade.php +++ b/resources/views/penilai/components/resume.blade.php @@ -385,10 +385,6 @@ href="{{ route('penilai.lampiran') }}?permohonanId={{ request('permohonanId') }}&documentId={{ request('documentId') }}&inspeksiId={{ request('inspeksiId') }}&jaminanId={{ request('jaminanId') }}&statusLpj=1"> LAMPIRAN FOTO DAN DOKUMEN
- - PAPARAN - Print diff --git a/resources/views/penilai/show.blade.php b/resources/views/penilai/show.blade.php index 78fd82f..73a5c2d 100644 --- a/resources/views/penilai/show.blade.php +++ b/resources/views/penilai/show.blade.php @@ -184,7 +184,7 @@

- {{ getNomorLaporan($permohonan->id, $dokumen->id) ?? '-' }} + {{ getNomorLaporan($permohonan->id, $dokumen->id) ?? '-' }}

@@ -207,12 +207,11 @@ LAMPIRAN FOTO DAN DOKUMEN
@if (strtolower($permohonan->tujuanPenilaian->name) != 'rap') - - KERTAS KERJA - + + KERTAS KERJA + @endif - + PAPARAN @@ -238,9 +237,9 @@ @else - {{-- pendapingan kjjp leleang --}} - {{-- memo pendapingan lelang --}} - {{-- existing di --}} + {{-- pendapingan kjjp leleang --}} + {{-- memo pendapingan lelang --}} + {{-- existing di --}}