@foreach ($dateList as $date) @endforeach @foreach ($leaveTypes as $leaveType) @endforeach @foreach ($dateList as $date) @endforeach @foreach ($leaveTypes as $leaveType) @endforeach @foreach ($employees as $employee) @php $dayPresence = 0; $nightPresence = 0; $absent = 0; $leave = []; $totalLeave = 0; $totalWeekOff = 0; $totalHoliday = 0; $holidayIncentiveDays = @$employee->payrollAttendance->holiday_incentive_days ?? 0; $extraDays = @$employee->payrollAttendance->payrollExtraDayAdditionalDetails->details[ 'pay_days' ] ?? 0; $ariyorDays = @$employee->payrollAttendance->ariyor_days ?? 0; $otHours = @$employee->payrollAttendance->overtime_details['overtime'][ 'calculated_overtime' ] ?? 0; $attendanceIncentive = @$employee->payrollAttendance->incentive_details['amount'] ?? 0; @endphp @foreach ($dateList as $date) @php $attSummary = $employee->attendanceSummary ->where('attendance_date', '=', $date) ->first(); if ($attSummary) { if (@$attSummary->shift_type == '1') { $attSummaryStatus = 'NP'; } else { $attSummaryStatus = 'DP'; } $extraDays += $attSummary->compensation->bal_day_count ?? 0; if ($attSummary->duty_type == 'incentive') { $incentiveDays++; } if (@$attSummary->attendance_type == 'absent' && @$attSummary->on_duty== '1') { $attSummaryStatus = 'A'; $absent++; } elseif ($attSummary->attendance_type == 'week-off') { $attSummaryStatus = 'OFF'; $totalWeekOff++; } elseif ($attSummary->attendance_type == 'holiday') { $attSummaryStatus = 'H'; $totalHoliday++; } elseif ((@$attSummary->first_half_status == 'HD' || @$attSummary->first_half_status == 'A') && (!in_array(@$attSummary->status, ['POH', 'POW']))) { $attSummaryStatus = 'A:' . $attSummaryStatus; $absent += 0.5; } elseif ((@$attSummary->second_half_status == 'HD' || @$attSummary->second_half_status == 'A') && (!in_array(@$attSummary->status, ['POH', 'POW']))) { $attSummaryStatus = $attSummaryStatus . ':A'; $absent += 0.5; } if ( @$attSummary->leave_type && (@$attSummary->first_half_status == 'L' || @$attSummary->second_half_status == 'L') ) { if (@$attSummary->day_count) { $totalLeave += $attSummary->day_count; } else { $totalLeave++; } $attSummaryStatus = strtoupper($attSummary->leave_type); if (!isset($leave[$attSummaryStatus])) { $leave[$attSummaryStatus] = 0; } if (@$attSummary->day_count) { $leave[$attSummaryStatus] += $attSummary->day_count; } else { $leave[$attSummaryStatus]++; } } } else { $attSummaryStatus = 'Inactive'; } $employeeLeaves = []; foreach ($employee->employeeLeaves as $l) { $employeeLeaves[strtoupper($l->leaveType->alias)] = $l; } if ($attSummaryStatus == 'NP') { $nightPresence++; } elseif ($attSummaryStatus == 'NP:A' || $attSummaryStatus == 'A:NP') { $nightPresence += 0.5; } if ($attSummaryStatus == 'DP') { $dayPresence++; } elseif ($attSummaryStatus == 'DP:A' || $attSummaryStatus == 'A:DP') { $dayPresence += 0.5; } @endphp @endforeach @foreach ($leaveTypes as $leaveType) @endforeach @endforeach