NIM_E31220400/resources/views/laporan/review.blade.php

123 lines
6.1 KiB
PHP

@extends('layouts.app')
@section('content')
<!-- Background seluruh halaman -->
<div style="background-color: #e0e0e0; width: 100%; min-height: 100vh; border-radius: 15px; padding: 1rem;">
<!-- Header -->
<div style="background-color: #000; color: #fff; padding: 0.1rem; border-radius: 0.5rem;">
<h1 class="m-0">Laporan Review</h1>
</div>
<!-- Konten utama -->
<div class="container mt-4">
{{-- Bar atas: Tombol dan Filter Tahun --}}
<div class="d-flex justify-content-between align-items-center mb-3">
<div>
<a href="{{ route('laporan.exportPdf', ['tahun' => request('tahun')]) }}" class="btn btn-primary">Export PDF</a>
<a href="{{ route('dashboard') }}" class="btn btn-secondary">Kembali</a>
</div>
<form method="GET" action="{{ route('laporan.review') }}" class="d-flex">
<select name="tahun" class="form-control" onchange="this.form.submit()">
<option value="">-- Pilih Tahun --</option>
@foreach($list_tahun as $tahun)
<option value="{{ $tahun }}" {{ (request('tahun') == $tahun) ? 'selected' : '' }}>{{ $tahun }}</option>
@endforeach
</select>
</form>
</div>
{{-- Tabel Data --}}
<div class="card p-4 border border-secondary" style="border-radius: 15px; background-color: #fff; max-height: 70vh; overflow-y: auto;">
<div class="table-responsive">
<table class="table table-bordered table-hover mb-0">
<thead class="table-dark text-center">
<tr>
<th>No</th>
<th>Tanggal</th>
<th>Nama</th>
<th>Kategori</th>
<th>Quantity</th>
<th>Harga Satuan</th>
<th>Subtotal</th>
<th>Masuk</th>
<th>Keluar</th>
<th>Keterangan</th>
</tr>
</thead>
<tbody>
@php
$no = 1;
$totalMasuk = 0;
$totalKeluar = 0;
$gabungan = collect($pemasukan)->map(function($item) {
$item->jenis = 'masuk';
return $item;
})->merge(
collect($pengeluaran)->map(function($item) {
$item->jenis = 'keluar';
return $item;
})
)->sortByDesc('tanggal');
@endphp
@forelse($gabungan as $item)
@php
$qty = $item->quantity ?? 1;
$harga = $item->harga ?? $item->jumlah;
$subtotal = $item->kategori === 'barang' ? ($qty * $harga) : $item->jumlah;
if ($item->jenis === 'masuk') {
$totalMasuk += $subtotal;
} elseif ($item->jenis === 'keluar') {
$totalKeluar += $subtotal;
}
@endphp
<tr>
<td class="text-center">{{ $no++ }}</td>
<td>{{ \Carbon\Carbon::parse($item->tanggal)->format('d-m-Y') }}</td>
<td>{{ $item->nama }}</td>
<td class="text-center">{{ ucfirst($item->kategori) }}</td>
<td class="text-center">{{ $item->kategori === 'barang' ? $qty : '-' }}</td>
<td class="text-end">{{ $item->kategori === 'barang' ? 'Rp ' . number_format($harga, 0, ',', '.') : '-' }}</td>
<td class="text-end">Rp {{ number_format($subtotal, 0, ',', '.') }}</td>
<td class="text-end">
{{ $item->jenis == 'masuk' ? 'Rp ' . number_format($subtotal, 0, ',', '.') : '-' }}
</td>
<td class="text-end">
{{ $item->jenis == 'keluar' ? 'Rp ' . number_format($subtotal, 0, ',', '.') : '-' }}
</td>
<td>{{ $item->keterangan ?: '-' }}</td>
</tr>
@empty
<tr>
<td colspan="10" class="text-center">Tidak ada data untuk tahun yang dipilih.</td>
</tr>
@endforelse
{{-- Total --}}
<tr class="fw-bold bg-light">
<td colspan="7" class="text-end">Total Masuk</td>
<td class="text-end">Rp {{ number_format($totalMasuk, 0, ',', '.') }}</td>
<td colspan="2"></td>
</tr>
<tr class="fw-bold bg-light">
<td colspan="8" class="text-end">Total Keluar</td>
<td class="text-end">Rp {{ number_format($totalKeluar, 0, ',', '.') }}</td>
<td></td>
</tr>
<tr class="fw-bold bg-success text-white">
<td colspan="6" class="text-end">Saldo Akhir</td>
<td class="text-end">Rp {{ number_format($totalMasuk - $totalKeluar, 0, ',', '.') }}</td>
<td colspan="3"></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
@endsection