From 041ca943c9371bfeeef5616fc7b2e0c0c2fe5092 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Mon, 15 Sep 2025 15:39:00 +0700 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(noc):=20Implementasi=20total?= =?UTF-8?q?=20nominal=20diterima=20pada=20halaman=20penyelesaian?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Hitung total nominal diterima dari semua data yang difilter (bukan hanya halaman aktif) - Tambahkan field `totalNominalDiterima` pada response JSON DataTable - Parsing string currency ke numeric value untuk perhitungan akurat - Tampilkan total di footer tabel dengan format Rupiah (IDR) - Integrasi real-time backend (NocController) dan frontend (Blade + JS) - Update otomatis via event listener DataTable saat data berubah atau difilter - Styling footer dengan TailwindCSS untuk highlight nominal - Validasi dan fallback aman (0) bila data tidak tersedia - Transparansi & efisiensi monitoring keuangan secara real-time --- app/Http/Controllers/NocController.php | 9 ++++++ resources/views/noc/penyelesaian.blade.php | 33 ++++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/app/Http/Controllers/NocController.php b/app/Http/Controllers/NocController.php index b4a5651..171bfb4 100644 --- a/app/Http/Controllers/NocController.php +++ b/app/Http/Controllers/NocController.php @@ -402,6 +402,14 @@ ]; })->sortBy('updated_at', 1)->values(); + + // Calculate total nominal diterima from all filtered data (not just current page) + $totalNominalDiterima = $data->sum(function ($item) { + // Extract numeric value from formatted currency string + $nominal = str_replace(['Rp', '.', ',00'], '', $item['nominal_diterima']); + return (float) $nominal; + }); + // Calculate the page count $pageCount = ceil($totalRecords / $request->get('size')); @@ -416,6 +424,7 @@ 'pageCount' => $pageCount, 'page' => $currentPage, 'totalCount' => $totalRecords, + 'totalNominalDiterima' => $totalNominalDiterima, 'data' => $data, ]); } diff --git a/resources/views/noc/penyelesaian.blade.php b/resources/views/noc/penyelesaian.blade.php index f4367b6..06c49fb 100644 --- a/resources/views/noc/penyelesaian.blade.php +++ b/resources/views/noc/penyelesaian.blade.php @@ -108,6 +108,15 @@ + +
+
+
+ Total Nominal Diterima: Rp 0 +
+
+