@extends('layouts.app') @section('content')
{{ __('attendance.date') }}: {{ $attendance->date->format('Y-m-d') }}
{{ __('attendance.status') }}: @if($attendance->status == 'present') {{ __('attendance.status_present') }} @elseif($attendance->status == 'absent') {{ __('attendance.status_absent') }} @elseif($attendance->status == 'late') {{ __('attendance.status_late') }} @elseif($attendance->status == 'early_departure') {{ __('attendance.status_early_leave') }} @else {{ __('attendance.unknown') }} @endif
{{ __('attendance.notes') }}: {{ $attendance->notes ?? __('attendance.no_notes') }}
{{ __('attendance.scheduled_check_in') }}: @if($attendance->scheduled_check_in) {{ $attendance->scheduled_check_in->format('H:i:s') }} @else {{ __('attendance.not_scheduled') }} @endif
{{ __('attendance.scheduled_check_out') }}: @if($attendance->scheduled_check_out) {{ $attendance->scheduled_check_out->format('H:i:s') }} @else {{ __('attendance.not_scheduled') }} @endif
{{ __('attendance.scheduled_work_duration') ?? 'مدة العمل المجدولة' }}: @if($attendance->scheduled_work_duration) {{ $attendance->scheduled_work_duration }} @else {{ __('attendance.not_scheduled') }} @endif
{{ __('attendance.actual_check_in') }}: @if($attendance->check_in) {{ $attendance->check_in->format('H:i:s') }} @else {{ __('attendance.not_checked_in') }} @endif
{{ __('attendance.actual_check_out') }}: @if($attendance->check_out) {{ $attendance->check_out->format('H:i:s') }} @else {{ __('attendance.not_checked_out') }} @endif
{{ __('attendance.work_duration') }}: @if($attendance->work_duration) {{ $attendance->work_duration }} @else {{ __('attendance.not_scheduled') }} @endif
' . __('attendance.duration_comparison') . ':'; if($comparison >= 0) { echo '+'.gmdate('H:i:s', abs($comparison)).' ' . __('attendance.more_than_scheduled') . ''; } else { echo ''.gmdate('H:i:s', abs($comparison)).' ' . __('attendance.less_than_scheduled') . ''; } echo '
'; } catch (\Exception $e) { // في حالة حدوث خطأ في التحويل، لا تظهر مقارنة echo '' . __('attendance.duration_comparison') . ': ' . __('attendance.invalid_data') . '
'; } @endphp @elseif($attendance->scheduled_work_duration){{ __('attendance.duration_comparison') }}: {{ __('attendance.invalid_data') }}
@endif @if($attendance->scheduled_check_in && $attendance->check_in) @php try { $scheduledIn = \Carbon\Carbon::createFromFormat('H:i:s', $attendance->scheduled_check_in->format('H:i:s')); $actualIn = \Carbon\Carbon::createFromFormat('H:i:s', $attendance->check_in->format('H:i:s')); $lateBy = $actualIn->diffInSeconds($scheduledIn, false); // سالب إذا كان متاخراً echo '' . __('attendance.early_late') . ':'; if($lateBy > 0) { echo '' . __('attendance.early_by') . ' ' . gmdate('H:i:s', $lateBy) . ''; } elseif($lateBy < 0) { echo '' . __('attendance.late_by') . ' ' . gmdate('H:i:s', abs($lateBy)) . ''; } else { echo '' . __('attendance.on_time') . ''; } echo '
'; } catch (\Exception $e) { // في حالة حدوث خطأ في التحويل، لا تظهر مقارنة echo '' . __('attendance.early_late') . ': ' . __('attendance.invalid_data') . '
'; } @endphp @endif{{ $attendance->employee->position?->name ?? __('attendance.not_scheduled') }}
{{ $attendance->employee->department?->name ?? __('attendance.not_scheduled') }}
| {{ __('attendance.date') }} | {{ __('attendance.actual_check_in') }} | {{ __('attendance.actual_check_out') }} | {{ __('attendance.work_duration') }} | {{ __('attendance.status') }} |
|---|---|---|---|---|
| {{ $related->date->format('Y-m-d') }} | {{ $related->check_in ? $related->check_in->format('H:i:s') : __('attendance.not_checked_in') }} | {{ $related->check_out ? $related->check_out->format('H:i:s') : __('attendance.not_checked_out') }} | {{ $related->work_duration ?? __('attendance.not_scheduled') }} | @if($related->status == 'present') {{ __('attendance.status_present') }} @elseif($related->status == 'absent') {{ __('attendance.status_absent') }} @elseif($related->status == 'late') {{ __('attendance.status_late') }} @elseif($related->status == 'early_departure') {{ __('attendance.status_early_leave') }} @else {{ __('attendance.unknown') }} @endif |