{{-- resources/views/superadmin/users/reports/left_user.blade.php --}} تقرير مفصل للعضو المغادر - {{ $user->name }}

تقرير مفصل للعضو المغادر

{{ $user->name }}

تاريخ المغادرة: {{ $user->left_at ? $user->left_at->format('Y/m/d') : 'غير محدد' }}

المعلومات الأساسية

@if($user->became_official_at) @endif
الاسم الكامل: {{ $user->name }}
البريد الإلكتروني: {{ $user->email }}
اسم المستخدم: {{ $user->username ?: 'غير محدد' }}
الجنس: {{ $user->gender === 'male' ? 'ذكر' : 'أنثى' }}
نوع العضوية: {{ $user->membership_status === 'official' ? 'عضو رسمي' : 'عضو بيتا' }}
تاريخ الانضمام: {{ $user->joined_at ? $user->joined_at->format('Y/m/d') : 'غير محدد' }}
تاريخ الترقية لرسمي: {{ $user->became_official_at->format('Y/m/d') }}
المدة في الفريق: @if($user->joined_at && $user->left_at) {{ $user->joined_at->diffInDays($user->left_at) }} يوم ({{ $user->joined_at->diffInMonths($user->left_at) }} شهر) @else غير محدد @endif
سبب المغادرة: {{ $user->left_reason ?: 'غير محدد' }}

الإحصائيات العامة

إجمالي النقاط: {{ number_format($stats['total_points']) }} نقطة
نقاط التقييمات اليومية: {{ number_format($stats['evaluation_points']) }} نقطة
إجمالي الأنشطة: {{ $stats['total_activities'] }} نشاط
إجمالي ساعات الأنشطة: {{ number_format($stats['total_activity_hours'], 2) }} ساعة
مسابقات تم الفوز بها: {{ $stats['won_competitions'] }} مسابقة
التكريمات والمكافآت: {{ $stats['honors_rewards'] }}
المخالفات والإنذارات: {{ $stats['violations_count'] }}
عدد حالات الغياب: {{ $stats['absences_count'] }} حالة
طلبات الغياب: {{ $stats['absence_requests_count'] }} طلب

نقاط التقييم اليومي

@if($dailyPointsData->count() > 0) @foreach($dailyPointsData as $evaluation) @endforeach
التاريخ النقاط
{{ $evaluation->evaluation_date->format('Y/m/d') }} {{ $evaluation->total_daily_points }} نقطة
المجموع {{ $dailyPointsData->sum('total_daily_points') }} نقطة
@else
لا توجد تقييمات يومية مسجلة لهذا العضو.
@endif

الأنشطة واللايفات

@if(count($activitiesData) > 0) @foreach($activitiesData as $type => $activities)

{{ $type == 'guest' ? 'قستات' : ($type == 'live' ? 'لايفات' : ($type == 'tour' ? 'جولات' : $type)) }}

@foreach($activities as $activity) @endforeach
العنوان التاريخ المدة (ساعة) النقاط
{{ $activity->title ?? 'بدون عنوان' }} {{ optional($activity->scheduled_date)->format('Y/m/d') ?? 'غير محدد' }} {{ ($activity->duration_hours ?? 0) + (($activity->duration_minutes ?? 0) / 60) }} @php $participant = $activity->participants()->where('user_id', $user->id)->first(); @endphp {{ $participant ? ($participant->total_points ?? 0) : 0 }} نقطة
المجموع {{ number_format($totalHoursByActivityType[$type] ?? 0, 2) }} ساعة @php $totalPoints = $activities->sum(function ($activity) use ($user) { $participant = $activity->participants()->where('user_id', $user->id)->first(); return $participant ? ($participant->total_points ?? 0) : 0; }); @endphp {{ number_format($totalPoints) }} نقطة

@endforeach @else
لا توجد أنشطة مسجلة لهذا العضو.
@endif

المسابقات التي فاز بها

@if($wonCompetitions->count() > 0) @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') }} نقطة
@else
لم يفز هذا العضو بأي مسابقة.
@endif

التكريمات والمكافآت

@if($honorsRewards->count() > 0) @foreach($honorsRewards as $recipient) @endforeach
النوع والعنوان التاريخ النقاط الرتب
{{ $recipient->honorReward->type === 'honor' ? 'تكريم' : 'مكافأة' }}: {{ $recipient->honorReward->title ?? 'غير محدد' }} {{ optional($recipient->awarded_at)->format('Y/m/d') ?? 'غير محدد' }} @if($recipient->points_awarded && $recipient->honorReward->points_amount) {{ $recipient->honorReward->points_amount }} نقطة @else - @endif @if($recipient->rank_awarded && $recipient->honorReward->rank_id) {{ optional($recipient->honorReward->rank)->name ?? 'غير محدد' }} @else - @endif
المجموع @php $totalHonorPoints = $honorsRewards->sum(function ($recipient) { return $recipient->points_awarded ? ($recipient->honorReward->points_amount ?? 0) : 0; }); @endphp {{ $totalHonorPoints }} نقطة
@else
لا توجد تكريمات أو مكافآت مسجلة لهذا العضو.
@endif

المخالفات والإنذارات

@if($violations->count() > 0) @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 }} نقطة
@else
لا توجد مخالفات أو إنذارات مسجلة لهذا العضو.
@endif

سجل الغيابات

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

طلبات الغياب المقدمة

@if($absenceRequests->count() > 0) @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->count() }} | مقبولة: {{ $absenceRequests->where('status', 'approved')->count() }} | مرفوضة: {{ $absenceRequests->where('status', 'rejected')->count() }}
@else
لم يقدم هذا العضو أي طلبات غياب.
@endif