@extends('fronted.layout.main') @section('adcontent') @php $currentYear = date('Y') @endphp @if ($message = Session::get('attendaneSaved')) @endif
@csrf Employee List @php $sno = 1 @endphp @foreach ($allEmployees as $emp) @endforeach
S. No Name Mark Attendance Attendance Sheet Attendance Attendance Count Worked Days Salary Amount Action
{{ $sno++ }} {{ strtolower($emp->candidate_name) }}
@php if (request()->has('selectedMonth')) { $selectedMonth = request('selectedMonth'); } else { $selectedMonth = date('m'); } $currentYear = date('Y'); $daysInMonth = cal_days_in_month( CAL_GREGORIAN, $selectedMonth, $currentYear, ); $startDate = now() ->setMonth($selectedMonth) ->firstOfMonth() ->format('Y-m-d'); $endDate = now()->setMonth($selectedMonth)->endOfMonth()->format('Y-m-d'); $empAttendance = DB::table('emp_attendances') ->select('date', 'status') ->where('employee_id', $emp->id) ->whereBetween('date', [$startDate, $endDate]) ->get(); @endphp @foreach (range(1, $daysInMonth) as $day) @php $dateToCheck = $currentYear . '-' . $selectedMonth . '-' . sprintf('%02d', $day); $attendanceForDay = $empAttendance->firstWhere('date', $dateToCheck); @endphp @if ($attendanceForDay)
@if ($attendanceForDay->status == 'P') {{ $day }} @elseif($attendanceForDay->status == 'A') {{ $day }} @elseif($attendanceForDay->status == 'L') {{ $day }} @elseif($attendanceForDay->status == 'H') {{ $day }} @else {{ $day }} @endif
@else
{{ $day }}
@endif @endforeach
@php $totalPresent = DB::table('emp_attendances') ->where('employee_id', $emp->id) ->where('status', 'P') ->whereBetween('date', [$startDate, $endDate]) ->count(); // Calculate total Absent $totalAbsent = DB::table('emp_attendances') ->where('employee_id', $emp->id) ->whereBetween('date', [$startDate, $endDate]) ->where('status', 'A') ->count(); // Calculate total Half Day $totalHalfDay = DB::table('emp_attendances') ->where('employee_id', $emp->id) ->whereBetween('date', [$startDate, $endDate]) ->where('status', 'H') ->count(); // Calculate total Leave $totalLeave = DB::table('emp_attendances') ->where('employee_id', $emp->id) ->whereBetween('date', [$startDate, $endDate]) ->where('status', 'L') ->count(); @endphp
P({{ $totalPresent }})
A({{ $totalAbsent }})
H({{ $totalHalfDay }})
L({{ $totalLeave }})
{{ $emp->attendanceForCurrentMonth['totalPresent'] }} {{ $emp->attendanceForCurrentMonth['totalWorkingDays'] }} @php $currentCalculationSalary = round(($emp->current_salary / $emp->attendanceForCurrentMonth['totalDayInMonth']),2) * ($emp->attendanceForCurrentMonth['totalPresent']) @endphp {{ $currentCalculationSalary }}
@endsection