count(); $jumlahSimpanan = Simpanan::count(); $jumlahPinjaman = Pinjaman::count(); $jumlahAnggotaBulanLalu = Anggota::whereMonth('created_at', '=', Carbon::now()->subMonth()->month)->count(); $pertumbuhanAnggota = 0; if ($jumlahAnggotaBulanLalu > 0) { $pertumbuhanAnggota = (($jumlahAnggota - $jumlahAnggotaBulanLalu) / $jumlahAnggota) * 100; } else { $pertumbuhanAnggota = 100; } $selectedYear = $request->get('tahun'); if (Auth::user()->id_role == 1) { $anggotaTahun = Anggota::selectRaw('YEAR(created_at) as year') ->distinct() ->pluck('year') ->sortDesc() ->toArray(); if ($selectedYear) { $anggotaData = Anggota::whereYear('created_at', $selectedYear)->get(); $jenisData = Anggota::whereYear('created_at', $selectedYear)->get(); } else { $anggotaData = Anggota::all(); $jenisaData = Anggota::all(); } $anggotaChart = $lineChartAnggota->build($selectedYear); $jenisAnggotaChart = $pieChartJenisAnggota->build($selectedYear); return view('pages.dashboard.index', compact('jumlahAnggota', 'jumlahPegawai', 'jumlahSimpanan', 'jumlahPinjaman', 'anggotaChart', 'jenisAnggotaChart', 'pertumbuhanAnggota', 'anggotaTahun', 'selectedYear')); } else { $setor = DetailSimpanan::where('jenis_transaksi', '=', 'Setor') ->get(); $tarik = DetailSimpanan::where('jenis_transaksi', '=', 'Tarik') ->get(); $shuTahun = Laporan::selectRaw('YEAR(created_at) as year') ->distinct() ->pluck('year') ->sortDesc() ->toArray(); $transaksiTahun = HistoryTransaksi::selectRaw('YEAR(created_at) as year') ->distinct() ->pluck('year') ->sortDesc() ->toArray(); $totalSimpananPokok = $setor->sum('simpanan_pokok'); $totalSimpananWajib = $setor->sum('simpanan_wajib'); $totalSimpananSukarela = $setor->sum('simpanan_sukarela'); $totalPenarikanPokok = $tarik->sum('simpanan_pokok'); $totalPenarikanWajib = $tarik->sum('simpanan_wajib'); $totalPenarikanSukarela = $tarik->sum('simpanan_sukarela'); $totalSimpananPokok -= $totalPenarikanPokok; $totalSimpananWajib -= $totalPenarikanWajib; $totalSimpananSukarela -= $totalPenarikanSukarela; $rekap = HistoryTransaksi::with('users', 'anggota', 'detail_simpanan', 'pinjaman', 'detail_pinjaman')->orderBy('created_at', 'desc')->get(); $shuChart = $lineChart->build($selectedYear); $transaksiChart = $pieChart->build($selectedYear); $jumlahMasuk = 0.00; $jumlahKeluar = 0.00; $totalPemasukan = 0.00; $totalPengeluaran = 0.00; foreach ($rekap as $item) { if ($item->id_detail_simpanan != null) { $detail_simpanan = DetailSimpanan::find($item->id_detail_simpanan); $simpanan_pokok = $detail_simpanan->simpanan_pokok; $simpanan_wajib = $detail_simpanan->simpanan_wajib; $simpanan_sukarela = $detail_simpanan->simpanan_sukarela; if ($item->tipe_transaksi == 'Pemasukan') { $jenis_transaksi = 'Setor Simpanan'; $jumlahMasuk = $simpanan_pokok + $simpanan_wajib + $simpanan_sukarela; $totalPemasukan += $jumlahMasuk; } else { $jenis_transaksi = 'Tarik Simpanan'; $jumlahKeluar = $simpanan_pokok + $simpanan_wajib + $simpanan_sukarela; $totalPengeluaran += $jumlahKeluar; } } elseif ($item->id_pinjaman != null) { $pinjaman = Pinjaman::find($item->id_pinjaman); $jumlahKeluar = $pinjaman->total_pinjaman; $totalPengeluaran += $jumlahKeluar; $jenis_transaksi = 'Pengajuan Pinjaman'; } else { $detail_pinjaman = DetailPinjaman::find($item->id_detail_pinjaman); $jumlahMasuk = $detail_pinjaman->angsuran_pokok; $totalPemasukan += $jumlahMasuk; $jenis_transaksi = 'Angsuran Pinjaman'; } } $pendapatan = $totalPemasukan - $totalPengeluaran; $cek_detail_pinjaman = DetailPinjaman::where('status_pelunasan', 'Belum Lunas')->with(['pinjaman', 'users'])->get(); foreach ($cek_detail_pinjaman as $row) { if ($row->status_pelunasan == 'Belum Lunas') { if ($row->tanggal_jatuh_tempo < Carbon::now()) { $row->status_pelunasan = 'Lewat Jatuh Tempo'; $row->save(); } } if ($row->status_pelunasan == 'Lewat Jatuh Tempo') { if ($row->tanggal_jatuh_tempo > Carbon::now()) { $row->status_pelunasan = 'Belum Lunas'; $row->save(); } } } $detail_pinjaman = DetailPinjaman::where('status_pelunasan', 'Lewat Jatuh Tempo')->with(['pinjaman', 'users'])->get(); $rowData = []; if ($request->ajax()) { foreach ($detail_pinjaman as $row) { if ($row->status_pelunasan == 'Belum Lunas') { if ($row->tanggal_jatuh_tempo < Carbon::now()) { $row->status_pelunasan = 'Lewat Jatuh Tempo'; $row->save(); } } if ($row->status_pelunasan == 'Lewat Jatuh Tempo') { if ($row->tanggal_jatuh_tempo > Carbon::now()) { $row->status_pelunasan = 'Belum Lunas'; $row->save(); } } $pinjaman = $row->pinjaman; $pinjaman = Pinjaman::where('id_pinjaman', $pinjaman->id_pinjaman)->with('anggota')->first(); $rowData[] = [ 'DT_RowIndex' => $row->id_pinjaman, 'id_pinjaman' => $pinjaman->id_pinjaman, 'nama_anggota' => $pinjaman->anggota->nama, 'tanggal_jatuh_tempo' => $row->tanggal_jatuh_tempo, 'angsuran_ke_' => $row->angsuran_ke_, 'angsuran_pokok' => $row->angsuran_pokok, 'bunga' => $row->bunga, 'subtotal_angsuran' => $row->subtotal_angsuran, 'status_pelunasan' => $row->status_pelunasan ]; } return DataTables::of($rowData)->toJson(); } return view('pages.dashboard.index', compact('jumlahAnggota', 'jumlahPegawai', 'jumlahSimpanan', 'jumlahPinjaman', 'totalSimpananPokok', 'totalSimpananWajib', 'totalSimpananSukarela', 'pendapatan', 'shuChart', 'transaksiChart', 'pertumbuhanAnggota', 'shuTahun', 'transaksiTahun', 'selectedYear')); } } /** * Show the form for creating a new resource. */ public function create() { // } /** * Store a newly created resource in storage. */ public function store(Request $request) { // } /** * Display the specified resource. */ public function show(string $id) { // } /** * Show the form for editing the specified resource. */ public function edit(string $id) { // } /** * Update the specified resource in storage. */ public function update(Request $request, string $id) { // } /** * Remove the specified resource from storage. */ public function destroy(string $id) { // } }