{{-- HEADER --}}
نظام فريق الوفاء الذهبي — تقرير عضو

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

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

العضو: {{ $user->name }}
@if(!empty($user->username))
المعرّف: {{ '@' . $user->username }}
@endif
الرقم التعريفي (ID): {{ $user->id }}
{{-- USER CARD --}}
صورة {{ $user->name }}
{{ $user->name }}
ملف عضو في نظام الوفاء الذهبي
البريد: {{ $user->email }}
@if(!empty($user->username))
المعرّف: {{ '@' . $user->username }}
@endif
حالة العضوية: {{ $user->membership_status }} @if($user->isLeft) مغادر من التيم @if($user->left_at) — منذ {{ $user->left_at->format('Y/m/d') }} @endif @else عضو حالي فعّال @endif @if($user->account_status !== 'active') حالة الحساب: {{ $user->account_status }} @endif
ملخص سريع لأداء العضو Total Performance Snapshot
إجمالي النقاط
{{ number_format($stats['total_points']) }}
نقاط التقييمات
{{ number_format($stats['evaluation_points']) }}
ساعات الأنشطة
{{ number_format($stats['total_activity_hours'], 1) }}
المسابقات الفائزة
{{ $stats['won_competitions'] }}
{{-- 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
التاريخ النقاط المُقيِّم ملاحظات التقييم
{{ optional($evaluation->evaluation_date)->format('Y/m/d') ?? 'غير محدد' }} {{ $evaluation->total_daily_points }} نقطة {{ optional($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) @php $hours = ($activity->duration_hours ?? 0) + (($activity->duration_minutes ?? 0) / 60); @endphp @endforeach @endif
العنوان / الوصف التاريخ المدة (ساعات) النقاط
{{ $guest->guest_description ?? 'بدون وصف' }} {{ optional($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($hours, 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
المسابقة تاريخ الفوز النقاط الرتبة الممنوحة
{{ optional($participant->competition)->title ?? 'غير محدد' }} {{ optional($participant->won_at)->format('Y/m/d') ?? 'غير محدد' }} {{ $participant->awarded_points ?? 0 }} نقطة {{ optional($participant->awardedRank)->name ?? 'بدون رتبة' }}
المجموع {{ $wonCompetitions->sum('awarded_points') }} نقطة
@endif {{-- التكريمات والمكافآت --}} @if($honorsRewards->count() > 0)

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

@foreach($honorsRewards as $recipient) @endforeach
النوع والعنوان التاريخ النقاط الرتبة
{{ $recipient->type === 'honor' ? 'تكريم' : 'مكافأة' }} {{ $recipient->title ?? 'غير محدد' }} {{ optional($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 ($vm) { return $vm->violation->points_deducted ?? 0; }); @endphp -{{ $totalDeducted }} نقطة
@endif {{-- الغيابات --}} @if($absences->count() > 0)

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

@foreach($absences as $absence) @endforeach
التاريخ النوع ملاحظات
{{ optional($absence->evaluation_date)->format('Y/m/d') ?? 'غير محدد' }} @if($absence->attendance_status === 'absent_without_excuse') غياب بدون عذر @else غياب بعذر @endif {{ $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) @php $days = ($request->from_date && $request->to_date) ? $request->from_date->diffInDays($request->to_date) + 1 : 0; @endphp @endforeach
تاريخ الطلب سبب الغياب المدة الحالة ملاحظات الإدارة
{{ optional($request->created_at)->format('Y/m/d') ?? 'غير محدد' }} {{ $request->excuse_reason ?? 'غير محدد' }} {{ $days }} يوم @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 ?? '—' }} {{ optional($rank->awarded_at)->format('Y/m/d') ?? 'غير محدد' }}
@endif {{-- FOOTER --}}

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

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