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 = ' Laporan Keuangan

Laporan Keuangan

Tanggal: '.date('d-m-Y').'

'; foreach($laporan as $index => $item) { $html .= ' '; } $html .= '
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, ',', '.').'

Ringkasan

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, ',', '.').'
'; $pdf = PDF::loadHTML($html); return $pdf->download('laporan-keuangan-'.date('Y-m-d').'.pdf'); } catch (\Exception $e) { return redirect()->back()->with('error', 'Gagal mengekspor PDF: ' . $e->getMessage()); } } }