From 7e6fa9d63b7418449479ddf303f15be082ab5009 Mon Sep 17 00:00:00 2001 From: whywdd Date: Wed, 26 Feb 2025 11:34:28 +0700 Subject: [PATCH] update lagi tgl 26 --- app/Http/Controllers/InputGajiController.php | 4 +- app/Http/Controllers/LaporanController.php | 171 ++++++++++++++++-- app/Http/Controllers/UangKeluarController.php | 11 +- app/Http/Controllers/UangMasukController.php | 6 +- resources/views/Home.blade.php | 144 +++++++++------ resources/views/InputGaji.blade.php | 4 +- resources/views/Laporan.blade.php | 10 +- resources/views/UangKeluar.blade.php | 12 +- resources/views/UangMasuk.blade.php | 6 +- routes/web.php | 6 +- 10 files changed, 276 insertions(+), 98 deletions(-) diff --git a/app/Http/Controllers/InputGajiController.php b/app/Http/Controllers/InputGajiController.php index fce2c3e..5be857a 100644 --- a/app/Http/Controllers/InputGajiController.php +++ b/app/Http/Controllers/InputGajiController.php @@ -51,10 +51,10 @@ private function generateKode($kategori) // Tentukan kode dasar berdasarkan kategori $kodeDasar = 0; switch ($kategori) { - case 'utang_gaji': + case 'utang gaji': $kodeDasar = 2; break; - case 'beban_gaji': + case 'beban gaji': $kodeDasar = 5; break; default: diff --git a/app/Http/Controllers/LaporanController.php b/app/Http/Controllers/LaporanController.php index 84f9dda..6bf45dd 100644 --- a/app/Http/Controllers/LaporanController.php +++ b/app/Http/Controllers/LaporanController.php @@ -6,7 +6,9 @@ use App\Models\LaporanModel; use Barryvdh\DomPDF\Facade\Pdf; use Maatwebsite\Excel\Facades\Excel; -use App\Exports\LaporanExport; +use Maatwebsite\Excel\Concerns\FromCollection; +use Maatwebsite\Excel\Concerns\WithHeadings; +use Maatwebsite\Excel\Concerns\WithMapping; class LaporanController extends Controller { @@ -24,27 +26,158 @@ public function index() public function exportExcel() { - return Excel::download(new LaporanExport, 'laporan-keuangan-'.date('Y-m-d').'.xlsx'); + 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() { - $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; - - $pdf = PDF::loadView('laporan-pdf', compact( - 'laporan', - 'totalUangMasuk', - 'totalUangKeluar', - 'totalGaji', - 'totalKredit', - 'saldo' - )); - - return $pdf->download('laporan-keuangan-'.date('Y-m-d').'.pdf'); + 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 .= ' + +
NoTanggalKeteranganNama KaryawanUang MasukUang KeluarGaji
'.($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 MasukRp '.number_format($totalUangMasuk, 0, ',', '.').'
Total Uang KeluarRp '.number_format($totalUangKeluar, 0, ',', '.').'
Total GajiRp '.number_format($totalGaji, 0, ',', '.').'
Total KreditRp '.number_format($totalKredit, 0, ',', '.').'
SaldoRp '.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()); + } } } \ No newline at end of file diff --git a/app/Http/Controllers/UangKeluarController.php b/app/Http/Controllers/UangKeluarController.php index 74de8c2..7c3f659 100644 --- a/app/Http/Controllers/UangKeluarController.php +++ b/app/Http/Controllers/UangKeluarController.php @@ -54,16 +54,19 @@ private function generateKode($kategori) case 'kas': $kodeDasar = 1; break; - case 'utang_usaha': + case 'utang usaha': $kodeDasar = 2; break; - case 'utang_bank': + case 'utang bank': $kodeDasar = 2; break; - case 'beban_listrik': + case 'modal usaha': + $kodeDasar = 3; + break; + case 'beban listrik': $kodeDasar = 5; break; - case 'beban_sewa': + case 'beban sewa': $kodeDasar = 5; break; default: diff --git a/app/Http/Controllers/UangMasukController.php b/app/Http/Controllers/UangMasukController.php index 25f3606..2158b61 100644 --- a/app/Http/Controllers/UangMasukController.php +++ b/app/Http/Controllers/UangMasukController.php @@ -54,13 +54,13 @@ private function generateKode($kategori) case 'kas': $kodeDasar = 1; break; - case 'modal_pemilik': + case 'modal pemilik': $kodeDasar = 3; break; - case 'pendapatan_penjualan': + case 'pendapatan penjualan': $kodeDasar = 4; break; - case 'pendapatan_jasa': + case 'pendapatan jasa': $kodeDasar = 4; // Jika ada kode yang sama, bisa disesuaikan break; default: diff --git a/resources/views/Home.blade.php b/resources/views/Home.blade.php index d7a9715..afe705b 100644 --- a/resources/views/Home.blade.php +++ b/resources/views/Home.blade.php @@ -2,11 +2,11 @@ @section('content') -
- -
-

Dashboard

- @@ -15,22 +15,23 @@
-
+ +
-
-
+
-
3.4k
-

Leads generated per week

+
3.4k
+

Leads generated per week

- - + 42.5% @@ -38,20 +39,26 @@
+
-
-
Money spent:
-
$3,232
-
-
-
Conversion rate:
-
1.2%
-
+
+
+
Money spent:
+
$3,232
+
+
+
+
+
Conversion rate:
+
1.2%
+
+
-
- -
+
+ +
+

Sales Analytics

- -
- + +
+ -
- $ 54.143 +
+ $ 54.143
-
+
47% - +
-
Sales earnings this month after associated author fees, & before taxes.
-
-
-
- + +
+
+ - diff --git a/resources/views/Laporan.blade.php b/resources/views/Laporan.blade.php index 30f564f..e9d4367 100644 --- a/resources/views/Laporan.blade.php +++ b/resources/views/Laporan.blade.php @@ -34,7 +34,7 @@

Laba Bersih

-

Rp {{ number_format($saldo, 0, ',', '.') }}

+

Rp {{ number_format(($saldo > 0) ? $saldo : 0, 0, ',', '.') }}

@if(isset($persentasePeningkatan))

@@ -45,9 +45,9 @@ @endif

-

Saldo Kas

-

Rp 12.500.000

-

Per tanggal hari ini

+

Rugi

+

Rp {{ number_format(($saldo < 0) ? $saldo : 0, 0, ',', '.') }}

+

Data realtime keuangan

@@ -123,7 +123,7 @@ {{ $item->Tanggal->format('Y-m-d') }} {{ $item->kode }} {{ $item->kategori }} - {{ $item->keterangan }} + {{ $item->keterangan }} {{ $item->nama_karyawan }} @if($debit > 0) Rp {{ number_format($debit, 0, ',', '.') }} diff --git a/resources/views/UangKeluar.blade.php b/resources/views/UangKeluar.blade.php index 722179b..62c556b 100644 --- a/resources/views/UangKeluar.blade.php +++ b/resources/views/UangKeluar.blade.php @@ -40,15 +40,19 @@ class="w-full border rounded-lg px-3 py-2 focus:outline-none focus:ring-2 focus: + + + + - - + + - - + +
diff --git a/resources/views/UangMasuk.blade.php b/resources/views/UangMasuk.blade.php index 1f6976b..10962f0 100644 --- a/resources/views/UangMasuk.blade.php +++ b/resources/views/UangMasuk.blade.php @@ -42,12 +42,12 @@ class="w-full border rounded-lg px-3 py-2 focus:outline-none focus:ring-2 focus: - + - - + +
diff --git a/routes/web.php b/routes/web.php index 381c9b1..8289e0e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -32,15 +32,15 @@ Route::get('/uang-keluar', [UangKeluarController::class, 'index'])->name('uang-keluar.index'); Route::post('/uang-keluar', [UangKeluarController::class, 'store'])->name('uangkeluar.store'); Route::get('/input-gaji', [InputGajiController::class, 'index'])->name('input-gaji.index'); -// Route::post('/input-gaji', [InputGajiController::class, 'store'])->name('input-gaji.store'); +Route::post('/input-gaji', [InputGajiController::class, 'store'])->name('input-gaji.store'); //untuk Uang Gaji Route::get('/gaji', [GajiController::class, 'index'])->name('gaji.index'); //untuk Laporan Route::get('/Laporan', [LaporanController::class, 'index'])->name('Laporan.index'); -Route::get('/laporan/export-excel', [LaporanController::class, 'exportExcel'])->name('laporan.export-excel'); -Route::get('/laporan/export-pdf', [LaporanController::class, 'exportPDF'])->name('laporan.export-pdf'); +Route::get('laporan/export-excel', [App\Http\Controllers\LaporanController::class, 'exportExcel'])->name('laporan.export-excel'); +Route::get('laporan/export-pdf', [App\Http\Controllers\LaporanController::class, 'exportPDF'])->name('laporan.export-pdf'); //untuk Home Route::get('/home', [HomeController::class, 'index'])->name('home');