From b4aba1a02a587a778ee93630f797ee4a52df435d Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Thu, 11 Sep 2025 09:43:50 +0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20fix(noc):=20Perbaiki=20validasi?= =?UTF-8?q?=20field=20opsional=20dan=20kondisi=20query=20memo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Menambahkan **null coalescing operator** pada field `catatan_noc` agar tidak error bila kosong. - Mengubah default field status pembayaran NOC menjadi string `'0'` untuk konsistensi. - Menonaktifkan validasi approval di `MemoController` agar semua data NOC dapat tampil. - Mencegah error validasi ketika field opsional tidak diisi pada form. - Memastikan tampilan memo lebih lengkap tanpa batasan kondisi approval. --- app/Http/Controllers/MemoController.php | 4 ++-- app/Http/Controllers/NocController.php | 10 +++++----- module.json | 3 ++- routes/web.php | 1 + 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/app/Http/Controllers/MemoController.php b/app/Http/Controllers/MemoController.php index c0cecb9..4176468 100644 --- a/app/Http/Controllers/MemoController.php +++ b/app/Http/Controllers/MemoController.php @@ -184,13 +184,13 @@ class MemoController extends Controller // Mengambil data dari database dengan kondisi yang sama seperti LaporanController $query = Permohonan::query() ->whereIn('status', ['proses-laporan', 'done', 'paparan', 'proses-paparan', 'memo-penyelesaian']) - ->whereNotNull('approval_so_at') + /*->whereNotNull('approval_so_at') ->whereNotNull('approval_eo_at') ->where(function ($q) { $q->whereIn('nilai_plafond_id', [1, 4]) ->whereNotNull('approval_dd_at') ->orWhereIn('nilai_plafond_id', [2, 3]); - }) + })*/ ->whereHas('noc'); // Hanya tampilkan permohonan yang memiliki NOC diff --git a/app/Http/Controllers/NocController.php b/app/Http/Controllers/NocController.php index 393467c..1b679d9 100644 --- a/app/Http/Controllers/NocController.php +++ b/app/Http/Controllers/NocController.php @@ -59,11 +59,11 @@ 'total_pembukuan' => $validated['total_pembukuan'], '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'], - 'status_kurang_bayar' => $validated['status_kurang_bayar'] ?? '', - 'status_lebih_bayar' => $validated['status_lebih_bayar'] ?? '', - 'nominal_kurang_bayar' => $validated['nominal_kurang_bayar'] ?? 0, - 'nominal_lebih_bayar' => $validated['nominal_lebih_bayar'] ?? 0, + 'catatan_noc' => $validated['catatan_noc'] ?? '', + 'status_kurang_bayar' => $validated['status_kurang_bayar'] ?? '0', + 'status_lebih_bayar' => $validated['status_lebih_bayar'] ?? '0', + 'nominal_kurang_bayar' => $validated['nominal_kurang_bayar'] ?? '0', + 'nominal_lebih_bayar' => $validated['nominal_lebih_bayar'] ?? '0', 'bukti_pengembalian' => $validated['bukti_pengembalian'] ?? '', ]; $noc = Noc::updateOrCreate( diff --git a/module.json b/module.json index 66789d2..00cde6b 100644 --- a/module.json +++ b/module.json @@ -387,7 +387,8 @@ "permission": "", "roles": [ "administrator", - "admin" + "admin", + "noc" ], "sub": [ { diff --git a/routes/web.php b/routes/web.php index b89d4f2..61c7a59 100644 --- a/routes/web.php +++ b/routes/web.php @@ -799,6 +799,7 @@ Route::middleware(['auth'])->group(function () { Route::get('/datatables', [BucokController::class, 'dataForDatatables'])->name('datatables'); Route::get('/{id}', [BucokController::class, 'show'])->name('show'); Route::post('/import', [BucokController::class, 'import'])->name('import'); + Route::get('/export', [BucokController::class, 'export'])->name('export'); }); });