@php $dateWiseTotalPresent = []; foreach ($dateList as $date) { $dateWiseTotalPresent[$date] = 0; } @endphp
@foreach($dateList as $date) @endforeach @foreach ($employees as $index => $employee) @php $attendanceSummary = $employee->attendanceSummary ->mapWithKeys(function ($item) { $status = $item->status; $first = strtoupper(trim($item->first_half_status)); $second = strtoupper(trim($item->second_half_status)); if ($first === 'A' && $second === 'A') { $status = 'A'; } elseif (in_array($item->on_duty, [2, 3, 4])) { $status = $item->status ?? '-'; } elseif ( ($first === 'P' || $first === 'HD') || ($second === 'P' || $second === 'HD') ) { $status = 'P'; } else { $status = $item->status ?? '-'; } if ($status === 'POH') { $status = 'HP'; } return [ $item->attendance_date => [ 'status' => $status, 'total_present' => $item->total_present, 'total_absent' => $item->total_absent, 'total_leave' => $item->total_leave, 'total_week_off'=> $item->total_week_off, 'total_national_holiday'=> $item->total_national_holiday, 'total_night_shift' => $item->total_night_shift, 'total_holiday' =>$item->total_holiday, ] ]; }) ->toArray(); @endphp @php $totalPresent = 0; $totalAbsent = 0; $totalLeave = 0; $totalWeekOff = 0; $totalNationalHoliday = 0; $nightShift = 0; $totalHoliday = 0; @endphp @foreach ($dateList as $index => $date) @php $totalPresent += isset($attendanceSummary[$date]['total_present']) ? $attendanceSummary[$date]['total_present'] : 0; $totalAbsent += isset($attendanceSummary[$date]['total_absent']) ? $attendanceSummary[$date]['total_absent'] : 0; $totalLeave += isset($attendanceSummary[$date]['total_leave']) ? $attendanceSummary[$date]['total_leave'] : 0; $totalWeekOff += isset($attendanceSummary[$date]['total_week_off']) ? $attendanceSummary[$date]['total_week_off'] : 0; $totalNationalHoliday += isset($attendanceSummary[$date]['total_national_holiday']) ? $attendanceSummary[$date]['total_national_holiday'] : 0; $nightShift += isset($attendanceSummary[$date]['total_night_shift']) ? $attendanceSummary[$date]['total_night_shift'] : 0; $totalHoliday += isset($attendanceSummary[$date]['total_holiday']) ? $attendanceSummary[$date]['total_holiday'] : 0; @endphp @endforeach @php $payDays = $totalPresent + $totalWeekOff + $totalHoliday + $totalLeave; $totalDays = \Carbon\Carbon::parse($startDate) ->diffInDays(\Carbon\Carbon::parse($endDate)) + 1; @endphp @endforeach
Period: ({{ \Carbon\Carbon::parse($startDate)->format('d-m-Y') }}) to ({{ \Carbon\Carbon::parse($endDate)->format('d-m-Y') }}) {{ date('d (D)', strtotime($date)) }}Total
S.No Emp Code Emp Name Sub Department P A L WO NH H N OD Paid Days Total Days
{{ $index + 1 }} {{ isset($employee->employee_code) && $employee->employee_code ? ucfirst($employee->employee_code) : ' ' }} {{ isset($employee->name) && $employee->name ? ucfirst($employee->name) : ' ' }} {{ isset($employee->subDepartment->name) && $employee->subDepartment->name ? ucfirst($employee->subDepartment->name) : ' ' }} {{ isset($attendanceSummary[$date]['status']) ? $attendanceSummary[$date]['status'] : '-' }} {{ $totalPresent }} {{ $totalAbsent }} {{ $totalLeave }} {{ $totalWeekOff }} {{ $totalNationalHoliday }} {{ $totalHoliday }} {{ $nightShift }} {{ $employee->od_count?? 0 }} {{ $payDays?? 0 }} {{ $totalDays?? 0 }}