@if ($mecPlannerEnabled)
@php
$mwsCalPlanTypeOrder = ['RVP', 'CVP', 'SVP', 'DRP', 'ERP', 'PMP'];
$mwsCalVisitTypeCounts = [];
foreach ($mwsCalDayVisits as $_mecCalVisit) {
$_pt = strtoupper(trim((string) ($_mecCalVisit['plan_type'] ?? '')));
if ($_pt === '' || $_pt === 'PLAN') {
$_pt = 'PLAN';
}
$mwsCalVisitTypeCounts[$_pt] = ($mwsCalVisitTypeCounts[$_pt] ?? 0) + 1;
}
$mwsCalSummaryTypesShown = [];
@endphp
@foreach ($mwsCalPlanTypeOrder as $_mwsCalPt)
@php $_mwsCalCnt = (int) ($mwsCalVisitTypeCounts[$_mwsCalPt] ?? 0); @endphp
@if ($_mwsCalCnt > 0)
{{ $_mwsCalCnt }} x {{ $_mwsCalPt }}
@php $mwsCalSummaryTypesShown[] = $_mwsCalPt; @endphp
@endif
@endforeach
@foreach ($mwsCalVisitTypeCounts as $_mwsCalPt => $_mwsCalCnt)
@if (! in_array($_mwsCalPt, $mwsCalSummaryTypesShown, true) && $_mwsCalCnt > 0)
{{ $_mwsCalCnt }} x {{ $_mwsCalPt }}
@endif
@endforeach
@if ($mwsCalDayMeetings->count() > 0)
{{ $mwsCalDayMeetings->count() }} x Meeting
@endif
@else
@php $mwsCalSlotsShown = 0; $mwsCalSlotsMax = 4; @endphp
@foreach ($mwsCalDayVisits as $visit)
@if ($mwsCalSlotsShown >= $mwsCalSlotsMax) @break @endif
@php $mwsCalSlotsShown++; @endphp
@endforeach
@foreach ($mwsCalDayMeetings as $m)
@if ($mwsCalSlotsShown >= $mwsCalSlotsMax) @break @endif
@php
$mwsCalEvClass = $mwsCalEventClassByStatus[$m->status->value] ?? 'mws-cal-event--draft';
$mwsCalTypeWf = \App\Services\PC\MwsSchemeMeetingWorkflowHelper::normalizeWorkflowType($m->meeting_type ?? null);
$mwsCalTypeRaw = trim((string) ($m->meeting_type ?? ''));
$mwsCalTypeLabel = match ($mwsCalTypeWf) {
'pre-pdwp' => 'Pre-PDWP',
'pdwp' => 'PDWP',
'ddwp' => 'DDWP',
default => (strcasecmp($mwsCalTypeRaw, 'general') === 0
|| (function_exists('is_general_mws_meeting_type')
&& is_general_mws_meeting_type($mwsCalTypeRaw)
&& ! is_rrc_mws_meeting_type($mwsCalTypeRaw))
? 'General'
: ($mwsCalTypeRaw !== '' ? $mwsCalTypeRaw : 'Meeting')),
};
$mwsCalSubject = trim((string) ($m->title ?? ''));
$mwsCalStart = \Illuminate\Support\Str::substr((string) $m->start_time, 0, 5);
$mwsCalEnd = \Illuminate\Support\Str::substr((string) $m->end_time, 0, 5);
$mwsCalRange = trim($mwsCalStart.($mwsCalEnd !== '' ? ' – '.$mwsCalEnd : ''));
$mwsCalStatusLabel = trim((string) ($m->status?->label() ?? ''));
$mwsCalPriorityLabel = trim((string) ($m->priority?->label() ?? ''));
$mwsCalLocation = trim((string) ($m->location ?? ''));
$mwsCalAria = $mwsCalSubject !== '' ? $mwsCalSubject : $mwsCalTypeLabel;
@endphp
{{ $mwsCalTypeLabel }}
{{ $mwsCalSubject !== '' ? $mwsCalSubject : $mwsCalTypeLabel }}
@if ($mwsCalRange !== '')
Time
{{ $mwsCalRange }}
@endif
@if ($mwsCalStatusLabel !== '')
Status
{{ $mwsCalStatusLabel }}
@endif
@if ($mwsCalPriorityLabel !== '')
Priority
{{ $mwsCalPriorityLabel }}
@endif
@if ($mwsCalLocation !== '')
Location
{{ $mwsCalLocation }}
@endif
@php $mwsCalSlotsShown++; @endphp
@endforeach
@if ($mwsCalDayEventCount > $mwsCalSlotsMax)
+{{ $mwsCalDayEventCount - $mwsCalSlotsMax }} more
@endif
@endif