1. الخلاصة في سطرين
طبقة التخطيط موجودة بالفعل ومش ناقصة — في تخطيط على مستوى الموديول (MPS → MRP → أوامر مخططة → CRP/Pegging/نواقص) وتخطيط على مستوى الأمر (تفجير الـBOM → مواد الأمر → الحجز → جاهزية المواد في Order Cockpit). الـ«Phase B» الي بدأته كان بيكرّر جاهزية المواد الموجودة أصلاً من Phase 1 — فأوقفته ورجّعته. المطلوب الحقيقي: (أ) نفهم الطبقات صح، (ب) ننظّم الواجهة (48 لينك في 11 مجموعة → 8 مجموعات نضيفة)، (ج) نحسّن الجاهزية الموجودة بدل ما نكرّرها.
2. الموديول كله — منظّم في 8 أقسام
الموديول فيه ~50 شاشة. منطقيًا بتتقسم لـ 8 أقسام (دي أساس تنظيم الواجهة في القسم 6):
① لوحة + بيانات أساسية
الداشبورد · مراكز الإنتاج · BOM · الروتينج · العُدد · التقويمات · التكلفة المعيارية · الدفعات (Batches) · شهادات التحليل (COA)
② التخطيط والجدولة مستوى الموديول
MRP Cockpit · MPS (الجدول الرئيسي) · CRP (الطاقة) · Capacity board · (لوحة الأوامر المخططة + Pegging + النواقص داخل MRP)
③ أوامر الإنتاج مستوى الأمر
قائمة الأوامر · Order Cockpit (شاشة الأمر الواحد: جاهزية + pegging + قيود + دورة الحياة) · BMR
④ أرضية المصنع (Shop Floor)
التجهيز (Staging) · صرف المواد · التأكيدات · الترمينال (المشغّل) · البورد (المشرف) · بوابة QC
⑤ الأمانة (Toll)
عقود الأمانة · إنشاء أمر من العقد · الدفعة المقدّمة · فاتورة أجر التصنيع · تسوية الأمانة
⑥ الجودة والامتثال
الاستدعاء (Recall) + التتبّع · COA · قفل الفترات/التدقيق (محاسبي)
⑦ التكاليف والتحليلات (الأكبر — ~18 شاشة)
الهامش · الهالك · ربحية المركز · CVP · ربحية العملاء · WIP aging · فروق الموازنة · معياري-مقابل-فعلي · التسعير · تكلفة الجودة · Make-or-Buy · فروق العمالة · المرافق · TCO الأصول · سلامة GL · R&D · إلخ
⑧ الذكاء والتنبيهات
KPI · التنبيهات الذكية · Cost-AI (الـ6 مميزات)
3. طبقات التخطيط (الموجودة) — وعلاقتها
المستوى الأول: تخطيط على مستوى الموديول (Demand → Supply)
الطلبأوامر بيع + MPS (تنبؤ)
MRP (صافي الاحتياج)RunMrp: netting
أوامر مخططةmake/buy · proposed→firmed
Pegging + CRP + نواقصتتبّع + طاقة + عجز
Convert→ أمر إنتاج/طلب شراء حقيقي
| الطبقة | الكيان | بتنتج إيه | الحالة |
| MPS (الجدول الرئيسي) | MfgMpsHeader/Line | كميات منتج/فترة (تنبؤ أو سحب من المبيعات) | موجود draft→approved |
| MRP (صافي الاحتياج) | RunMrp + MfgMrpPlannedOrder | أوامر مخططة (تصنيع/شراء) بعد خصم المتاح + lot-sizing + تفجير BOM متعدّد المستويات | موجود |
| Pegging | MfgPegging | أي أمر يخدم أي طلب بيع (تتبّع عرض↔طلب) | موجود |
| CRP (الطاقة) | MfgCrpLoad + التقويمات | حِمل كل مركز إنتاج أسبوعيًا مقابل الطاقة المتاحة | موجود |
| النواقص + الاستثناءات | missingParts + MfgMrpException | قائمة العجز (شراء + تصنيع متأخر) + طابور قرارات المخطِّط | موجود |
المستوى الثاني: تخطيط على مستوى الأمر الإنتاجي
أمر إنتاجمن MRP أو يدوي/أمانة
تفجير BOM→ مواد الأمر (own/customer/split)
جاهزية الموادOrder Cockpit readiness
الإطلاق + الحجزيحجز الملكي فقط
أرضية المصنعتجهيز/صرف/تأكيد
| الطبقة | الكيان/الشاشة | بتعمل إيه | الحالة |
| مواد الأمر | ProductionOrderMaterial | خطة الخامات للأمر + الملكية والانقسام (Phase A) | موجود |
| جاهزية المواد | GET /orders/{id}/readiness (OrderCockpit) | لكل مادة: المتوفّر مقابل المطلوب + تلميح المصدر (PO/WO)، تحذير فقط | موجود من Phase 1 |
| الحجز | ReleaseProductionOrder | يحجز مخزون المكوّن عند الإطلاق (الملكي فقط — Phase A) | موجود |
4. الفرق: تخطيط الموديول vs تخطيط الأمر
| تخطيط الموديول (MRP/MPS) | تخطيط الأمر (Cockpit) |
| السؤال | «إيه اللي محتاج أصنّعه/أشتريه عبر كل الطلب؟» | «الأمر ده جاهز يتطلق دلوقتي؟» |
| النطاق | كل الطلب (دفعة) — مستقبلي | أمر واحد — لحظي قبل الإطلاق |
| المخرج | أوامر مخططة + نواقص + طاقة + pegging | جاهزية مادة-بمادة + تلميح المصدر |
| الأمانة | بتتخطّاها (العميل يوفّر الخامة) | تدخلها (لكن جزء العميل = «في انتظار خامة العميل») |
الاستنتاج
الاتنين مكمّلين مش متكرّرين: MRP يخطّط الاحتياج عبر كل الطلب؛ الـCockpit يتأكد إن الأمر الواحد جاهز. التخطيط موظّف صح بينهم — مفيش طبقة مفقودة.
5. ليه «Phase B» كان غلط — والتصحيح
التكرار الي حصل
«Phase B» الي بدأته أنشأ PlanningController::materialReadiness + MaterialReadinessService — وده بيكرّر OrderCockpitController::readiness الموجود من Phase 1 (commit 9d3bd2ec9). الاتنين: لكل أمر، لكل مادة، متوفّر مقابل مطلوب، تحذير فقط. ✅ رجّعته بالكامل (BE + FE) للحالة النضيفة.
التوظيف الصح (بدل التكرار)
- تحسين الجاهزية الموجودة (Cockpit) بدل تكرارها: نخليها واعية بالملكية (own/customer/split من Phase A) — تعرض «في انتظار خامة العميل» لجزء العميل ولا تحسبه عجزًا على المصنع. تحسين صغير على الموجود، مش خدمة موازية.
- الفجوة الحقيقية الوحيدة (اختياري): «تتبّع خامة العميل» لأوامر الأمانة (هل وصلت ولا لأ؟) — معلوماتي، مش مانع. وده بيتكامل مع Phase C (دفتر الأمانة) لما نعمله.
- المخطِّط له شاشته بالفعل: MRP Cockpit + النواقص + CRP. مفيش داعي «لوحة تخطيط» جديدة منفصلة.
6. تنظيم الواجهة (المطلب الأساسي)
الوضع الحالي: 11 مجموعة · 48 لينك، والتقارير مبعثرة على 3 مجموعات (Cost Reports / Analytics / Cross-Module) رغم إنها كلها /factory/reports/*. المقترح: 8 مجموعات نضيفة منظّمة بالوظيفة مش بالـ«Phase».
| المجموعة المقترحة | الشاشات |
| ① لوحة + بيانات أساسية | الداشبورد · المراكز · BOM · الروتينج · العُدد · التقويمات · التكلفة المعيارية |
| ② التخطيط والجدولة | MRP Cockpit · MPS · CRP/الطاقة (دمج «Capacity Planning» + «Capacity» المكرّرتين) |
| ③ أوامر الإنتاج | قائمة الأوامر · Order Cockpit · BMR |
| ④ أرضية المصنع | التجهيز · الصرف · التأكيدات · الترمينال · البورد |
| ⑤ الأمانة | عقود الأمانة · تسوية الأمانة (تنقل هنا من Analytics) · فاتورة الأجر |
| ⑥ الجودة والامتثال | COA · الاستدعاء · قفل الفترات/التدقيق |
| ⑦ التكاليف والتحليلات (مجموعة واحدة بعناوين فرعية) | تقارير تشغيلية (هامش/هالك/مركز) · تحليلات مالية (CVP/ربحية/WIP/موازنة/معياري-فعلي) · تسعير واستراتيجية (التسعير/CoQ/Make-or-Buy/R&D) · تخصيص عبر الموديولات (عمالة/مرافق/TCO/سلامة GL) |
| ⑧ الذكاء والتنبيهات | KPI · التنبيهات · Cost-AI |
قرارات الواجهة المطلوبة
- الـ18 شاشة تكلفة: تتجمّع في مجموعة واحدة «التكاليف والتحليلات» بعناوين فرعية قابلة للطي (موصى به)، ولا تفضل مجموعات منفصلة؟
- «Supplier Scorecard» و«Landed Cost» تابعين لموديول المشتريات — نشيلهم من واجهة المصنع ولا نسيبهم كاختصار للقراءة؟
- توحيد المسارات: نخلي كل التقارير تحت
/factory/reports/* فعليًا (بعضها دلوقتي في الجذر زي /factory/pricing)؟
7. التوصية والخطوات الجاية
- 1) تنظيم الواجهة أولاً (أعلى قيمة، بدون مخاطرة محاسبية): إعادة تجميع التنقّل لـ 8 مجموعات + دمج المكرّرات (Capacity) + تجميع التقارير. تغيير FE فقط (nav + ترتيب)، مفيش لمس للمنطق.
- 2) تحسين الجاهزية الموجودة (تحسين صغير، مش تكرار): نخلي
OrderCockpit::readiness واعية بالملكية (own/customer/split) — تعرض «في انتظار خامة العميل» لجزء العميل.
- 3) Phase C (الأمانة والاستلاف — الأثقل، بقراراتك: تكلفة العميل المعلنة · تسوية = شراء · تتبّع بدفعات وصلاحية) — وده بياخد «تتبّع خامة العميل» معاه طبيعيًا.
السؤال
أبدأ بـ (1) تنظيم الواجهة دلوقتي؟ وبعدها (2) تحسين الجاهزية، ثم (3) Phase C؟ أو ترتيب تاني؟