انتقل إلى المحتوى

API — الجداول وجولات التخصيص

الغرض

تشغيل محرك التخصيص (جولات التخصيص)، وفحص مرشَّحيها وعدم أهليتهم، وإدارة تعيينات الورديات، والجدول الخاص بالموظف، وعرض المساواة.

المصادقة والأدوار

Area Base Gates
Allocation runs /api/allocation-runs allocation_run.read / .write / .execute / .lock / .debug / .archive
Shift assignments /api/... roster.view / roster.create / roster.edit
My roster /api/me/roster [Authorize]
Equalization /api/admin/equalization reconciliation.view

allocation_run.execute/.lock لـ SYS_ADMIN + PLANNER؛ وallocation_run.debug لـ SYS_ADMIN فقط (انظر مصفوفة RBAC).

نقاط النهاية

Allocation runs/api/allocation-runs

Method Path Purpose Gate
GET / POST /api/allocation-runs سرد / إنشاء جولة read / write
GET / DELETE /api/allocation-runs/{id} تفصيل / أرشفة جولة read / archive
POST /api/allocation-runs/{id}/execute تشغيل المحرك allocation_run.execute
POST /api/allocation-runs/{id}/rerun إعادة التشغيل allocation_run.execute
POST /api/allocation-runs/{id}/review خطوة مراجعة بشرية allocation_run.write
POST /api/allocation-runs/{id}/lock قفل الجولة allocation_run.lock
GET /api/allocation-runs/{id}/candidates كل المرشَّحين read
GET /api/allocation-runs/{id}/candidates/{demandLineId} المرشَّحون لسطر read
GET /api/allocation-runs/{id}/candidates/{demandLineId}/ineligible أسباب عدم الأهلية لكل قاعدة allocation_run.debug

Shift assignments — القاعدة /api

Method Path Purpose Gate
GET /api/shift-assignments سرد التعيينات roster.view
GET /api/employees/{id}/shift-assignments · /shift-schedule تعيينات / جدول موظف roster.view
POST /api/employees/{id}/shift-assignments إنشاء تعيين roster.create
DELETE /api/shift-assignments/{id} إزالة تعيين roster.edit

My roster / Equalization

Method Path Purpose Gate
GET /api/me/roster جدول المُستدعي الخاص [Authorize]
GET /api/admin/equalization عرض درجات المساواة reconciliation.view

الأشكال والأخطاء

تستخدم الجولة التحضير المسبق للقطة وآلة حالات بوابتها بشرية (الورقة 09). تسجّل المساواة ثلاث قواعد فوج على اللقطة، وتُرجع درجة محايدة عند الرجوع إلى قاعدة البيانات (الورقة 14). ProblemDetails القياسي.

المزالق — نتائج الـ F

  • F6 — أسباب عدم الأهلية مُقيَّدة على allocation_run.debug (SYS_ADMIN فقط). أسباب استبعاد مرشَّح لكل قاعدة (أي قاعدة حظرته، ولماذا) مُحسوبة ومتاحة على …/candidates/{demandLineId}/ineligible، لكن لا يمكن استدعاؤها إلا لـ SYS_ADMIN. PLANNER يستكشف خللًا في جولة غير مكتملة لا يمكنه رؤية الأسباب عبر الواجهة المعتادة — البيانات موجودة على جانب الخادم؛ والقيد يخفيها. ابنِ/شخّص وفقًا لذلك.
  • F8 — طبقات المساواة وأسباب الإعارة عبر المجموعات مُحسوبة على جانب الخادم لكنها غير مُبرَزة في الواجهة. تصنيف طبقات المساواة Below/At/Above (وأسباب حظر العبر-مجموعات، انظر المجموعات) يُنتجها المحرك لكن الواجهة الأمامية لا تعرضها. المطوّر المستهلك لـ /api/admin/equalization يحصل على الدرجات؛ أما ثراء الطبقة/السبب فهو في حساب الخادم، لا في الشاشة المعروضة.
  • زر "Execute" في الويب جزئي (PARTIAL)؛ ومُعبِّئ فوج ShiftMix جزئي (PARTIAL) (الورقة 09).

ذات صلة