@use('App\Models\JobTransporter')
| Transporter | Vehicles | Quantity (Metric Tons) | Creation Date | Job Status | Action | @forelse($job->transporters->sortBy('id', 2) ?? [] as $transporter)
|---|---|---|---|---|---|
| {{ $transporter->name ?? 'null' }} | @php $vehicles = $job->trips->load(['vehicle', 'driver']) ->where('transport_id', $transporter->id) ->pluck('vehicle') ->filter() ->unique('id'); @endphp {{ $vehicles->count() }} | @php // Get allocated quantity from job_transporter pivot $allocatedQuantity = $transporter->pivot->quantity_metric_tons ?? 0; // Get sum of offload_metric_tons for this transporter's completed trips $completedQuantity = $job->trips ->where('transport_id', $transporter->id) ->where('status', \App\Models\Trip::STATUS_COMPLETE_TRIP) ->whereNotNull('offload_metric_tons') ->sum('offload_metric_tons'); // Format the numbers $allocatedFormatted = $allocatedQuantity ? rtrim(rtrim(number_format($allocatedQuantity, 2, '.', ''), '0'), '.') : '0'; $completedFormatted = $completedQuantity ? rtrim(rtrim(number_format($completedQuantity, 2, '.', ''), '0'), '.') : '0'; @endphp {{ $completedFormatted }}/{{ $allocatedFormatted }} | {{ $transporter->created_at ? $transporter->created_at->format('d/m/Y H:i A') : 'null' }} | @php $class = match ($transporter->pivot->status ?? JobTransporter::STATUS_PENDING) { JobTransporter::STATUS_PENDING => 'pending-tag', JobTransporter::STATUS_IN_PROGRESS => 'in-progress-tag', JobTransporter::STATUS_COMPLETED => 'completed-tag', }; $statusLabel = match ($transporter->pivot->status ?? JobTransporter::STATUS_PENDING) { JobTransporter::STATUS_PENDING => 'pending', JobTransporter::STATUS_IN_PROGRESS => 'in progress', JobTransporter::STATUS_COMPLETED => 'completed', }; @endphp{{ ucwords($statusLabel) }} |