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).
ذات صلة
- قواعد التخصيص — تهيئة المحرك.
- الجداول وجولات التخصيص (مفهوم) · استكشاف خلل جولة غير مكتملة (مهمة) · المساواة
- Swagger:
/swagger· أوراق الحقائق 09 (جولات التخصيص)، 14 (المساواة).