@extends('layouts.user') @section('title', 'Site Margin Report') @section('content')

Site Margin Report

{{-- Export Buttons (Standard) --}} {{-- Report Type Toggle --}}
  • All Sites
  • No sites found
  • All Employees
  • No employees found
@forelse($groupedMargins as $siteName => $group)

{{ $siteName }}

@foreach($group['items'] as $row) @php $margin = $row->total_income - $rowTotal; @endphp @endforeach @php $totalMargin = $group['total_income'] - $group['total_expense']; @endphp
Duty ID Guard Name In Date In Time Out Date Out Time Total Hours Site Rate Income Wage Components Expense Margin
{{ $row->duty_number }} {{ $row->first_name }} {{ $row->last_name }} @if(isset($row->stat_multiplier) && $row->stat_multiplier > 1) STAT @endif {{ \Carbon\Carbon::parse($row->view_start)->format('Y-m-d') }} {{ \Carbon\Carbon::parse($row->view_start)->format('h:i A') }} {{ \Carbon\Carbon::parse($row->view_end)->format('Y-m-d') }} {{ \Carbon\Carbon::parse($row->view_end)->format('h:i A') }} {{ number_format($row->hours, 2) }} hrs ${{ number_format($row->bill_rate, 2) }} ${{ number_format($row->total_income, 2) }} @php $wageTypes = json_decode($row->wage_types, true) ?: []; $gasRate = $row->gas_rate > 0 ? $row->gas_rate : 0; $rowTotal = 0; @endphp @if(!empty($wageTypes) || $gasRate > 0)
@foreach($wageTypes as $wageType) @php $componentHours = $wageType['allocated_hours'] ?? 0; $componentRate = $wageType['rate'] ?? 0; $componentPay = $componentHours * $componentRate; $rowTotal += $componentPay; @endphp
{{ $wageType['name'] ?? 'Wage' }}
{{ number_format($componentHours, 2) }} hrs × ${{ number_format($componentRate, 2) }} = ${{ number_format($componentPay, 2) }}
@endforeach @if($gasRate > 0) @php $rowTotal += $gasRate; @endphp
GAS/CASH
${{ number_format($gasRate, 2) }}
@endif
@else No wage data @endif
${{ number_format($rowTotal, 2) }} ${{ number_format($margin, 2) }}
{{ number_format($group['total_hours'], 2) }} hrs ${{ number_format($group['total_income'], 2) }} ${{ number_format($group['total_expense'], 2) }} ${{ number_format($totalMargin, 2) }}
@empty
No margin records found for the selected period.
@endforelse
@endsection