🏭 خطة داش بورد الإنتاج الاحترافية

من «7 مربعات + رسمة واحدة» → لوحة قيادة كاملة (Mission Control) · مبنية على البيانات الموجودة فعلًا في الباك إند

1. الخلاصة

الداشبورد الحالية (/factory) بسيطة جدًا: 7 مربعات عدّ + رسمة bar واحدة (أوامر حسب الحالة)، وبتحسب client-side من 3 services. لكن طبقة التحليلات غنية جدًا وموجودة بالفعل على الباك إند ومش مستغَلّة: KPI كامل (عائد/هالك/في-الموعد/استغلال الطاقة/WIP/إنتاجية/زمن الدورة) + 14+ تقرير + 9 تنبيهات ذكية + طابور أرضية المصنع + أحمال CRP. **الخطة**: نبني endpoint تجميعي واحد بالباك إند (يقلّد LisDashboardService الموجود) ونعيد بناء صفحة الهبوط لتعرض كل ده بشكل احترافي (زي داشبورد المعمل/المبيعات).

2. البيانات الجاهزة (هنبني عليها — مش من الصفر)

المصدر الموجودبيوفّر إيه
GET /production/reports/kpi موجودعائد% · هالك% · إعادة-تشغيل% · تسليم-في-الموعد% · استغلال الطاقة% · قيمة WIP + عددها · الإنتاجية · متوسط زمن الدورة · أوامر مكتملة · اتجاه الفروق
GET /production/orders/status-counts موجودعدد الأوامر لكل حالة + الإجمالي
GET /production/reports/summary موجودكميات (مخطط/منتَج/هالك) + تكاليف مخطط مقابل فعلي (مواد/عمالة/أوفرهيد)
GET /production/reports/{efficiency, variance, wip-aging, scrap, margin, std-vs-actual} موجودكفاءة المراكز · فروق التكلفة · أعمار WIP · الهالك · الهامش · معياري-مقابل-فعلي
GET /production/shopfloor/queue + /board موجودعمليات حيّة: جاهزة / قيد التشغيل / معلّقة
GET /production/mrp/kpis + /mrp/crp-loads موجودأحمال المراكز مقابل الطاقة + استثناءات/نواقص MRP
GET /production/alerts موجود9 تنبيهات ذكية مجمّعة بالخطورة
القرار المعماري (backend-first): endpoint واحد جديد GET /production/dashboard?date_from&date_to&branch_id يجمّع كل ده في نداء واحد (بدل 6-7 نداءات)، مع كاش 60 ثانية وصلاحية production.reports.view — تمامًا زي LisDashboardController/Service.

3. تصميم اللوحة (mock تقريبي)

صفّان فلاتر أعلى + شريط KPI + شريط «اليوم» الحيّ + لوحات رسوم + جداول تفصيلية + تنبيهات. كل widget مربوط بمصدره.

لوحة الإنتاج
🗓️ الفترة · الفرع · آخر تحديث · ⟳
العائد %
97.5%
الهالك %
2.5%
في الموعد %
92.1%
استغلال الطاقة %
78.5%
قيمة WIP
125,432
الإنتاجية
2,840
متوسط زمن الدورة
5.3 يوم
أوامر مكتملة
38
⚙️ قيد التشغيل الآن
12
⏰ أوامر متأخرة
3
📦 نواقص مواد
2
🔥 مراكز فوق الطاقة
1
🍩 الأوامر حسب الحالة
مخطط/مُطلق/قيد/مكتمل/مغلق — donut + كميات (مخطط/منتَج/هالك)
📊 التكلفة: مخطط مقابل فعلي
مواد · عمالة · أوفرهيد · إجمالي — أعمدة مجمّعة + شارة الفرق
📈 اتجاه الإنتاجية + العائد
خط أسبوعي/شهري
🏭 استغلال مراكز العمل
أعمدة أفقية: الحِمل مقابل الطاقة (الزائد بالأحمر)
⏰ أوامر متأخرة
رقم الأمر · المنتج · أيام التأخير · الأولوية → Cockpit
🏆 أعلى المنتجات
بالكمية/التكلفة/الهامش
⚠️ أعلى فروق الأوامر
مخطط مقابل فعلي · الفرق%
🔔 التنبيهات الذكية
مجمّعة بالخطورة (حرِجة/عالية/متوسطة) — من /production/alerts
القسمالـ widgetالمصدر
شريط KPI8 مؤشرات (عائد/هالك/موعد/طاقة/WIP/إنتاجية/دورة/مكتمل) + دلتا مقابل الفترة السابقةdashboard.headline (من kpi)
شريط «اليوم» الحيّقيد التشغيل · متأخرة · نواقص · مراكز فوق الطاقة (دايمًا الآن مهما كانت الفترة) + كلها قابلة للنقرshopfloor/queue · late · mrp exceptions · crp
الأوامرdonut بالحالة + كميات مخطط/منتَج/هالكstatus-counts · summary
التكلفةأعمدة مجمّعة مخطط مقابل فعلي (مواد/عمالة/أوفرهيد) + الفرقsummary.costs
الاتجاهاتخط الإنتاجية الأسبوعية + اتجاه العائد/الفروقkpi.variance_trend + trends
مراكز العملأعمدة أفقية حِمل/طاقة (الزائد محدَّد)reports/capacity · crp-loads
جداولأوامر متأخرة · أعلى منتجات · أعلى فروقdashboard.late_orders · top_products · variance
تنبيهاتقائمة مجمّعة بالخطورةalerts

4. الباك إند جديد

5. الواجهة إعادة بناء

6. خطوات التنفيذ

7. أسئلة للقرار (قبل ما أبني)

  • الفترة الافتراضية: الشهر الحالي؟ آخر 30 يوم؟ اليوم؟
  • الفرع: نضيف فلتر فرع (متعدد الفروع) ولا شركة واحدة يكفي؟
  • أهم 8 KPIs في الصف العلوي: الترتيب اللي اقترحته كويس، ولا في مؤشر أهم تحب يطلع فوق (مثلًا OEE، تكلفة الوحدة، الهامش)؟
  • شاشة /factory/kpi المنفصلة: ندمجها هنا ونلغيها، ولا نسيبها؟
  • النقر على المربعات: يفلتر القوائم/يفتح الشاشات؟ (موصى به)
  • OEE (Availability × Performance × Quality): نحسبه ونضيفه كمؤشر مميّز؟ (البيانات متاحة من العمليات + التأكيدات).

التوصية

نبدأ بالباك إند (الـ endpoint التجميعي) لأنه الأساس، وبالتوازي نتفق على ترتيب الـ widgets. وافق على الخطة (أو عدّل) وأبدأ فورًا.