# 15 — التقارير والإعدادات

## نظرة عامة

تقارير شاملة (مالية + حضور) مع صفحات إعدادات قابلة للتخصيص لكل أكاديمية. بالإضافة إلى سجل التدقيق وأدوات SuperAdmin.

---

## شاشات التقارير

### 1. صفحة التقارير الرئيسية (`/reports`)

**من يراها:** من لديه صلاحية `reports.view`

**المحتوى:** بطاقات تنقل لكل تقرير متاح:
- التقرير المالي
- تقرير الحضور
- طباعة التقرير المالي اليومي

---

### 2. التقرير المالي (`/reports/financial`)

**من يراها:** من لديه صلاحية `reports.view`

**الفلاتر:**
- الفترة (من - إلى)
- الفرع

**المحتوى:**
| القسم | الوصف |
|-------|-------|
| إجمالي الإيرادات | مجموع المدفوعات المؤكدة |
| إجمالي الفواتير الصادرة | عدد + مبلغ |
| فواتير مدفوعة | عدد + مبلغ |
| فواتير متأخرة | عدد + مبلغ |
| نسبة التحصيل | المحصّل ÷ المستحق |
| توزيع طرق الدفع | كاش / كارت / محفظة / تحويل |
| أعلى 10 مشتركين ديون | قائمة |

---

### 3. تقرير الحضور (`/reports/attendance`)

**من يراها:** من لديه صلاحية `reports.attendance`

**الفلاتر:**
- الفترة (من - إلى)
- المجموعة
- المشترك

**المحتوى:**
| القسم | الوصف |
|-------|-------|
| نسبة الحضور العامة | % |
| توزيع الحالات | حاضر / متأخر / غائب / مستأذن |
| أعلى حضور | أفضل 10 مشتركين |
| أقل حضور | أسوأ 10 مشتركين |
| حضور المدربين | نسبة لكل مدرب |

---

### 4. طباعة التقرير المالي اليومي (`/reports/daily-print`)

**من يراها:** من لديه صلاحية `reports.view`

**صفحة قابلة للطباعة:**
- تاريخ اليوم
- إجمالي المدفوعات
- تفصيل حسب طريقة الدفع
- تفصيل حسب البند (اشتراكات / منتجات)
- الورديات وأرصدتها

---

### 5. التصدير

| الرابط | المحتوى |
|--------|---------|
| `/export/participants` | قائمة المشتركين (Excel) |
| `/export/payments` | المدفوعات (Excel) |
| `/export/invoices` | الفواتير (Excel) |
| `/export/enrollments` | التسجيلات (Excel) |

---

## شاشات الإعدادات

### 6. إعدادات الأكاديمية (`/settings`)

**من يراها:** من لديه صلاحية `settings.view`

**الحقول:**
- اسم الأكاديمية (عربي + إنجليزي)
- الشعار
- العنوان
- هاتف التواصل
- البريد الإلكتروني
- الموقع الإلكتروني

---

### 7. إعدادات العلامة التجارية (`/settings/branding`)

**من يراها:** من لديه صلاحية `settings.manage`

**الحقول:**
- الشعار الرئيسي
- اللون الأساسي
- اللون الثانوي
- نص الذيل
- أيقونة الـ Favicon

---

### 8. إعدادات الإيصالات (`/settings/receipts`)

**من يراها:** من لديه صلاحية `settings.manage`

**الحقول:**
- ترويسة الإيصال
- تذييل الإيصال
- إظهار الشعار
- إظهار QR
- حجم الخط
- عرض الورقة

---

### 9. إعدادات النظام (`/settings/system`)

**من يراها:** من لديه صلاحية `settings.manage`

**أمثلة (محفوظة في جدول `system_settings`):**
| المفتاح | النوع | الوصف |
|---------|-------|-------|
| grace_period_participants | integer | فترة سماح التأخير (دقائق) |
| grace_period_trainers | integer | فترة سماح المدربين (دقائق) |
| consecutive_absence_threshold | integer | غيابات قبل الإيقاف |
| min_attendance_percent | integer | نسبة الحضور الأدنى |
| max_discount_percent | integer | حد أقصى للخصم |
| currency | string | العملة |
| timezone | string | المنطقة الزمنية |
| sms_gateway | string | بوابة SMS |
| auto_generate_sessions_days | integer | عدد أيام توليد الحصص مسبقاً |
| enrollment_auto_activate | boolean | تفعيل تلقائي بعد الدفع |
| waitlist_response_hours | integer | مهلة الرد على قائمة الانتظار |

---

## سجل التدقيق

### 10. سجل التدقيق (`/audit`)

**من يراها:** من لديه صلاحية `audit.list`

**الفلاتر:**
- المستخدم
- الكيان (participants, invoices, etc.)
- العملية (created, updated, deleted)
- الفترة

**أعمدة:**
| العمود | الوصف |
|--------|-------|
| التاريخ | created_at |
| المستخدم | user.name |
| العملية | action |
| الكيان | auditable_type |
| القيم القديمة | old_values (JSON) |
| القيم الجديدة | new_values (JSON) |
| IP | ip_address |

**خصائص:**
- لا يمكن تعديل أو حذف سجلات التدقيق (IMMUTABLE)
- السجلات المالية تُحفظ للأبد
- السجلات غير المالية تُحذف بعد سنة (`audit:cleanup --days=365`)

---

## لوحة SuperAdmin

### 11. لوحة مدير النظام (`/admin`)

**من يراها:** من لديه صلاحية `super_admin.access`

**المحتوى:**
- قائمة الأكاديميات
- تفعيل/تعطيل أكاديمية
- إعدادات النظام العامة
- عدد المستخدمين لكل أكاديمية

---

### 12. إعدادات النظام العامة (`/admin/system-settings`)

**من يراها:** من لديه صلاحية `settings.manage`

**إعدادات على مستوى المنصة (ليست لأكاديمية واحدة).**

---

## لوحات متخصصة

### 13. لوحة المدرب (`/trainer`)

**من يراها:** المدرب ورئيس المدربين

**المحتوى:**
- حصص اليوم (مع أزرار تسجيل الحضور)
- عدد المشتركين في كل حصة
- حصص تم تسجيل حضورها ✓
- ملخص إحصائي

---

### 14. لوحة ولي الأمر (`/guardian`)

**من يراها:** من لديه دور "parent"

**المحتوى:**
- قائمة الأبناء
- لكل ابن:
  - الحالة الحالية
  - نسبة الحضور
  - آخر تقييم
  - الفواتير المعلقة
  - الاشتراكات النشطة

---

## التقرير الأسبوعي لأولياء الأمور

**المهمة المجدولة:** `reports:parent-weekly` (السبت 12:00)

**المحتوى:**
- ملخص حضور الأسبوع لكل ابن
- أي غيابات
- أي تقييمات جديدة
- أي فواتير مستحقة

---

## أمثلة عملية

### مثال 1: مالك أكاديمية يراجع أداء الشهر
> 1. يفتح `/reports/financial`
> 2. يختار "هذا الشهر"
> 3. يرى: إيرادات 150,000 ج.م، نسبة تحصيل 85%
> 4. يرى فواتير متأخرة: 15 فاتورة بقيمة 22,500 ج.م
> 5. يقرر: تكثيف التحصيل

### مثال 2: رئيس مدربين يراجع الحضور
> 1. يفتح `/reports/attendance`
> 2. يصفّي: مجموعة "ناشئين"
> 3. يرى: نسبة الحضور 72% (أقل من 75%)
> 4. يحدد المشتركين الأقل حضوراً
> 5. يتواصل مع أولياء أمورهم

### مثال 3: ضبط إعدادات جديدة
> 1. المدير يريد تغيير فترة السماح من 15 إلى 10 دقائق
> 2. يفتح `/settings/system`
> 3. يغيّر `grace_period_participants` = 10
> 4. من الآن: أي حضور بعد 10 دقائق = "متأخر"

---

## لماذا يحتاج عملك هذا

| الميزة | الفائدة |
|--------|---------|
| التقرير المالي | نظرة شاملة على صحة العمل |
| تقرير الحضور | كشف المشتركين غير الملتزمين |
| التصدير | مشاركة البيانات مع المحاسب أو الشريك |
| الإعدادات المرنة | كل أكاديمية تضبط النظام حسب احتياجها |
| سجل التدقيق | لا أحد يستطيع التلاعب بدون أثر |
| التقرير الأسبوعي | تواصل دوري مع أولياء الأمور = ثقة |
| لوحات متخصصة | كل شخص يرى ما يهمه فقط |
