سجل العضوية والدليل الكنسي

تسجيل المشاركة والأتمتة المعرضة للخطر

تتميز Kononia بنظام تتبع مزدوج الطبقة لمراقبة نشاط الأعضاء: نظام تشغيل قائم على الأحداث في الوقت الفعلي لمراقبة الحضور، وحساب دفعة ليلية لتحليلات المشاركة المعقدة.

تسجيل المشاركة والأتمتة المعرضة للخطر

تتميز Kononia بنظام تتبع مزدوج الطبقة لمراقبة نشاط الأعضاء: نظام تشغيل قائم على الأحداث في الوقت الفعلي لمراقبة الحضور، وحساب دفعة ليلية لتحليلات المشاركة المعقدة.


1. الحضور في الوقت الحقيقي وتتبع المخاطر

تقوم قاعدة البيانات بمراقبة سجلات الحضور على الفور بمجرد إنشائها أو تعديلها لوضع علامة على الأعضاء المفقودين.

آلية التحفيز (trg_update_attendance_stats)

يعمل هذا المشغل AFTER INSERT على public.attendance_records لتنفيذ الوظيفة update_person_attendance_stats().

  • السجل الحالي/المتأخر: إذا تم تسجيل حالة الشخص على أنها “حاضر” أو “متأخر”، فإن النظام:
    1. يضبط “الغياب_المتتالي” على “0”.
    2. قم بتعيين “at_risk_flag” على “خطأ”.
    3. تحديث `آخر_حضور_في’ لوقت تسجيل الوصول أو تاريخ الحضور.
  • سجل الغياب: إذا تم تسجيل حالة الشخص على أنه “غائب”، فإن النظام:
    1. ابحث عن حد التحذير المخصص للمؤسسة في “public.org_settings_kv” (تحت المفتاح “absence_alert_threshold”). إذا لم تتم تهيئته، فسيتم تعيينه افتراضيًا على 3 حالات غياب.
    2. زيادة الغياب_المتتالي بمقدار 1.
    3. قم بتعيين “at_risk_flag” على “صحيح” إذا كان عدد الغياب الجديد يصل إلى الحد الأدنى أو يتجاوزه.

2. تحليلات التفاعل الليلي (‘people_engagement_scores`)

بالنسبة للاتجاهات الأكثر تعقيدًا (مثل أنماط التبرع، وتكرار المتطوعين، والمشاركة في الفصل)، تستخدم Kononia وجهة نظر مادية مخصصة.

  • وحدة التخزين: people_engagement_scores
  • جدول التنفيذ: يتم تحديثه ليلاً عبر pg_cron.
  • تصميم الأداء: يتم فصل التجميعات عالية التعقيد (على سبيل المثال، الجمع بين آخر 90 يومًا من الحضور، وإجمالي التبرعات، وعضويات المجموعة النشطة) عن جداول المعاملات الرئيسية. وهذا يضمن بقاء عمليات البحث وعرض لوحة المعلومات سريعة خلال ساعات الذروة في مدارس الأحد/القداس.

3. إنشاء الحالات الرعوية آليًا

عندما يتم وضع علامة على أحد الأعضاء على أنه “في خطر” بسبب غيابه المتتالي، يقوم النظام تلقائيًا بتصعيد المشكلة إلى الموظفين المحليين.

  • وظيفة الزناد: auto_generate_absence_pastoral_cases()
  • الجدول: يتم تنفيذه ليلاً عبر pg_cron.
  • منطق الأتمتة:
    1. يحدد جميع الأشخاص ذوي at_risk_flag = true والذين ليس لديهم حالة رعوية نشطة ومفتوحة من النوع غياب_تلقائي.
    2. حل مشكلة الراعي المعين لأسرتهم عبر families.designed_servant_id.
    3. يقوم تلقائيًا بإدراج سجل جديد في public.pastoral_cases بمستوى أولوية عاجل'' (إذا كانت حالات الغياب المتتالية $\ge 6$) أو عادية”.
    4. يتم تهيئة الملاحظات تلقائيًا لإخطار الخادم بتسجيل زيارة منزلية أو مكالمة هاتفية.