@if($type === 'month_wise')
{{ __('Attendance report') }} — {{ Carbon::create($year, $month, 1)->format('F Y') }}
@else
{{ __('Attendance report') }} — {{ $start_date }} {{ __('to') }} {{ $end_date }}
@endif
P {{ __('Present') }}
D {{ __('Delay') }}
{{ __('Extra delay') }}
A {{ __('Absent') }}
L {{ __('Leave') }}
½ {{ __('Half leave') }}
W {{ __('Weekend') }}
H {{ __('Holiday') }}
| {{ __('Date') }} |
{{ __('Status') }} |
{{ __('In time') }} |
{{ __('Out time') }} |
{{ __('Remarks') }} |
@if(($year != null || $month != null) && $type === 'month_wise')
@for($day = 1; $day <= Carbon::create($year, $month, 1)->daysInMonth; $day++)
@php
$currentDate = Carbon::create($year, $month, $day)->format('Y-m-d');
$displayStatus = null;
$badgeClass = 'absent';
$inTime = null;
$outTime = null;
$remarks = null;
foreach ($salesData as $sale) {
if ($sale->date == $currentDate) {
$displayStatus = $sale->status;
$badgeClass = match ($sale->status) {
'P' => 'present',
'D' => 'delay',
'E' => 'extra',
default => 'default',
};
if ($sale->status != 'L') {
$inTime = $sale->signIn ? date('h:i A', strtotime($sale->signIn)) : null;
$outTime = $sale->signOut ? date('h:i A', strtotime($sale->signOut)) : null;
}
$remarks = $sale->remarks;
break;
}
}
if ($displayStatus === null) {
foreach ($half_leaves ?? [] as $halfItem) {
$halfDate = is_object($halfItem) ? $halfItem->date : $halfItem;
if ($halfDate == $currentDate) {
$displayStatus = __('Half Leave');
$badgeClass = 'half';
break;
}
}
}
if ($displayStatus === null) {
foreach ($weekend_data as $weekend) {
if (date('l', strtotime($currentDate)) == $weekend) {
$displayStatus = __('W');
$badgeClass = 'weekend';
break;
}
}
}
if ($displayStatus === null) {
foreach ($leave_data as $leave) {
if ($leave == $currentDate) {
$displayStatus = __('L');
$badgeClass = 'leave';
break;
}
}
}
if ($displayStatus === null) {
$displayStatus = __('A');
$badgeClass = 'absent';
}
@endphp
|
{{ $currentDate }}
({{ date('l', strtotime($currentDate)) }})
|
{{ $displayStatus }}
|
{{ $inTime ?? '—' }} |
{{ $outTime ?? '—' }} |
{!! $remarks ?: '—' !!} |
@endfor
@elseif($start_date && $end_date)
@php
$startDate = Carbon::parse($start_date);
$endDate = Carbon::parse($end_date);
@endphp
@for ($date = $startDate->copy(); $date->lte($endDate); $date->addDay())
@php
$dateStr = $date->format('Y-m-d');
$displayStatus = null;
$badgeClass = 'absent';
$inTime = null;
$outTime = null;
$remarks = null;
foreach ($salesData as $sale) {
if ($dateStr == $sale->date) {
$displayStatus = $sale->status;
$badgeClass = match ($sale->status) {
'P' => 'present',
'D' => 'delay',
'E' => 'extra',
default => 'default',
};
$inTime = $sale->signIn ? date('h:i A', strtotime($sale->signIn)) : null;
$outTime = $sale->signOut ? date('h:i A', strtotime($sale->signOut)) : null;
$remarks = $sale->remarks;
break;
}
}
if ($displayStatus === null) {
foreach ($half_leaves ?? [] as $halfItem) {
if ($dateStr == $halfItem->date) {
$displayStatus = $halfItem->status;
$badgeClass = 'half';
break;
}
}
}
if ($displayStatus === null) {
foreach ($weekend_data as $weekend) {
if ($date->format('l') == $weekend) {
$displayStatus = __('W');
$badgeClass = 'weekend';
break;
}
}
}
if ($displayStatus === null) {
foreach ($holiday_data as $holiday) {
if ($dateStr == $holiday) {
$displayStatus = __('H');
$badgeClass = 'holiday';
break;
}
}
}
if ($displayStatus === null) {
foreach ($leave_data as $leave) {
if ($dateStr == $leave) {
$displayStatus = __('L');
$badgeClass = 'leave';
break;
}
}
}
if ($displayStatus === null) {
$displayStatus = __('A');
$badgeClass = 'absent';
}
@endphp
|
{{ $date->format('Y-m-d') }}
({{ $date->format('l') }})
|
{{ $displayStatus }}
|
{{ $inTime ?? '—' }} |
{{ $outTime ?? '—' }} |
{!! $remarks ?: '—' !!} |
@endfor
@endif
@if($salesData != null)
@endif