{{-- Header --}}

📊 تقرير مفصل للعضو

نظام فريق الوفاء الذهبي - تم إنشاء التقرير في {{ now()->format('Y-m-d H:i') }}

{{-- User Info Card --}}

معلومات العضو

{{-- Stats Grid --}}
{{ number_format($stats['total_points']) }}
إجمالي النقاط
{{ number_format($stats['evaluation_points']) }}
نقاط التقييمات
{{ number_format($stats['total_activity_hours'], 1) }}
ساعات الأنشطة
{{ $stats['won_competitions'] }}
مسابقات فائزة
{{-- التقييمات اليومية مع الملاحظات --}}

📋 التقييمات اليومية (آخر 20 تقييم)

@if($dailyPointsData->count() > 0)
@foreach($dailyPointsData->take(20) as $evaluation) @endforeach
التاريخ النقاط المُقيِّم ملاحظات التقييم
{{ $evaluation->evaluation_date->format('Y/m/d') }} {{ $evaluation->total_daily_points }} نقطة {{ $evaluation->evaluator->name ?? 'غير محدد' }} {{ $evaluation->evaluator_notes ?: '—' }}
المجموع {{ $dailyPointsData->sum('total_daily_points') }} نقطة
@if($dailyPointsData->count() > 20)

* تم عرض آخر 20 تقييم فقط من أصل {{ $dailyPointsData->count() }} تقييم

@endif @else
📋

لا توجد تقييمات معتمدة بعد

@endif
{{-- الأنشطة الحية --}} @if(count($activitiesData) > 0)

🎯 الأنشطة الحية ({{ $stats['confirmed_activities'] }} نشاط)

@foreach($activitiesData as $type => $activities)

{{ $type }} ({{ $activities->count() }} نشاط)

@if($type === 'قيست') @foreach($activities as $guest) @endforeach @else @foreach($activities as $activity) @endforeach @endif
العنوان التاريخ المدة (ساعة) النقاط
{{ $guest->guest_description ?? 'بدون وصف' }} {{ $guest->activity_date->format('Y/m/d') }} {{ number_format($guest->actual_hours, 2) }} {{ $guest->bonus_points ?? 0 }} نقطة
{{ $activity->title ?? 'بدون عنوان' }} {{ optional($activity->scheduled_date)->format('Y/m/d') ?? 'غير محدد' }} {{ number_format(($activity->duration_hours ?? 0) + (($activity->duration_minutes ?? 0) / 60), 2) }} {{ $activity->participant_points ?? 0 }} نقطة
المجموع {{ number_format($totalHoursByActivityType[$type] ?? 0, 2) }} ساعة {{ number_format($activities->sum($type === 'قيست' ? 'bonus_points' : 'participant_points')) }} نقطة
@endforeach
@endif {{-- المسابقات الفائزة --}} @if($wonCompetitions->count() > 0)

🏆 المسابقات الفائزة ({{ $wonCompetitions->count() }})

@foreach($wonCompetitions as $participant) @endforeach
المسابقة تاريخ الفوز النقاط الرتب
{{ $participant->competition->title ?? 'غير محدد' }} {{ optional($participant->updated_at)->format('Y/m/d') ?? 'غير محدد' }} {{ $participant->awarded_points ?? 0 }} نقطة {{ optional($participant->competition->rank)->name ?? 'بدون رتبة' }}
المجموع {{ $wonCompetitions->sum('awarded_points') }} نقطة
@endif {{-- التكريمات والمكافآت --}} @if($honorsRewards->count() > 0)

التكريمات والمكافآت ({{ $honorsRewards->count() }})

@foreach($honorsRewards as $recipient) @endforeach
النوع والعنوان التاريخ النقاط الرتب
{{ $recipient->type === 'honor' ? 'تكريم' : 'مكافأة' }} {{ $recipient->title ?? 'غير محدد' }} {{ $recipient->awarded_at ? $recipient->awarded_at->format('Y/m/d') : 'غير محدد' }} @if($recipient->points_awarded && $recipient->points_amount) {{ $recipient->points_amount }} نقطة @else — @endif @if($recipient->rank_awarded && $recipient->rank_name) {{ $recipient->rank_name }} @else — @endif
المجموع {{ $honorsRewardsPoints }} نقطة
@endif {{-- المخالفات --}} @if($violations->count() > 0)

⚠️ المخالفات والإنذارات ({{ $violations->count() }})

@foreach($violations as $violationMember) @endforeach
النوع العنوان التاريخ النقاط المخصومة
{{ $violationMember->violation->type === 'warning' ? 'إنذار' : 'مخالفة' }} {{ $violationMember->violation->title ?? 'غير محدد' }} {{ optional($violationMember->created_at)->format('Y/m/d') ?? 'غير محدد' }} -{{ $violationMember->violation->points_deducted ?? 0 }} نقطة
المجموع @php $totalDeducted = $violations->sum(function ($violationMember) { return $violationMember->violation->points_deducted ?? 0; }); @endphp -{{ $totalDeducted }} نقطة
@endif {{-- الغيابات --}} @if($absences->count() > 0)

📅 سجل الغيابات ({{ $absences->count() }})

@foreach($absences as $absence) @endforeach
التاريخ النوع ملاحظات
{{ $absence->evaluation_date->format('Y/m/d') }} {{ $absence->attendance_status === 'absent_without_excuse' ? 'غياب بدون عذر' : 'غياب بعذر' }} {{ $absence->excuse_reason ?? '—' }}
بدون عذر: {{ $absences->where('attendance_status', 'absent_without_excuse')->count() }} | بعذر: {{ $absences->where('attendance_status', 'absent_with_excuse')->count() }}
@endif {{-- طلبات الغياب --}} @if($absenceRequests->count() > 0)

📝 طلبات الغياب ({{ $absenceRequests->count() }})

@foreach($absenceRequests as $request) @endforeach
التاريخ السبب المدة الحالة ملاحظات الإدارة
{{ optional($request->created_at)->format('Y/m/d') ?? 'غير محدد' }} {{ $request->excuse_reason ?? 'غير محدد' }} {{ optional($request->from_date)->diffInDays($request->to_date) + 1 ?? 0 }} يوم @if($request->status == 'approved') مقبول @elseif($request->status == 'rejected') مرفوض @else معلق @endif {{ $request->admin_notes ?? '—' }}
مقبولة: {{ $absenceRequests->where('status', 'approved')->count() }} | مرفوضة: {{ $absenceRequests->where('status', 'rejected')->count() }} | معلقة: {{ $absenceRequests->where('status', 'pending')->count() }}
@endif {{-- الرتب الحالية --}} @if($userRanks->count() > 0)

🎖️ الرتب الحالية ({{ $userRanks->count() }})

@foreach($userRanks as $rank) @endforeach
الرتبة الوصف تاريخ الحصول عليها
@if($rank->icon) {{ $rank->icon }} @endif {{ $rank->name }} {{ $rank->description ?? '—' }} {{ $rank->awarded_at ? $rank->awarded_at->format('Y/m/d') : 'غير محدد' }}
@endif {{-- Footer --}}

تم إنشاء هذا التقرير بواسطة نظام فريق الوفاء الذهبي

© {{ date('Y') }} جميع الحقوق محفوظة