get(); $totalUangMasuk = LaporanModel::sum('uang_masuk'); $totalUangKeluar = LaporanModel::sum('uang_keluar'); $totalGaji = LaporanModel::sum('gaji'); $totalKredit = $totalUangKeluar + $totalGaji; $saldo = $totalUangMasuk - $totalKredit; return view('Laporan', compact('laporan', 'totalUangMasuk', 'totalUangKeluar', 'totalGaji', 'totalKredit', 'saldo')); } public function exportExcel() { try { // Buat class export inline $export = new class implements FromCollection, WithHeadings, WithMapping { public function collection() { return LaporanModel::orderBy('Tanggal', 'desc')->get(); } public function headings(): array { return [ 'ID', 'Tanggal', 'Keterangan', 'Nama Karyawan', 'Uang Masuk', 'Uang Keluar', 'Gaji', ]; } public function map($laporan): array { return [ $laporan->id, $laporan->Tanggal, $laporan->keterangan, $laporan->nama_karyawan, $laporan->uang_masuk, $laporan->uang_keluar, $laporan->gaji, ]; } }; return Excel::download($export, 'laporan-keuangan-'.date('Y-m-d').'.xlsx'); } catch (\Exception $e) { return redirect()->back()->with('error', 'Gagal mengekspor Excel: ' . $e->getMessage()); } } public function exportPDF() { try { $laporan = LaporanModel::orderBy('Tanggal', 'desc')->get(); $totalUangMasuk = LaporanModel::sum('uang_masuk'); $totalUangKeluar = LaporanModel::sum('uang_keluar'); $totalGaji = LaporanModel::sum('gaji'); $totalKredit = $totalUangKeluar + $totalGaji; $saldo = $totalUangMasuk - $totalKredit; // Generate PDF langsung menggunakan HTML inline $html = '
Tanggal: '.date('d-m-Y').'
No | Tanggal | Keterangan | Nama Karyawan | Uang Masuk | Uang Keluar | Gaji |
---|---|---|---|---|---|---|
'.($index + 1).' | '.$item->Tanggal.' | '.$item->keterangan.' | '.$item->nama_karyawan.' | Rp '.number_format($item->uang_masuk, 0, ',', '.').' | Rp '.number_format($item->uang_keluar, 0, ',', '.').' | Rp '.number_format($item->gaji, 0, ',', '.').' |
Total Uang Masuk | Rp '.number_format($totalUangMasuk, 0, ',', '.').' |
Total Uang Keluar | Rp '.number_format($totalUangKeluar, 0, ',', '.').' |
Total Gaji | Rp '.number_format($totalGaji, 0, ',', '.').' |
Total Kredit | Rp '.number_format($totalKredit, 0, ',', '.').' |
Saldo | Rp '.number_format($saldo, 0, ',', '.').' |