distinct() ->orderBy('tahun', 'asc') ->pluck('tahun') ->toArray(); // Ambil tahun dari request atau default ke tahun sekarang $tahunTerpilih = $request->input('tahun', now()->year); // Ambil data pemasukan dan pengeluaran per bulan berdasarkan tahun terpilih $transactions = Finance::selectRaw('DATE_FORMAT(tanggal, "%Y-%m") as month, SUM(pemasukan) as pemasukan, SUM(pengeluaran) as pengeluaran') ->when($tahunTerpilih !== 'all', function ($query) use ($tahunTerpilih) { $query->whereYear('tanggal', $tahunTerpilih); }) ->groupBy('month') ->orderBy('month') ->get(); // Memproses data untuk grafik $labels = $transactions->pluck('month')->toArray(); $pemasukan = $transactions->pluck('pemasukan')->toArray(); $pengeluaran = $transactions->pluck('pengeluaran')->toArray(); $keuntungan = array_map(function ($p, $q) { return $p - $q; }, $pemasukan, $pengeluaran); // Kirim data ke view return view('pemilik.dashboard', compact( 'totalUsers', 'totalRooms', 'totalBookings', 'totalPemasukan', 'totalPengeluaran', 'totalKeuntungan', 'labels', 'pemasukan', 'pengeluaran', 'keuntungan', 'tahunList', 'tahunTerpilih' )); } }