Dach โ€” Projects summary

Generated {{ $generatedAt->format('Y-m-d H:i') }} @if(array_filter($filters)) ยท Filters: @if($filters['q']) search "{{ $filters['q'] }}" @endif @if($filters['status']) status {{ $filters['status'] }} @endif @if($filters['client_id']) client #{{ $filters['client_id'] }} @endif @endif

@if($projects->isEmpty())

No projects match the current filters.

@else @foreach($projects as $project) @php $inc = (float) ($project->agg_income ?? 0); $exp = (float) ($project->agg_expense ?? 0); $pl = $inc - $exp; $margin = $inc > 0 ? round(($pl / $inc) * 100, 2) : 0; @endphp @endforeach
Name Client Status Progress % Due Budget Contract Income Spent P/L Margin %
{{ $project->name }} {{ $project->client?->company_name }} {{ $project->status }} {{ $project->progress_percentage }} {{ optional($project->due_date)?->format('Y-m-d') }} {{ number_format((float) $project->budget, 2) }} {{ number_format((float) $project->contract_value, 2) }} {{ number_format($inc, 2) }} {{ number_format($exp, 2) }} {{ number_format($pl, 2) }} {{ number_format($margin, 2) }}
Totals / averages {{ number_format((float) $projects->sum('budget'), 2) }} {{ number_format((float) $projects->sum('contract_value'), 2) }} {{ number_format((float) $projects->sum(fn ($p) => (float) ($p->agg_income ?? 0)), 2) }} {{ number_format((float) $projects->sum(fn ($p) => (float) ($p->agg_expense ?? 0)), 2) }} โ€” โ€”
@endif