شرح سريع لاستيراد الحضور

1. المهمة المجدولة
- تم إضافة أمر Artisan: `attendance:mark-absent` يقوم بإنشاء إجازات معتمدة تلقائياً للموظفين الذين ليس لديهم حضور ولم يكن لديهم إجازة معتمدة لنفس اليوم.
- تمت جدولة الأمر ليعمل يوميًا في `app/Console/Kernel.php` عند الساعة `23:59`.

2. كيف تشغل Scheduler
- على Linux: ضع هذا السطر في crontab لتشغيل مجدول لارافيل كل دقيقة:

  * * * * * cd /path/to/project && php artisan schedule:run >> /dev/null 2>&1

- على Windows: استخدم Task Scheduler لتشغيل `php artisan schedule:run` بصورة منتظمة (مثلاً كل دقيقة).

3. استيراد الحضور
- صفحة الرفع: `GET /attendance/import` (محمية برخصة الدخول). استعمل النموذج لرفع CSV مرسوم وفق الأعمدة التالية:
  - `employee_id` أو `national_id` (اختر من القائمة في النموذج)
  - `date` بصيغة `YYYY-MM-DD`
  - `check_in` بصيغة `HH:MM` (اختياري)
  - `check_out` بصيغة `HH:MM` (اختياري)

4. ملاحظات حول خصم الرواتب
- في الإصدار الحالي لا يُطبق خصم راتب تلقائيًا عند إنشاء الإجازة الآلية. الإجازة تُنشأ بحالة `approved` وبدون وسم خصم تلقائي.
- إذا أردت قواعد خصم تلقائي (تحويل إلى `unpaid` أو تطبيق خصم مالي بناءً على الرصيد اليومي)، أحتاج أن تحدد القاعدة التي ترغب بها.

5. تحسينات مستقبلية
- دعم Excel/XLSX عبر مكتبة `maatwebsite/excel` لمعالجة ملفات كبيرة.
- إمكانية تشغيل أمر تطبيق خصومات على الرواتب تلقائيًا بعد إنشاء الإجازات الآلية.

