تنبيهات الغياب وعتبات المخاطر
تطبق Kononia مراقبة الغياب التلقائية. عندما يفتقد أحد الأعضاء العديد من الخدمات أو الفصول الدراسية المجدولة، يقوم النظام بإطلاق التنبيهات وجدولة عمليات تسجيل الوصول الرعوية.
1. مشغل تقييم المخاطر
يتم التعامل مع حساب حالات الغياب المتتالية مباشرة داخل قاعدة البيانات عبر مشغل trg_update_attendance_stats الذي يتم تشغيله بعد كل تحديث للحضور.
غياب التدفق المنطقي
[Attendance Logged]
│
├──► Status ∈ {'present', 'late'}
│ │
│ └──► Reset consecutive_absences = 0
│ Set at_risk_flag = false
│
└──► Status = 'absent'
│
├──► Query threshold from org_settings_kv
│ (Default to 3 if not defined)
│
└──► Increment consecutive_absences
IF consecutive_absences >= threshold:
Set at_risk_flag = true
2. تكوين عتبة المنظمة
يمكن للمؤسسات ضبط مستوى التسامح قبل رفع التنبيهات.
- كيان التخزين:
public.org_settings_kv - اسم المفتاح: “absence_alert_threshold”
- واجهة مستخدم الإعدادات: تقع ضمن الإعدادات > الحضور والتنبيهات. يمكن للمسؤولين تحديد القيم القياسية (على سبيل المثال، 3 أو 4 أو 6 غيابات متتالية) والتي يتم تخزينها كأعداد صحيحة في كتلة قيمة JSONB.
3. الارتقاء إلى الرعاية الرعوية
بمجرد تحديث “at_risk_flag” لجهة الاتصال إلى “صحيح”، يقوم النظام بتصعيد المشكلة تلقائيًا.
وظيفة كرون ليلا
تعمل قاعدة البيانات auto_generate_absence_pastoral_cases() كل ليلة عبر pg_cron.
- تعريف الهدف: يبحث عن الأعضاء ذوي
at_risk_flag = trueوالذين ليس لديهم حالة غياب مفتوحة. - تعيين الراعي: يبحث عن أسرة العضو عبر
family_membersويحدد الراعي المعين للعائلة (families.signed_servant_id). - إنشاء الحالة الرعوية: إدراج سجل جديد في
public.pastoral_casesالذي يحتوي على تفاصيل الغائبين.- إذا كانت قيمة حالات الغياب المتتالية هي $\ge 6$، فسيتم وضع علامة على الأولوية عاجل.
- إذا كانت حالات الغياب المتتالية بين الحد الأدنى و5$، فسيتم وضع علامة على الأولوية عادي.
- إجراء الخادم: يتم تعيين الحالة مباشرة إلى الراعي، وتظهر على لوحة التحكم المحمولة الخاصة به كطلب زيارة “متابعة غياب” معلق.