@if (in_array(config('app.client_id'), [1800, 1801])) @endif
@forelse($breakdown as $key => $val) @php $asset = Assetdocs\Assets\Models\Asset::find($val->asset_id); $startTime = null; $endTime = null; if ($asset) { if ($asset->run_time_start && $asset->run_time_end) { $startTime = $asset->run_time_start; $endTime = $asset->run_time_end; } else { $subCategory = Assetdocs\Category\Models\SubCategory::find($asset->subcategory_id); if ($subCategory && $subCategory->run_time_start && $subCategory->run_time_end) { $startTime = $subCategory->run_time_start; $endTime = $subCategory->run_time_end; } else { $subClass =Assetdocs\Category\Models\SubClass::find($asset->subclass_id); if ($subClass && $subClass->run_time_start && $subClass->run_time_end) { $startTime = $subClass->run_time_start; $endTime = $subClass->run_time_end; } } } } // Duration of the breakdown if (empty($val->date_to)) { $dateFrom = Carbon::createFromFormat('Y-m-d H:i:s', $val->getOriginal('date_from') . ' ' . $val->getOriginal('time_from')); $breakdownEnd = Carbon::now(); } else { $dateFrom = Carbon::createFromFormat('Y-m-d H:i:s', $val->getOriginal('date_from') . ' ' . $val->getOriginal('time_from')); $breakdownEnd = Carbon::createFromFormat('Y-m-d H:i:s', $val->getOriginal('date_to') . ' ' . $val->getOriginal('time_to')); } $formattedDifference = secondsToDayHourMinutes($breakdownEnd->diffInSeconds($dateFrom)); // Calculate runtime overlap if ($startTime && $endTime) { $totalRuntime = 0; $currentTime = $dateFrom->copy(); while ($currentTime->lt($breakdownEnd)) { $currentDate = $currentTime->format('Y-m-d'); $dailyStart = Carbon::parse("$currentDate $startTime"); $dailyEnd = Carbon::parse("$currentDate $endTime"); if ($dailyEnd->lt($dailyStart)) { $dailyEnd->addDay(); } $dayStart = $currentTime->gt($dailyStart) ? $currentTime : $dailyStart; $dayEnd = $breakdownEnd->lt($dailyEnd) ? $breakdownEnd : $dailyEnd; if ($dayStart->lt($dayEnd)) { $totalRuntime += $dayEnd->diffInMinutes($dayStart); } $currentTime = $currentTime->copy()->startOfDay()->addDay(); } $basedOnRunTime = secondsToDayHourMinutes($totalRuntime * 60); // Convert minutes to seconds } else { $basedOnRunTime = '-'; } @endphp @empty @endforelse
From Date To Date Duration Duration on Op.Hrs Work Order Service Request Description
{{ $val->date_from . ' ' . $val->time_from }} {{ $val->date_to . ' ' . $val->time_to }} {{ $formattedDifference }} {{ $basedOnRunTime }} {{ $val->work_order_id ? 'WO-' . $val->work_order_id : '' }} {{ $val->service_request_id ? 'SR-' . $val->service_request_id : '' }} {{ ucfirst($val->description) }}
No Breakdown