From d2ff42f58b16a947410d1cab26e49c64f0aee213 Mon Sep 17 00:00:00 2001 From: Jagad R R Date: Thu, 6 Mar 2025 16:24:55 +0700 Subject: [PATCH] update --- .../Backend/BudgetControlController.php | 12 ++++ .../Controllers/Backend/ReportController.php | 2 + .../pages/budget_control/create.blade.php | 5 +- .../pages/report/generate_jurnal.blade.php | 63 ++++++++++--------- 4 files changed, 53 insertions(+), 29 deletions(-) diff --git a/app/Http/Controllers/Backend/BudgetControlController.php b/app/Http/Controllers/Backend/BudgetControlController.php index 95d6581..5025a98 100644 --- a/app/Http/Controllers/Backend/BudgetControlController.php +++ b/app/Http/Controllers/Backend/BudgetControlController.php @@ -107,6 +107,18 @@ class BudgetControlController extends Controller 'status' => 'Assigned', ]); + BudgetControlLog::create([ + 'cabang_id' => $cabang_id, + 'sender_id' => auth()->user()->id, + 'receiver_id' => $validated['receiver_id'], + 'periode_month' => $validated['periode_month'], + 'periode_year' => $validated['periode_year'], + 'amount' => $validated['amount'], + 'remarks' => $validated['remarks'], + 'closing_at' => null, + 'status' => 'Assigned', + ]); + session()->flash('success', 'Budget has been added or updated successfully'); return redirect()->route('budget_control'); } diff --git a/app/Http/Controllers/Backend/ReportController.php b/app/Http/Controllers/Backend/ReportController.php index 3f08a60..eeba15c 100644 --- a/app/Http/Controllers/Backend/ReportController.php +++ b/app/Http/Controllers/Backend/ReportController.php @@ -631,7 +631,9 @@ class ReportController extends Controller $year = $params['year']; $month = $params['month']; + // get last data $budget = BudgetControlLog::where('cabang_id', $cabang->id)->where('periode_year', $year)->where('periode_month', $month)->orderBy('created_at', 'desc')->first(); + $userIds = UserHasCabang::where('cabang_id', $cabang->id)->pluck('user_id'); // Fetch all relevant forms in one batch diff --git a/resources/views/backend/pages/budget_control/create.blade.php b/resources/views/backend/pages/budget_control/create.blade.php index 84f3ac8..744fffa 100644 --- a/resources/views/backend/pages/budget_control/create.blade.php +++ b/resources/views/backend/pages/budget_control/create.blade.php @@ -65,7 +65,10 @@ @foreach ($users as $receiver) @endforeach diff --git a/resources/views/backend/pages/report/generate_jurnal.blade.php b/resources/views/backend/pages/report/generate_jurnal.blade.php index 094fbc0..07d3f55 100644 --- a/resources/views/backend/pages/report/generate_jurnal.blade.php +++ b/resources/views/backend/pages/report/generate_jurnal.blade.php @@ -124,8 +124,8 @@ Total - {{ number_format($totalDr, 0, ',', ',') }} - {{ number_format($totalCr, 0, ',', ',') }} + {{ number_format($totalDr, 0, ',', '.') }} + {{ number_format($totalCr, 0, ',', '.') }} @@ -151,12 +151,24 @@ text: 'Export Excel', customize: function (xlsx) { var sheet = xlsx.xl.worksheets['sheet1.xml']; + var styles = xlsx.xl['styles.xml']; + var cellXfs = $(styles).find('cellXfs'); - // Add a blank row for spacing - var blankRow = ``; + // Add number format style for thousands separator + var numFmtId = 3; // Built-in ID for thousands separator + var xfCount = cellXfs.children().length; + cellXfs.append(` + + + + `); + var xfIndex = xfCount; // Index of the new style - // Bold text using Excel XML structure - var additionalInfo = ` + // Add additional info and blank row + var sheetData = $(sheet).find('sheetData'); + var existingRows = sheetData.children(); + existingRows.last().after(` + Cabang: {{ $cabang->name }} @@ -166,29 +178,24 @@ Cost Centre: {{ $cabang->cost->code }} - `; - - // Locate the sheet data and append the blank row and additional information - var sheetData = $(sheet).find('sheetData'); - var existingRows = sheetData.children(); - existingRows.last().after(blankRow + additionalInfo); - - // Add bold style to the sheet - var styles = xlsx.xl['styles.xml']; - var cellXfs = $(styles).find('cellXfs'); - cellXfs.append(` - - - - - - - - - `); - } - }, + + // Update total row with number formatting + var totalRow = sheetData.find("row:last"); + var totalDr = {{ $totalDr }}; + var totalCr = {{ $totalCr }}; + + totalRow.find("c:nth-child(4)").attr({ + 't': 'n', // Set type to number + 's': xfIndex // Apply the thousands separator style + }).html('' + totalDr + ''); + + totalRow.find("c:nth-child(5)").attr({ + 't': 'n', + 's': xfIndex + }).html('' + totalCr + ''); + }, + }, { extend: 'csv', text: 'Export CSV',