$request->input('page', 1), 'page_size' => 5, 'date_start' => $request->input('date_start'), 'date_end' => $request->input('date_end'), 'sorting' => $request->input('sort', 'date|desc'), ]; $response = Http::get($this->apiBaseUrl . 'cms/reportMobileUsage', $params); $data = $response->json(); $mobileUsageData = []; $currentPage = $params['page']; $lastPage = 1; $total = 0; if ($response->successful() && isset($data['data'])) { $mobileUsageData = array_map(function ($item) { return [ 'id' => $item['id'] ?? uniqid(), 'date' => $item['date'], 'activeUsers' => $item['active_users'], 'inactiveUsers' => $item['inactive_users'], 'lockedUsers' => $item['locked_users'], ]; }, $data['data']); $currentPage = $data['meta']['current_page'] ?? 1; $lastPage = $data['meta']['last_page'] ?? 1; $total = $data['meta']['total'] ?? count($mobileUsageData); } return view('pages.reports.mobile-usage-report', compact('mobileUsageData', 'currentPage', 'lastPage', 'total')); } public function registration(Request $request) { $params = [ 'page' => $request->input('page', 1), 'page_size' => 5, 'date_start' => $request->input('date_start'), 'date_end' => $request->input('date_end'), 'sorting' => $request->input('sort', 'date|desc'), ]; $response = Http::get($this->apiBaseUrl . 'cms/reportRegistration', $params); $data = $response->json(); $registrationData = []; $currentPage = $params['page']; $lastPage = 1; $total = 0; if ($response->successful() && isset($data['data'])) { $registrationData = array_map(function ($item) { return [ 'id' => $item['id'] ?? uniqid(), 'date' => $item['date'], 'activatedCards' => $item['activated_cards'], 'registeredMembers' => $item['registered_members'], ]; }, $data['data']); $currentPage = $data['meta']['current_page'] ?? 1; $lastPage = $data['meta']['last_page'] ?? 1; $total = $data['meta']['total'] ?? count($registrationData); } return view('pages.reports.registration-report', compact('registrationData', 'currentPage', 'lastPage', 'total')); } public function stationRating(Request $request) { $params = [ 'page' => $request->input('page', 1), 'page_size' => 5, 'date_start' => $request->input('date_start'), 'date_end' => $request->input('date_end'), 'sorting' => $request->input('sort', 'transaction_date_time|desc'), ]; $response = Http::get($this->apiBaseUrl . 'cms/reportStationRatings', $params); $data = $response->json(); $stationRatingData = []; $currentPage = $params['page']; $lastPage = 1; $total = 0; if ($response->successful() && isset($data['data'])) { $stationRatingData = array_map(function ($item) { return [ 'id' => $item['id'] ?? uniqid(), 'transactionDateTime' => $item['transaction_date_time'], 'cardNumber' => $item['card_number'], 'salesInvoice' => $item['sales_invoice'], 'station' => $item['station'], 'ratings' => $item['ratings'], ]; }, $data['data']); $currentPage = $data['meta']['current_page'] ?? 1; $lastPage = $data['meta']['last_page'] ?? 1; $total = $data['meta']['total'] ?? count($stationRatingData); } return view('pages.reports.station-rating-report', compact('stationRatingData', 'currentPage', 'lastPage', 'total')); } public function topUp(Request $request) { $params = [ 'page' => $request->input('page', 1), 'page_size' => 5, 'date_start' => $request->input('date_start'), 'date_end' => $request->input('date_end'), 'sorting' => $request->input('sort', 'transaction_date_time|desc'), ]; $response = Http::get($this->apiBaseUrl . 'cms/reportTopUp', $params); $data = $response->json(); $topUpData = []; $currentPage = $params['page']; $lastPage = 1; $total = 0; if ($response->successful() && isset($data['data'])) { $topUpData = array_map(function ($item) { return [ 'id' => $item['id'] ?? uniqid(), 'transactionDateTime' => $item['transaction_date_time'], 'cardNumber' => $item['card_number'], 'topUpAmount' => $item['top_up_amount'], ]; }, $data['data']); $currentPage = $data['meta']['current_page'] ?? 1; $lastPage = $data['meta']['last_page'] ?? 1; $total = $data['meta']['total'] ?? count($topUpData); } return view('pages.reports.top-up-usage-report', compact('topUpData', 'currentPage', 'lastPage', 'total')); } }