diff --git a/app/Http/Controllers/PembayaranController.php b/app/Http/Controllers/PembayaranController.php index 34fa78d..4da2b1a 100644 --- a/app/Http/Controllers/PembayaranController.php +++ b/app/Http/Controllers/PembayaranController.php @@ -117,8 +117,30 @@ class PembayaranController extends Controller return view('lpj::pembayaran.form', compact('permohonan', 'persetujuanPenawaran')); } + public function editKurang($id){ + $noc = Noc::find($id); + $permohonan = Permohonan::find($noc->permohonan_id); + $persetujuanPenawaran = PersetujuanPenawaran::where('permohonan_id', $permohonan->id)->first(); + return view('lpj::pembayaran.form-kurang', compact('noc','permohonan','persetujuanPenawaran')); + } public function store(PersetujuanPenawaranRequest $request) { + if($req['type'] == 'kurang_bayar'){ + $noc = Noc::find($req['noc_id']); + $noc->nominal_pelunasan = $req['nominal_pelunasan']; + if (request()->hasFile('bukti_ksl_kurang_bayar')) { + $folderPath = 'persetujuan_penawaran/bukti_ksl_kurang_bayar/' . $req['noc_id']; + $noc->bukti_ksl_kurang_bayar = $request->file('bukti_ksl_kurang_bayar')->store($folderPath, 'public'); + } + $noc->save(); + + $persetujuanPenawaran = PersetujuanPenawaran::find($noc->persetujuan_penawaran_id); + $persetujuanPenawaran->bukti_ksl_kurang_bayar = $noc->bukti_ksl_kurang_bayar; + $persetujuanPenawaran->nominal_kurang_bayar = $req['nominal_pelunasan']; + $persetujuanPenawaran->save(); + return redirect() + ->route('pembayaran.kurang.index')->with('success', 'Pelunasan Kurang Bayar berhasil disimpan.'); + } $validated = $request->validated(); $validated['created_by'] = Auth::id(); $validated['status'] = '0'; @@ -347,7 +369,8 @@ class PembayaranController extends Controller } $query = Noc::query()->where(function ($query) { - $query->where(['status_kurang_bayar' => '1']); + $query->where(['status_kurang_bayar' => '1']) + ->where('bukti_ksl_kurang_bayar',null); }); // Sorting berdasarkan sortField dan sortOrder diff --git a/app/Http/Requests/PersetujuanPenawaranRequest.php b/app/Http/Requests/PersetujuanPenawaranRequest.php index 5e41f8b..dce675c 100644 --- a/app/Http/Requests/PersetujuanPenawaranRequest.php +++ b/app/Http/Requests/PersetujuanPenawaranRequest.php @@ -19,7 +19,7 @@ 'nomor_proposal_penawaran' => 'nullable|string|max:255', 'nomor_tiket' => 'nullable|string|max:100', 'nominal_kurang_bayar' => 'nullable|string|max:100', - 'bukti_ksl_kurang_bayar' => 'nullable|string|max:100', + 'bukti_ksl_kurang_bayar' => 'nullable|file|mimes:pdf,doc,docx|max:10240', 'tanggal_proposal_penawaran' => 'nullable|date', 'biaya_final' => 'nullable|numeric|min:0', 'sla_resume' => 'nullable|numeric|min:0', diff --git a/database/migrations/2025_09_11_145857_add_nomor_tiket_to_persetujuan_penawaran_table.php b/database/migrations/2025_09_11_145857_add_nomor_tiket_to_persetujuan_penawaran_table.php index e7115b6..4dd5f0e 100644 --- a/database/migrations/2025_09_11_145857_add_nomor_tiket_to_persetujuan_penawaran_table.php +++ b/database/migrations/2025_09_11_145857_add_nomor_tiket_to_persetujuan_penawaran_table.php @@ -28,7 +28,8 @@ return new class extends Migration $table->string('nomor_rekening_lebih_bayar',20)->nullable()->after('nominal_lebih_bayar'); $table->string('bukti_ksl_lebih_bayar')->nullable()->after('nomor_rekening_lebih_bayar'); $table->string('bukti_ksl_kurang_bayar')->nullable()->after('bukti_ksl_lebih_bayar'); - + $table->string('nominal_pelunasan')->nullable()->after('bukti_ksl_kurang_bayar'); + $table->string('debiture_id')->nullable()->after('persetujuan_penawaran_id'); }); } @@ -41,11 +42,18 @@ return new class extends Migration Schema::table('persetujuan_penawaran', function (Blueprint $table) { // Menghapus kolom nomor_tiket $table->dropColumn('nomor_tiket'); + $table->dropColumn('nominal_kurang_bayar'); + $table->dropColumn('bukti_ksl_kurang_bayar'); }); Schema::table('noc', function (Blueprint $table) { // Menghapus kolom nomor_tiket $table->dropColumn('nomor_tiket'); + $table->dropColumn('nomor_rekening_lebih_bayar'); + $table->dropColumn('bukti_ksl_lebih_bayar'); + $table->dropColumn('bukti_ksl_kurang_bayar'); + $table->dropColumn('nominal_pelunasan'); + $table->dropColumn('debiture_id'); }); } }; diff --git a/resources/views/pembayaran/form-kurang.blade.php b/resources/views/pembayaran/form-kurang.blade.php new file mode 100644 index 0000000..27bb068 --- /dev/null +++ b/resources/views/pembayaran/form-kurang.blade.php @@ -0,0 +1,151 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{ Breadcrumbs::render('pembayaran') }} +@endsection + +@section('content') +
{{ $noc->permohonan->nomor_registrasi ?? '-' }}
+{{ $noc->nomor_tiket ?? '-' }}
+{{ $noc->permohonan->tanggal_permohonan ?? '-' }}
+{{ $noc->permohonan->user->name ?? '-' }}
++ @if ($noc->permohonan->branch ?? null) + {{ $noc->permohonan->branch->code }} - {{ $noc->permohonan->branch->name }} + @else + - + @endif +
+{{ $noc->permohonan->debiture->name ?? '-' }}
+Kurang Bayar
+{{ formatRupiah($noc->nominal_kurang_bayar ?? 0, 2) }} +
+