diff --git a/app/Http/Controllers/PenilaianController.php b/app/Http/Controllers/PenilaianController.php index cd51dc2..1a48914 100644 --- a/app/Http/Controllers/PenilaianController.php +++ b/app/Http/Controllers/PenilaianController.php @@ -415,6 +415,7 @@ class PenilaianController extends Controller return view('lpj::penilaian.otorisator.sla', compact('permohonan', 'header', 'authorization')); } if ($header === 'Paparan') { + $authorization = Authorization::with(['user'])->where('permohonan_id', $id)->first(); return view('lpj::penilaian.otorisator.show', compact('permohonan', 'header', 'authorization')); } return view('lpj::penilaian.otorisator.show', compact('permohonan', 'header', 'authorization')); @@ -430,6 +431,14 @@ class PenilaianController extends Controller ], 404); } $permohonan = Permohonan::find($authorization->permohonan_id); + } elseif ($context === 'Paparan') { + $authorization = Authorization::with(['user'])->find($id); + if (!$authorization) { + return response()->json([ + 'message' => 'Data authorization Paparan tidak ditemukan.', + ], 404); + } + $permohonan = Permohonan::find($authorization->permohonan_id); } else { $permohonan = Permohonan::find($id); } @@ -483,16 +492,17 @@ class PenilaianController extends Controller break; case 'sla': - if (Auth::user()->roles[0]->name === 'senior-officer') { + if (Auth::user()->roles[0]->name === 'senior-officer' || Auth::user()->roles[0]->name === 'administrator' && $authorization->approve_so === null) { $authorization->update([ 'status' => '3', + 'status_so' => '1', 'approve_so' => Auth::user()->id, 'approve_so_at' => now(), 'keterangan_so' => $request->message, ]); - } elseif (Auth::user()->roles[0]->name === 'EO Appraisal' || Auth::user()->roles[0]->name === 'administrator') { + } elseif (Auth::user()->roles[0]->name === 'EO Appraisal' || Auth::user()->roles[0]->name === 'administrator' && $authorization->approve_so && $authorization->approve_eo === null) { $status = '2'; - if (!in_array($permohonan->nulai_plafond_id, [1, 4])) { + if (!in_array($permohonan->nilai_plafond_id, [1, 4])) { $status = '1'; $permohonan->update([ 'status' => $authorization->request @@ -501,13 +511,15 @@ class PenilaianController extends Controller $authorization->update([ 'status' => $status, + 'status_eo' => '1', 'approve_eo' => Auth::user()->id, 'approve_eo_at' => now(), 'keterangan_eo' => $request->message, ]); - } elseif (Auth::user()->roles[0]->name === 'DD Appraisal') { + } elseif (Auth::user()->roles[0]->name === 'DD Appraisal' || Auth::user()->roles[0]->name === 'administrator' && $authorization->approve_so && $authorization->approve_eo && $authorization->approve_dd === null) { $authorization->update([ 'status' => '1', + 'status_dd' => '1', 'approve_dd' => Auth::user()->id, 'approve_dd_at' => now(), 'keterangan_dd' => $request->message, @@ -519,11 +531,45 @@ class PenilaianController extends Controller } break; case 'paparan': - $permohonan->update([ - 'status' => 'paparan', - 'keterangan' => $request->message, - ]); + if (Auth::user()->roles[0]->name === 'senior-officer' || Auth::user()->roles[0]->name === 'administrator' && $authorization->approve_so === null) { + $authorization->update([ + 'status' => '3', + 'status_so' => '1', + 'approve_so' => Auth::user()->id, + 'approve_so_at' => now(), + 'keterangan_so' => $request->message, + ]); + } elseif (Auth::user()->roles[0]->name === 'EO Appraisal') { + $status = '2'; + if (!in_array($permohonan->nilai_plafond_id, [1, 4])) { + $status = '1'; + $permohonan->update([ + 'status' => $authorization->request + ]); + } + $authorization->update([ + 'status' => $status, + 'status_eo' => '1', + 'approve_eo' => Auth::user()->id, + 'approve_eo_at' => now(), + 'keterangan_eo' => $request->message, + ]); + } elseif (Auth::user()->roles[0]->name === 'DD Appraisal' || Auth::user()->roles[0]->name === 'administrator' && $authorization->approve_so && $authorization->approve_dd === null) { + $authorization->update([ + 'status' => '1', + 'status_dd' => '1', + 'approve_dd' => Auth::user()->id, + 'approve_dd_at' => now(), + 'keterangan_dd' => $request->message, + ]); + + $permohonan->update([ + 'status' => 'paparan', + 'tanggal_paparan' => $request->tanggalPaparan + ]); + } break; + default: return response()->json([ 'message' => 'Konteks otorisasi tidak valid.', diff --git a/app/Http/Controllers/SLAController.php b/app/Http/Controllers/SLAController.php index 423084d..3256aee 100644 --- a/app/Http/Controllers/SLAController.php +++ b/app/Http/Controllers/SLAController.php @@ -71,7 +71,7 @@ class SLAController extends Controller // abort(403, 'Sorry! You are not allowed to view users.'); } - $query = Authorization::query()->with('permohonan.debiture','user','approveSo','approveEo','approveDd'); + $query = Authorization::query()->with('permohonan.debiture','user','approveSo','approveEo','approveDd')->where('jenis','sla'); // Pencarian berdasarkan parameter search if ($request->has('search') && !empty($request->get('search'))) { diff --git a/app/Http/Controllers/SurveyorController.php b/app/Http/Controllers/SurveyorController.php index 7608a34..52170e1 100644 --- a/app/Http/Controllers/SurveyorController.php +++ b/app/Http/Controllers/SurveyorController.php @@ -1019,13 +1019,15 @@ class SurveyorController extends Controller public function storeFreeze($id, Request $request) { try { + $permohonan = Permohonan::findOrFail($id); - $permohonan = Permohonan::findOrFail($id); - - $permohonan->update([ - 'status' => 'request-freeze', - 'keterangan' => $request->message - ]); + Authorization::updateOrCreate([ + 'permohonan_id' => $permohonan->id, + 'jenis' => 'sla' + ],[ + 'request' => 'freeze', + 'user_id' => Auth::user()->id + ]); return response()->json([ 'success' => true, diff --git a/app/Models/Permohonan.php b/app/Models/Permohonan.php index ccbc984..ec0604f 100644 --- a/app/Models/Permohonan.php +++ b/app/Models/Permohonan.php @@ -102,8 +102,15 @@ { $historyService = app(PermohonanHistoryService::class); + $keterangan = request()->input('keterangan', ''); + if (request()->filled('registrasi_catatan')) { + if (!empty($keterangan)) { + $keterangan .= "\n"; + } + $keterangan .= request()->input('registrasi_catatan'); + } + $status = $permohonan->status; - $keterangan = request()->input('keterangan'); // Get keterangan from request $beforeRequest = $action === 'updated' ? $permohonan->getOriginal() : []; $afterRequest = $permohonan->toArray(); $file = $permohonan->dokumen ?? null; diff --git a/resources/views/component/history-permohonan.blade.php b/resources/views/component/history-permohonan.blade.php index a8133c3..6c17dfc 100644 --- a/resources/views/component/history-permohonan.blade.php +++ b/resources/views/component/history-permohonan.blade.php @@ -59,7 +59,7 @@
{{ str_replace('-',' ',$activity->status) }} -

{{ $activity->keterangan }}

+

{{ $activity->keterangan ? 'Catatan : '.$activity->keterangan : '' }}

{{ $activity->created_by ? $activity->creator->name : 'System' }} {{ $activity->created_at->format('d M Y H:i') }} diff --git a/resources/views/penilaian/form.blade.php b/resources/views/penilaian/form.blade.php index f0505da..97c615f 100644 --- a/resources/views/penilaian/form.blade.php +++ b/resources/views/penilaian/form.blade.php @@ -269,8 +269,7 @@ Catatan
- +
diff --git a/resources/views/penilaian/otorisator/show.blade.php b/resources/views/penilaian/otorisator/show.blade.php index baf9663..879cb93 100644 --- a/resources/views/penilaian/otorisator/show.blade.php +++ b/resources/views/penilaian/otorisator/show.blade.php @@ -129,50 +129,57 @@ href="{{ route('otorisator.view-laporan') }}?permohonanId={{ $permohonan->id }}&documentId={{ $documentId }}&inspeksiId={{ $inspeksiId }}&jaminanId={{ $jenisJaminanId }}&statusLpj={{ true }}"> Lihat Laporan - @endif + @if (Auth::user()->hasAnyRole(['administrator', 'senior-officer']) && $permohonan->approval_so == null) + + + @endif - @if ($dataHeader == 'paparan') - - Lihat Data Paparan - - @if (Auth::user()->hasAnyRole(['administrator', 'DD Appraisal'])) + @if (Auth::user()->hasAnyRole(['administrator', 'EO Appraisal']) && + $permohonan->approval_so && + $permohonan->approval_eo == null) @endif - @endif - @if (Auth::user()->hasAnyRole(['administrator', 'senior-officer']) && $permohonan->approval_so == null) - - @if ($dataHeader != 'paparan') - @endif - @endif - @if (Auth::user()->hasAnyRole(['administrator', 'EO Appraisal']) && - $permohonan->approval_so && - $permohonan->approval_eo == null) - - @endif + @elseif($dataHeader == 'paparan') + + Lihat Data Paparan + - @if (Auth::user()->hasAnyRole(['administrator', 'DD Appraisal']) && - $permohonan->approval_eo && - $permohonan->approval_dd == null && + @if(Auth::user()->hasAnyRole(['administrator','senior-officer']) && $authorization->approve_so==null) + + @endif + + @if(Auth::user()->hasAnyRole(['administrator', 'DD Appraisal']) && + $authorization->approve_so && + $authorization->approve_dd == null && in_array($permohonan->nilai_plafond_id, [1, 4])) - + + @endif @endif
@@ -181,53 +188,162 @@ @push('scripts')