From 6c781051ad726f37fa30f80127423fb4e956a5d5 Mon Sep 17 00:00:00 2001 From: Nur Izzati Date: Wed, 14 Jan 2026 09:40:03 +0800 Subject: [PATCH] update analisa controller --- .../Controllers/Reports/AnalisaController.php | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/app/Http/Controllers/Reports/AnalisaController.php b/app/Http/Controllers/Reports/AnalisaController.php index 8293b60..a3059b4 100644 --- a/app/Http/Controllers/Reports/AnalisaController.php +++ b/app/Http/Controllers/Reports/AnalisaController.php @@ -11,6 +11,7 @@ use Maatwebsite\Excel\Facades\Excel; use Illuminate\Support\Facades\Auth; use App\Exports\LaporanKeseluruhan\PelangganbaruAllExportExcel; use App\Exports\LaporanKeseluruhan\PelangganaktifAllExportExcel; +use App\Exports\DataPelangganDetailExport; class AnalisaController extends Controller { @@ -90,5 +91,52 @@ class AnalisaController extends Controller return view('reports.pelangganaktif.index', compact('pelangganaktif', 'startDate', 'endDate')); } + public function dataPelanggan(Request $request) + { + $request->hostname = config('api.url'); + $current = new Carbon(); + + $month = $request->filled('month') ? $request->month : $current->month; + $year = $request->filled('year') ? $request->year : $current->year; + + return view('reports.data-pelanggan.index', compact('month', 'year')); + } + + public function dataPelangganShow(Request $request) + { + $validated = $request->validate([ + 'year' => 'required|digits:4' + ]); + + $year = $validated['year']; + $tarikh_cetak = now()->format('d/m/Y'); + $tebus_date = 'Tahun ' . $year; + + $request->hostname = config('api.url'); + + $response = Http::get($request->hostname . '/api/reports/data-pelanggan', [ + 'year' => $year, + ])->json(); + + $summary = $response['summary']; + $pelanggan = $response['pelanggan']; + + if ($request->generateType === 'pdf') { + return view( + 'reports.data-pelanggan.show', + compact('summary','pelanggan','tarikh_cetak','tebus_date','year') + ); + } + elseif ($request->generateType === 'excel') { + return Excel::download( + new DataPelangganDetailExport($pelanggan, $year), + "Laporan-Data-Pelanggan-{$year}.xlsx" + ); + } + + } + + + }