diff --git a/app/Http/Controllers/ReportsController.php b/app/Http/Controllers/ReportsController.php index ce1b5f5..ddb5601 100644 --- a/app/Http/Controllers/ReportsController.php +++ b/app/Http/Controllers/ReportsController.php @@ -154,7 +154,34 @@ class ReportsController extends Controller return view('reports.scopes.compact', compact('scopes', 'year', 'startBalance', 'endBalance')); } elseif ($type == 'detailed') { - return view('reports.scopes.detailed'); + $yearFilter = function($query) use ($year) { + $query->whereHas('booking', function($query) use ($year) { + $query->whereYear('date', $year); + }); + }; + + $scopes = Scope::select('id', 'name') + ->with([ + 'accountClasses:id,io_type_id,scope_id,name', + 'accountClasses.ioType:id,factor', + 'accountClasses.accountTypes' => function($query) use ($year, $yearFilter) { + return $query->select('id', 'account_class_id', 'name', 'number') + ->whereHas('subBookings', $yearFilter) + ->with(['subBookings' => $yearFilter, + 'subBookings.booking:id,person_or_company,date']); + } + ])->get(); + + foreach ($scopes as $scope) { + foreach ($scope->accountClasses as $accountClass) { + $accountClass->amount = + $accountClass->accountTypes->sum(function ($accountType) { + return $accountType->subBookings->sum('amount'); + }); + } + } + + return view('reports.scopes.detailed', compact('scopes', 'year')); } else { abort(404); } diff --git a/resources/views/bookings/index.blade.php b/resources/views/bookings/index.blade.php index 1c5975f..96d6623 100644 --- a/resources/views/bookings/index.blade.php +++ b/resources/views/bookings/index.blade.php @@ -8,6 +8,8 @@ HS-Rechnung Abrechnung + Konten @endsection @@ -42,7 +44,7 @@ or $firstDate['Y'] == $year and $firstDate['m'] <= $month )) -
| Datum | +Position | +Person / Firma | +Betrag | + + @foreach($accountClass->accountTypes as $accountType) +
|---|---|---|---|
| + {{ $accountType->number . ' - ' . $accountType->name }} + | +|||
| {{ formatDate($subBooking->date()) }} | +{{ $subBooking->reference }} | +{{ $subBooking->personOrCompany() }} | +{!! formatAmount($subBooking->amount) !!} | +
| + {!! formatAmount($accountType->subBookings + ->sum('amount')) !!} + | +|||