diff --git a/app/Http/Controllers/NocController.php b/app/Http/Controllers/NocController.php index d7fb9ce..891e9ea 100644 --- a/app/Http/Controllers/NocController.php +++ b/app/Http/Controllers/NocController.php @@ -47,18 +47,19 @@ $dataNoc = [ 'nominal_bayar' => $validated['nominal_bayar'], - 'tanggal_pembayaran' => date('Y-m-d'), + 'tanggal_pembayaran' => $validated['tanggal_pembayaran'] ?? date('Y-m-d'), 'status_bayar' => $validated['nominal_bayar'] < $validated['total_harus_bayar'] ? false : true, - 'catatan_noc' => $validated['catatan_noc'], + 'catatan_noc' => $validated['catatan_noc'], ]; - $noc = Noc::updateOrCreate( + $noc = Noc::updateOrCreate( [ 'permohonan_id' => $validated['permohonan_id'], - 'persetujuan_penawaran_id' => $validated['persetujuan_penawaran_id'] - ],$dataNoc + 'persetujuan_penawaran_id' => $validated['persetujuan_penawaran_id'], + ], + $dataNoc, ); - $folderPath = 'noc/' . request()->get('penawaran_id'); + $folderPath = 'noc/' . request()->get('persetujuan_penawaran_id') . '/bukti_ksl/'; if ($request->hasFile('bukti_ksl')) { $noc->bukti_ksl = $request->file('bukti_ksl')->store( @@ -90,7 +91,7 @@ } return redirect() - ->route('noc.index')->with('success', 'Penyelesaian KSL berhasil disimpan.'); + ->route('noc.index')->with('success', 'NOC berhasil disimpan.'); } /** @@ -98,13 +99,36 @@ */ public function update(NocRequest $request, PersetujuanPenawaran $persetujuanPenawaran) { - $validated = $request->validated(); - $validated['updated_by'] = Auth::id(); + $validated = $request->validated(); + $dataNoc = [ + 'nominal_penyelesaian' => $validated['nominal_penyelesaian'], + 'tanggal_penyelesaian' => $validated['tanggal_penyelesaian'] ?? date('Y-m-d'), + 'status_pelunasan' => ((int)$validated['nominal_bayar'] + (int)$validated['nominal_penyelesaian']) === (int)$validated['total_harus_bayar'] ? true : false, + 'catatan_noc' => $validated['catatan_noc'], + ]; + + + $noc = Noc::updateOrCreate( + [ + 'permohonan_id' => $validated['permohonan_id'], + 'persetujuan_penawaran_id' => $validated['persetujuan_penawaran_id'], + ], + $dataNoc, + ); + + $folderPath = 'noc/' . request()->get('persetujuan_penawaran_id') . '/bukti_penyelesaian/'; + + if ($request->hasFile('bukti_penyelesaian')) { + $noc->bukti_penyelesaian = $request->file('bukti_penyelesaian')->store( + $folderPath, + 'public', + ); + } + $noc->save(); - $persetujuanPenawaran->update($validated); return redirect() - ->route('noc.index')->with('success', 'Persetujuan Penawaran updated successfully'); + ->route('noc.index')->with('success', 'NOC updated successfully'); } /** @@ -188,8 +212,8 @@ 'nomor_registrasi' => $persetujuanPenawaran->permohonan->nomor_registrasi ?? $persetujuanPenawaran->penawaran->nomor_registrasi, 'nama_debitur' => $persetujuanPenawaran->permohonan->debiture->name ?? $persetujuanPenawaran->penawaran->permohonan->debiture->name, 'cabang' => $persetujuanPenawaran->permohonan->branch->name ?? $persetujuanPenawaran->penawaran->permohonan->branch->name, - 'tanggal_setor' => dateFormat( - $persetujuanPenawaran->moc->created_at ?? $persetujuanPenawaran->created_at, + 'tanggal_pembayaran' => dateFormat( + $persetujuanPenawaran->noc->tanggal_pembayaran ?? $persetujuanPenawaran->noc?->created_at, true, ), 'nominal_bayar' => currencyFormat( @@ -201,12 +225,12 @@ $persetujuanPenawaran->noc->nominal_penyelesaian ?? $persetujuanPenawaran->nominal_penyelesaian ?? 0, ), 'bukti_penyelesaian' => $persetujuanPenawaran->noc->bukti_penyelesaian ?? $persetujuanPenawaran->bukti_penyelesaian ?? null, - 'tanggal_penyelesaian' => dateFormat( - $persetujuanPenawaran->noc->tanggal_penyelesaian ?? $persetujuanPenawaran->updated_at, - true, - ), + 'tanggal_penyelesaian' => $persetujuanPenawaran->noc?->tanggal_penyelesaian ? dateFormat( + $persetujuanPenawaran->noc?->tanggal_penyelesaian, + true) : '-', + 'updated_at' => dateFormat($persetujuanPenawaran->updated_at, true), ]; - }); + })->sortBy('updated_at', 1); // Calculate the page count $pageCount = ceil($totalRecords / $request->get('size')); diff --git a/resources/views/noc/form.blade.php b/resources/views/noc/form.blade.php index 9721c50..b435428 100644 --- a/resources/views/noc/form.blade.php +++ b/resources/views/noc/form.blade.php @@ -4,6 +4,16 @@ {{ Breadcrumbs::render(request()->route()->getName()) }} @endsection +@php + $hasMemo = false; + try { + $memoPath = $persetujuanPenawaran->noc->memo_penyelesaian ?? null; + $hasMemo = isset($memoPath) && !empty($memoPath) && Storage::exists($memoPath); + } catch (Exception $e) { + // Jika terjadi error, $hasMemo tetap false + } +@endphp + @section('content')