accountBalanceService = $accountBalanceService; } /** * Get account balance summary (opening and closing balance) * * @param BalanceSummaryRequest $request * @return JsonResponse */ public function getBalanceSummary(BalanceSummaryRequest $request): JsonResponse { try { $accountNumber = $request->input('account_number'); $startDate = $request->input('start_date'); $endDate = $request->input('end_date'); Log::info('Account balance summary requested', [ 'account_number' => $accountNumber, 'start_date' => $startDate, 'end_date' => $endDate, 'ip' => $request->ip(), 'user_agent' => $request->userAgent() ]); $result = $this->accountBalanceService->getBalanceSummary( $accountNumber, $startDate, $endDate ); return (new BalanceSummaryResource($result))->response(); } catch (Exception $e) { Log::error('Error getting account balance summary', [ 'error' => $e->getMessage(), 'file' => $e->getFile(), 'line' => $e->getLine(), 'trace' => $e->getTraceAsString() ]); return response()->json([ 'success' => false, 'message' => 'Terjadi kesalahan saat mengambil data saldo', 'error' => config('app.debug') ? $e->getMessage() : null ], 500); } } }