API — الطلب
الغرض
خطط الطلب (مصفوفة التغطية المطلوبة حسب التاريخ/المحطة/الوردية) وقوالب الطلب (أشكال قابلة لإعادة الاستخدام تطبّقها لإنشاء خطة).
المصادقة والأدوار
- خطط الطلب — القاعدة
/api/demand/plans· قراءةdemand.read، كتابةdemand.write(SYS_ADMIN + HR_ADMIN + PLANNER). - قوالب الطلب — القاعدة
/api/demand/templates· قراءةdemand.template_read، تطبيقdemand.write.
انظر مصفوفة RBAC.
نقاط النهاية
Demand plans — /api/demand/plans
| Method | Path | Purpose | Gate |
|---|---|---|---|
| GET | /api/demand/plans |
سرد الخطط (قابلة للترشيح حسب التاريخ/المحطة/الحالة) | demand.read |
| POST | /api/demand/plans |
إنشاء خطة | demand.write |
| GET | /api/demand/plans/{id} |
تفصيل الخطة (المصفوفة) | demand.read |
| PATCH | /api/demand/plans/{id} |
تحرير الخلايا / الحالة | demand.write |
| DELETE | /api/demand/plans/{id} |
حذف خطة | demand.write |
Demand templates — /api/demand/templates
| Method | Path | Purpose | Gate |
|---|---|---|---|
| GET | /api/demand/templates · /{id} |
سرد / قراءة القوالب | demand.template_read |
| POST | /api/demand/templates/{id}/apply |
تطبيق قالب (تشغيل تجريبي + تثبيت) | demand.write |
الأشكال والأخطاء
للخطة آلة حالات وسطح لتحرير الخلايا؛ ويدعم تطبيق القالب تشغيلًا تجريبيًا ثم تثبيتًا (الورقة 08). تحرير خطة مقفلة يُرجع 409. ProblemDetails القياسي.
المزالق
DemandPlanStatus.Lockedقيمة تعداد معرَّفة لكن لا يمكن الوصول إليها (F1). يعلن التعدادLocked، لكن لا مسار شفرة ينقل خطة إليها — نشر جدول لا يقفل خطة طلبه. عاملLockedكميتة للخطط؛ لا تكتب منطقًا يفترض أن خطة يمكن أن تبلغها.- 409 تحرير المقفل لا يزال موجودًا في عقد الـ API لخلايا الخطة، لكن حالة
Lockedعلى مستوى الخطة نفسها لا يمكن الوصول إليها — هذان شيئان مختلفان؛ والحارس على مستوى الخلية حقيقي. - أسباب الطلب المُشار إليها من الخطط تُدار عبر admin CRUD (
/api/admin/demand-reasons) وتُقرأ عبر عمليات البحث.
ذات صلة
- الطلب (مفهوم) · إنشاء خطة طلب (مهمة)
- Swagger:
/swagger· ورقة الحقائق 08 (تخطيط الطلب).