@extends('layouts.hirbnd') @section('title', 'Out of Order Report') @push('styles') @endpush @section('content') @php // ✅ LOGIKA DATA TIDAK DIUBAH - TETAP SAMA! // Process OOO data for matrix if($month === 'all') { // All months view: Room x Month $rooms = []; $monthlyOOO = []; foreach($oooData as $ooo) { $rooms[$ooo->Room_No] = $ooo->Room_Class ?? 'GENERIC'; // Get month from Begin_Date $beginMonth = strtolower(date('F', strtotime($ooo->Begin_Date))); if(!isset($monthlyOOO[$ooo->Room_No][$beginMonth])) { $monthlyOOO[$ooo->Room_No][$beginMonth] = 0; } $monthlyOOO[$ooo->Room_No][$beginMonth]++; } // Calculate totals per month $monthTotals = []; foreach(['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december'] as $monthName) { $monthTotals[$monthName] = 0; foreach($monthlyOOO as $roomData) { $monthTotals[$monthName] += $roomData[$monthName] ?? 0; } } } else { // Single month view: Room x Day $rooms = []; $dailyOOO = []; foreach($oooData as $ooo) { $beginMonth = strtolower(date('F', strtotime($ooo->Begin_Date))); // Only show OOO that started in selected month if($beginMonth === $month) { $rooms[$ooo->Room_No] = $ooo->Room_Class ?? 'GENERIC'; $day = (int) date('d', strtotime($ooo->Begin_Date)); if(!isset($dailyOOO[$ooo->Room_No][$day])) { $dailyOOO[$ooo->Room_No][$day] = 0; } $dailyOOO[$ooo->Room_No][$day]++; } } // Calculate totals per day $dayTotals = []; $daysInMonth = cal_days_in_month(CAL_GREGORIAN, date('n', strtotime($month)), 2025); for($day = 1; $day <= $daysInMonth; $day++) { $dayTotals[$day] = 0; foreach($dailyOOO as $roomData) { $dayTotals[$day] += $roomData[$day] ?? 0; } } } @endphp
Track rooms that are currently out of order and unavailable
All rooms are currently operational for {{ $month === 'all' ? 'all months' : ucfirst($month) }}.
| Room | @foreach(['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] as $monthName){{ $monthName }} | @endforeach|
|---|---|---|
| {{ $monthTotals[$monthName] }} | @endforeach||
| Room {{ $room }} ({{ $roomClass }}) | @foreach(['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december'] as $monthName) @php $count = $monthlyOOO[$room][$monthName] ?? 0; @endphp @if($count > 0)@else | - | @endif @endforeach
| Room | @for($day = 1; $day <= $daysInMonth; $day++){{ $day }} | @endfor|
|---|---|---|
| {{ $dayTotals[$day] }} | @endfor||
| Room {{ $room }} ({{ $roomClass }}) | @for($day = 1; $day <= $daysInMonth; $day++) @php $count = $dailyOOO[$room][$day] ?? 0; @endphp @if($count > 0)@else | - | @endif @endfor