diff --git a/app/Http/Controllers/LaporanController.php b/app/Http/Controllers/LaporanController.php index b457413..660176e 100644 --- a/app/Http/Controllers/LaporanController.php +++ b/app/Http/Controllers/LaporanController.php @@ -123,7 +123,7 @@ class LaporanController extends Controller $filteredRecords = $query->count(); // Get the data for the current page - $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian','jenisFasilitasKredit', 'documents.inspeksi','penilai','documents.detail'])->get(); + $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian','jenisFasilitasKredit', 'documents.inspeksi','penilai','documents.detail','noc'])->get(); // Calculate the page count $pageCount = ceil($totalRecords / $size); diff --git a/app/Http/Controllers/NocController.php b/app/Http/Controllers/NocController.php index 5053015..48f685b 100644 --- a/app/Http/Controllers/NocController.php +++ b/app/Http/Controllers/NocController.php @@ -100,6 +100,27 @@ public function update(NocRequest $request, PersetujuanPenawaran $persetujuanPenawaran) { $validated = $request->validated(); + + if($request->get('is_memo')){ + + $memo = Noc::find($request->get('is_memo')); + + $folderPath = 'noc/' . request()->get('persetujuan_penawaran_id') . '/memo_penyelesaian/'; + + if ($request->hasFile('memo_penyelesaian')) { + $memo->memo_penyelesaian = $request->file('memo_penyelesaian')->store( + $folderPath, + 'public', + ); + } + + $memo->catatan_noc = $validated['catatan_noc']; + $memo->save(); + + + return redirect() + ->route('laporan.index')->with('success', 'Memo Penyelesaian updated successfully'); + } $dataNoc = [ 'nominal_penyelesaian' => $validated['nominal_penyelesaian'], 'tanggal_penyelesaian' => $validated['tanggal_penyelesaian'] ?? date('Y-m-d'), @@ -142,7 +163,11 @@ /** * Display the specified resource. */ - public function show($id) {} + public function show(Request $request) { + $noc = Noc::find($request->get('id')); + + return view('lpj::noc.memo', compact('noc')); + } /** * Show the form for editing the specified resource. diff --git a/resources/views/laporan/index.blade.php b/resources/views/laporan/index.blade.php index 9e1d2ee..85193ec 100644 --- a/resources/views/laporan/index.blade.php +++ b/resources/views/laporan/index.blade.php @@ -237,8 +237,17 @@ const type = data.penilai?.type || ''; let laporanButton = ''; let resumeButton = ''; + let penyelesaian = ''; + if(data.noc) { + if (!data.noc?.tanggal_penyelesaian && !data.noc?.memo_penyelesaian) { + penyelesaian = ` + + Penyelesaian + `; + } + } if(data.penilai.resume) { resumeButton = ` @@ -270,7 +279,7 @@ } - return `
${resumeButton} ${laporanButton}
`; + return `
${penyelesaian} ${resumeButton} ${laporanButton}
`; }, } }, diff --git a/resources/views/noc/form.blade.php b/resources/views/noc/form.blade.php index ff8f8cc..34ac92a 100644 --- a/resources/views/noc/form.blade.php +++ b/resources/views/noc/form.blade.php @@ -8,7 +8,7 @@ $hasMemo = false; try { $memoPath = $persetujuanPenawaran->noc->memo_penyelesaian ?? null; - $hasMemo = isset($memoPath) && !empty($memoPath) && Storage::exists($memoPath); + $hasMemo = isset($memoPath) && !empty($memoPath) && Storage::disk('public')->exists($memoPath); } catch (Exception $e) { // Jika terjadi error, $hasMemo tetap false } @@ -19,7 +19,7 @@
- NOC + {{ $hasMemo ? 'Proses Penyelesaian NOC' : 'NOC' }}
Back @@ -28,7 +28,7 @@
@csrf - @if(!$hasMemo) + @if($hasMemo) @method('PUT') @endif diff --git a/resources/views/noc/memo.blade.php b/resources/views/noc/memo.blade.php new file mode 100644 index 0000000..97a1e06 --- /dev/null +++ b/resources/views/noc/memo.blade.php @@ -0,0 +1,163 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{ Breadcrumbs::render(request()->route()->getName()) }} +@endsection +@section('content') +
+
+
+
+ Memo Penyelesaian NOC +
+
+ Back +
+
+
+ + @csrf + @method('PUT') + + + + +
+ +
+ + @error('status_bayar') + {{ $message }} + @enderror +
+
+ +
+ +
+ @if(!empty($noc->persetujuanPenawaran->bukti_bayar)) + + @endif +
+
+ +
+ +
+ + @error('total_harus_bayar') + {{ $message }} + @enderror +
+
+ +
+ +
+ + @error('nominal_bayar') + {{ $message }} + @enderror +
+
+ +
+ +
+ + @error('tanggal_pembayaran') + {{ $message }} + @enderror +
+
+ + +
+ +
+ @if(isset($noc->bukti_ksl) && !empty($noc->bukti_ksl)) + + @endif +
+
+ +
+ +
+ + + @error('memo_penyelesaian') + {{ $message }} + @enderror + + @if(isset($noc->memo_penyelesaian) && !empty($noc->memo_penyelesaian)) + + @endif +
+
+ + +
+ +
+ + @error('catatan') + {{ $message }} + @enderror +
+
+ +
+ +
+ + @error('catatan_noc') + {{ $message }} + @enderror +
+
+ +
+ +
+ +
+
+
+@endsection diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index d3fab80..2e9f08c 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -678,6 +678,11 @@ Breadcrumbs::for('noc.edit', function (BreadcrumbTrail $trail) { $trail->push('Proses NOC'); }); + Breadcrumbs::for('noc.penyelesaian', function (BreadcrumbTrail $trail) { + $trail->parent('noc'); + $trail->push('Proses Memo Penyelesaian NOC'); + }); + Breadcrumbs::for('laporan-external', function (BreadcrumbTrail $trail) { $trail->push('Laporan External', route('laporan-external.index')); }); diff --git a/routes/web.php b/routes/web.php index a7a181d..d04fe9a 100644 --- a/routes/web.php +++ b/routes/web.php @@ -654,6 +654,9 @@ Route::middleware(['auth'])->group(function () { Route::get('noc/datatables', [NocController::class, 'dataForDatatables']) ->name('noc.datatables'); + Route::get('noc/penyelesaian',[NocController::class, 'show'])->name('noc.penyelesaian'); + Route::post('noc/penyelesaian',[NocController::class, 'penyelesaian'])->name('noc.store.penyelesaian'); + Route::resource('noc', NocController::class);