diff --git a/app/Http/Controllers/LaporanController.php b/app/Http/Controllers/LaporanController.php index 9306acd..2a54644 100644 --- a/app/Http/Controllers/LaporanController.php +++ b/app/Http/Controllers/LaporanController.php @@ -9,34 +9,47 @@ use Maatwebsite\Excel\Concerns\FromCollection; use Maatwebsite\Excel\Concerns\WithHeadings; use Maatwebsite\Excel\Concerns\WithMapping; +use Carbon\Carbon; class LaporanController extends Controller { - public function index() + public function index(Request $request) { - $laporan = LaporanModel::orderBy('Tanggal', 'desc')->get(); + // Default date range + $startDate = $request->input('start_date', Carbon::now()->startOfMonth()->format('Y-m-d')); + $endDate = $request->input('end_date', Carbon::now()->endOfMonth()->format('Y-m-d')); + + $laporan = LaporanModel::whereBetween('Tanggal', [$startDate, $endDate]) + ->orderBy('Tanggal', 'desc') + ->get(); // Hitung total uang masuk (termasuk uang_masuk2-5) - $totalUangMasuk = LaporanModel::selectRaw('SUM(uang_masuk) + - COALESCE(SUM(uang_masuk2), 0) + - COALESCE(SUM(uang_masuk3), 0) + - COALESCE(SUM(uang_masuk4), 0) + - COALESCE(SUM(uang_masuk5), 0) as total') + $totalUangMasuk = LaporanModel::whereBetween('Tanggal', [$startDate, $endDate]) + ->selectRaw('SUM(uang_masuk) + + COALESCE(SUM(uang_masuk2), 0) + + COALESCE(SUM(uang_masuk3), 0) + + COALESCE(SUM(uang_masuk4), 0) + + COALESCE(SUM(uang_masuk5), 0) as total') ->value('total') ?? 0; // Hitung total uang keluar (termasuk uang_keluar2-5) - $totalUangKeluar = LaporanModel::selectRaw('SUM(uang_keluar) + - COALESCE(SUM(uang_keluar2), 0) + - COALESCE(SUM(uang_keluar3), 0) + - COALESCE(SUM(uang_keluar4), 0) + - COALESCE(SUM(uang_keluar5), 0) as total') + $totalUangKeluar = LaporanModel::whereBetween('Tanggal', [$startDate, $endDate]) + ->selectRaw('SUM(uang_keluar) + + COALESCE(SUM(uang_keluar2), 0) + + COALESCE(SUM(uang_keluar3), 0) + + COALESCE(SUM(uang_keluar4), 0) + + COALESCE(SUM(uang_keluar5), 0) as total') ->value('total') ?? 0; - // Tidak ada lagi kolom gaji, jadi kita menghilangkannya - $totalKredit = $totalUangKeluar; // Hanya menggunakan total uang keluar + $totalKredit = $totalUangKeluar; $saldo = $totalUangMasuk - $totalKredit; - return view('Laporan', compact('laporan', 'totalUangMasuk', 'totalUangKeluar', 'totalKredit', 'saldo')); + return view('Laporan', compact('laporan', 'totalUangMasuk', 'totalUangKeluar', 'totalKredit', 'saldo', 'startDate', 'endDate')); + } + + public function filter(Request $request) + { + return $this->index($request); } public function exportExcel() diff --git a/app/Http/Controllers/NeracasaldoController.php b/app/Http/Controllers/NeracasaldoController.php index 20bb865..8975e51 100644 --- a/app/Http/Controllers/NeracasaldoController.php +++ b/app/Http/Controllers/NeracasaldoController.php @@ -4,12 +4,19 @@ use App\Models\NeracasaldoModel; use Illuminate\Http\Request; +use Carbon\Carbon; class NeracasaldoController extends Controller { - public function index() + public function index(Request $request) { - $rawTransaksis = NeracasaldoModel::orderBy('kode', 'asc')->get(); + // Default date range + $startDate = $request->input('start_date', Carbon::now()->startOfMonth()->format('Y-m-d')); + $endDate = $request->input('end_date', Carbon::now()->endOfMonth()->format('Y-m-d')); + + $rawTransaksis = NeracasaldoModel::whereBetween('Tanggal', [$startDate, $endDate]) + ->orderBy('kode', 'asc') + ->get(); $totalsPerAkun = []; foreach ($rawTransaksis as $transaksi) { @@ -75,7 +82,12 @@ public function index() // Konversi ke collection setelah selesai $transaksis = collect($finalTransaksis); - return view('Neracasaldo', compact('transaksis')); + return view('Neracasaldo', compact('transaksis', 'startDate', 'endDate')); + } + + public function filter(Request $request) + { + return $this->index($request); } public function create() @@ -126,4 +138,10 @@ public function destroy($id) return redirect()->route('neracasaldo.index') ->with('success', 'Data berhasil dihapus'); } + + public function show($id) + { + $transaksi = NeracasaldoModel::findOrFail($id); + return view('neracasaldo.show', compact('transaksi')); + } } diff --git a/app/Http/Controllers/RekeningController.php b/app/Http/Controllers/RekeningController.php index 300f128..2c1fbd8 100644 --- a/app/Http/Controllers/RekeningController.php +++ b/app/Http/Controllers/RekeningController.php @@ -13,18 +13,17 @@ class RekeningController extends Controller { public function index(Request $request) { - $query = RekeningModel::query(); + // Default date range + $startDate = $request->input('start_date', Carbon::now()->startOfMonth()->format('Y-m-d')); + $endDate = $request->input('end_date', Carbon::now()->endOfMonth()->format('Y-m-d')); + + $query = RekeningModel::whereBetween('Tanggal', [$startDate, $endDate]); // Filter berdasarkan nama akun jika ada if ($request->has('periode')) { $query->where('kategori', $request->periode); } - // Filter berdasarkan tanggal jika ada - if ($request->has('startDate')) { - $query->whereDate('Tanggal', '>=', $request->startDate); - } - $laporan = $query->orderBy('Tanggal', 'asc')->get(); // Kelompokkan data berdasarkan kategori @@ -103,7 +102,12 @@ public function index(Request $request) ]); } - return view('Rekening', compact('groupedLaporan', 'totals', 'totalDebit', 'totalKredit', 'saldo')); + return view('Rekening', compact('groupedLaporan', 'totals', 'totalDebit', 'totalKredit', 'saldo', 'startDate', 'endDate')); + } + + public function filter(Request $request) + { + return $this->index($request); } private function generateKode($kategori) diff --git a/resources/views/Laporan.blade.php b/resources/views/Laporan.blade.php index d0d0e78..517bd31 100644 --- a/resources/views/Laporan.blade.php +++ b/resources/views/Laporan.blade.php @@ -20,6 +20,22 @@
jurnal umum Budivespaendut.
+Periode: {{ date('F Y', strtotime($startDate)) }}
+Neraca Saldo Budivespaendut
-Kebun Anggrek
+Periode: {{ date('F Y', strtotime($startDate)) }}
+Buku Besar Budivespaendut
-Kebun Anggrek
+Periode: {{ date('F Y', strtotime($startDate)) }}
+