Moon ERP · Knowledge Base · Module Map

موديول التصنيع (Manufacturing / Production)

خريطة شاملة للموديول كله — الباك (Laravel) والفرونت (Angular) ومشروع محاسبة التكاليف بمراحله — مجمّعة من فحص الكود الفعلي + خطط الـ KB، تمهيدًا للنقاش عليه.

📅 19 يونيو 2026 🧠 المصدر: الكود الحي (BE+FE) + KB plans 🗂️ 47 موديل · 49 شاشة 🌿 الفرع: hazemdev2
📄 المرجع النصي الكامل (canonical): knowledge-base/topics/production.md

1 نظرة عامة — إيه هو الموديول؟

نظام تصنيع كامل (discrete + process) مبني جوّه Modules/Production — قرار صريح: نوسّع في مكانه، مش نعمل موديول جديد. وهو "عميل" لـ٩ موديولات تانية (مخازن، مشتريات، مبيعات، محاسبة/Core، HR، جودة، صيانة...) مش جزيرة منعزلة.

~88%
اكتمال محاسبة التكاليف (7 من 8 مراحل + AI)
47
موديل في الباك
49
شاشة في الفرونت
61
migration
6
مزايا AI

بيغطّي المصنع من أوله لآخره:

💡
الأصل كان مجرد هيكل: الموديول قبل المشروع الكبير كان ٧ جداول، ٧ موديلات، ٤ كنترولرز، ٠ events، ٠ tests، seeder فاضي، وغير مُفعَّل فعليًا. مشروع محاسبة التكاليف هو اللي حوّله لنظام حقيقي.

2 المعمارية — باك + فرونت

🛠️ الباك (Backend)

Laravel 12 module (nwidart) في Modules/Production.

  • 47 موديل، 61 migration
  • 26 Action (منطق الأعمال) + 25 Service
  • Events/Listeners لترحيل القيود
  • API تحت /api/production/*

🖥️ الفرونت (Frontend)

Angular 21 standalone، شاشات المصنع تحت /factory/*.

  • 49 شاشة في 8 مجموعات تنقّل
  • مفيش NgRx — services مباشرة + signals
  • القائمة ثابتة في الكود (مش DB-driven)
  • كل route عليه permissionGuard

🔗 التكامل

الموديول "عميل" لباقي الموديولات.

  • مخازن (issue/receipt/costing)
  • محاسبة (WIP↔Inventory↔FG↔COGS)
  • مبيعات/مشتريات (toll fee، landed cost)
  • HR (labor variance)، صيانة (CMMS)
🧭
في الفرونت واجهتان: القديمة المدمجة /core/production/* (6 routes) — والحديثة standalone /factory/* (44+ route، شاشة كاملة) وهي الأساسية. الـ factory-layout فيه sidebar قابل للطي (localStorage) ومجموعات تنفتح تلقائيًا حسب المسار النشط.

3 مشروع محاسبة التكاليف — المراحل

الهدف: رفع تغطية محاسبة التكاليف من ~38% لتغطية كاملة عبر 8 مراحل (0–7) + مسار منفصل A/B/C للـ consignment. كل مرحلة بنفس "الأوتوبايلوت": spec → وكلاء متوازيين → دمج → اختبارات Pest → ديبلوي → مراجعة عدائية → اعتماد المالك → push.

المرحلةالمحتوىالحالة
0 — التثبيتتصحيح سلامة الأرقام: idempotency على القيود، re-check للحالة تحت قفل داخل الـ transaction، عكس قيد إلغاء صرف الخامة، إصلاح netting في MRP.✅ مُسلّمة
1 — دورة التولعقود التول (التقاط تعاقد العميل قبل الـ BOM)، أمر بمواد العميل، دفعة مقدمة، مخزن "تحت التشغيل" + backflush، بوابة QC "الروتينة" بتمنع استلام المنتج قبل الإفراج، CoA، سجلات تشغيلات.✅ مُسلّمة
2 — مكاسب سريعةتكاليف المخزون (carrying/EOQ/safety/ROP/obsolescence) + تقارير إنتاج (هامش/سكراب/ربحية مركز تكلفة/طاقة) + 6 أدوار حوكمة.✅ مُسلّمة
3 — تحليلات وتقاريرCVP/نقطة تعادل + ربحية عميل + ABC + KPI dashboard + تقارير (WIP-aging، ربحية أمر، std-vs-actual، تسوية تول) + انحرافات الموازنة + 9 تنبيهات ذكية.✅ مُسلّمة
4 — تسعير ومشترياتمحرك تسعير (cost-plus/margin → قائمة أسعار) + بطاقة أداء مورّد + تكلفة الجودة (PAF) + landed cost بإعادة تقييم طبقات + GL. (المراجعة أصلحت 2 CRITICAL).✅ مُسلّمة
5 — توزيع تكاليف عبر الموديولاتHR→إنتاج (قسم↔مركز تكلفة، labor variance)، محرك توزيع أوفرهيد/مرافق (ساعات آلة/عمالة، largest-remainder، GL متوازن)، TCO + Make-or-Buy + جسر CMMS، scrap عند رفض QC، تقرير GL integrity.✅ مُسلّمة
6 — التزام وحوكمة و R&Dقفل فترة + تدقيق (حالة Locked نهائية، قفل تلقائي عند إقفال السنة)، سحب تشغيلات الأدوية (recall) بـ genealogy مزدوج + تتبع عميل + حجر تسلسلي، التقاط تكاليف R&D + إطفاء → std_rnd_cost. (المراجعة أصلحت 8 issues منها 2 CRITICAL).✅ مُسلّمة
7 — مزايا الـ AI (6)6 مزايا تكلفة بالذكاء الاصطناعي (تفاصيل تحت §7). القاعدة الذهبية: الـ AI ما يحسبش رقم أبدًا.✅ في الكود ⚠️ راجع §11
— مسار A/B/C المنفصل (ملكية المواد + consignment) —
A — ملكية الموادملكية على مستوى السطر (own_qty / customer_qty)، صرف يستهلك الاتنين بس GL للجزء المملوك بس. صفر تغيير محاسبي (إضافي).✅ مُسلّمة
B — تخطيط وجاهزيةمرحلة Planning & Material-Readiness + لوحة /factory/planning.↩︎ اترجعت (مكررة)
C — الاستعارة الصريحةconsignment باستعارة صريحة: المصنع يستهلك خامة العميل لأمره هو → تدخل WIP بقيمتها + التزام "مواد مستحقة للعميل" → تتسوّى بـ إرجاع أو شراء. جداول mfg_consignment_*.✅ مُسلّمة + مدموجة في main

4 الكيانات الأساسية (47 موديل)

🏭 بيانات أساسية

  • ProductionCenter — مركز عمل (طاقة، تكلفة/ساعة، أوفرهيد، bottleneck، حساب GL + أصل)
  • BillOfMaterials + BomComponent + BomOperation + MfgBomSubstitute
  • MfgRoutingHeader/Operation — قوالب التوجيه + أزمنة
  • MfgWorkCalendar + Shift، MfgTool

📦 التنفيذ والمواد

  • ProductionOrder — الأمر (5 حالات)
  • ProductionOrderOperation — تشغيل العملية (6 حالات)
  • ProductionOrderMaterial — own_qty/customer_qty
  • MfgMaterialIssue/Line، MfgConfirmation/Detail/Yield
  • MfgGoodsReceipt/Line — استلام منتج تام

🔬 تشغيلات وجودة

  • MfgBatch — تشغيلة (active/released/quarantine/rejected/expired)
  • MfgBatchGenealogy — حواف input→output للتتبع والـ recall
  • MfgBatchRecall + Affected — سحب الأدوية
  • MfgCoa + Parameter — شهادة تحليل + بوابة إفراج

💰 التكاليف والانحرافات

  • MfgStandardCost — التكلفة المعيارية (3 أرجل + R&D)
  • MfgVarianceRecord — انحراف مفكّك (7 أنواع) + workflow تحقيق
  • UtilityCostEntry + Apportionment — توزيع المرافق

📅 التخطيط (MRP)

  • MfgMpsHeader/Line — الجدول الرئيسي
  • MfgMrpRun + PlannedOrder + Exception + ItemMrpSetting
  • MfgCrpLoad — تحميل الطاقة، MfgPegging — تتبّع طلب↔توريد

🤝 تول / consignment / R&D

  • MfgTollContract/Line — عقود التصنيع لدى الغير
  • ConsignmentMaterialLedger + Borrow — استعارة وتسوية
  • RndProject + CostCapture + AmortizationSchedule/Entry
  • CostAiInsight — نتائج الـ AI المحفوظة

5 دورات الحياة (State Machines)

أمر التشغيل (ProductionOrder)

planned released in_process completed closed ·cancelled

released = حجز خامات + تجميد BOM · أول صرف خامة يقلب لـ in_process · closed = تسوية WIP لـ GL · الإلغاء من planned/released بس.

العملية (ProductionOrderOperation)

waiting ready in_progress completed ·on_hold ⇄

تسلسل صارم: العملية N+1 تستنى N تخلص · on_hold للتوقف (downtime) وترجع in_progress · شاشة المشرف بتعرض [ready, in_progress, on_hold].

دورات أخرى

6 محاسبة التكاليف

التكلفة المعيارية بـ 3 أرجل (+ رجل رابعة)

الرِجلالحساب
① خاماتتفجير BOM تكراري: الوحدة = component.qty/batch_qty × (1+waste%)، تكلفة الورقة من std أو purchase_price.
② عمالةΣ(hours_per_unit × labor_cost_rate) — الساعات = run_time/60. (وقت الإعداد مش مُوزّع في v1).
③ أوفرهيدΣ(hours × machine_cost_rate + labor_hours × overhead_rate). تكلفة الآلة = أوفرهيد مش عمالة مباشرة.
④ R&D (إضافية)std_rnd_cost — محفوظة بواسطة RndAmortizationService، الـ roll-up ما بيصفّرهاش.

الانحرافات (7 أنواع) + ترحيل GL

عند إقفال الأمر بيتفكّك الانحراف لـ: MPV سعر خامةMUV استخدام خامةLRV معدل عمالةLEV كفاءة عمالةVOSV إنفاق أوفرهيد متغيرVOEV كفاءة أوفرهيد متغيرFOVV حجم أوفرهيد ثابت — يتصنّف بنِسب، و owner_role يوجّه التحقيق بإشعار.

الحدثالقيد
صرف خامة (MaterialIssued)مدين WIP / دائن المخزون (بطريقة التكلفة)
تأكيد عملية (ConfirmationPosted)مدين WIP / دائن عمالة مُحمّلة + أوفرهيد مُحمّل
استلام منتج تام (GoodsReceiptPosted)مدين منتج تام / دائن WIP (بالتكلفة المعيارية)
إقفال (تسوية الانحراف)مدين COGS / دائن WIP
تول (مواد العميل)بدون GL عند الصرف · الرسوم تتسوّى عند الاستلام (Toll Clearing)
مرافق · سكرابمدين أوفرهيد/المركز · مدين سكراب / دائن WIP

7 مزايا الـ AI — CostAiService

🛡️
القاعدة الذهبية: الـ AI ما يحسبش رقم أبدًا. الخدمات الـ deterministic (مراحل 0–6) بتحسب كل الأرقام وتسلّمها كـ JSON grounding · الـ LLM بيرجّع وصف/تصنيف/توصيات بس · وvalidateNumbers() بيعلّم أي رقم اخترعه الـ AI (flagged_numbers). Provider-agnostic على Claude (sonnet-4-6 + opus)، والنتائج محفوظة في cost_ai_insights.

① Cost Anomaly

كشف شذوذ/قفزات التكلفة (مبني على التنبيهات + دلتا فعلي-مخطط).

② Variance Root-Cause

شرح سبب الانحراف للأمر (مبني على سجلات الانحراف المفكّكة).

③ Price / Demand

اقتراح تسعير/مرونة طلب للمنتج (PricingService + CVP).

④ Scrap Prediction

توقّع احتمال السكراب (تاريخ السكراب + CoQ).

⑤ Supplier Risk

تصنيف مخاطر المورّد (SupplierScorecard).

⑥ Margin Optimization

توصيات مزيج المنتجات/الهامش (ربحية العميل + CVP).

في الفرونت: hub /factory/cost-ai — كل لوحة: جدول grounding + سرد + درجة خطورة + توصيات + badge للأرقام المُعلّمة. الصلاحيات: production.cost_ai.view (عرض) وproduction.cost_ai.run (تشغيل).

8 شاشات الفرونت — 8 مجموعات تحت /factory

المجموعةالشاشات
نظرة عامة وبيانات أساسيةDashboard · Work Centers · BOMs · Routing · Tools · Calendars · Standard Costs · Batches · CoA
تخطيط وجدولةMRP Cockpit · MPS · CRP Board · Capacity Board
أوامر الإنتاجOrders list · Order Cockpit (stepper + 6 تابات: جاهزية مواد، عمليات، تكلفة، أثر GL، تشغيلات، pegging)
أرض المصنع (Shop Floor)Confirmations · Staging · Terminal (لمس للعامل) · Supervisor Board (live، تحديث 30 ثانية، عرض حائط)
تول / consignmentToll Contracts · Toll Settlement · Consignment Ledger
جودة والتزامRecall (سحب) · Cost of Quality
تكاليف وتحليلات (~19)هامش · سكراب · ربحية مركز تكلفة · تكاليف مخزون · std-vs-actual · WIP aging · ربحية أمر · CVP · ربحية عميل · انحراف موازنة · انحراف عمالة · مرافق · TCO أصول · make-or-buy · GL integrity · تسعير
ذكاء (Intelligence)KPI Dashboard · Smart Alerts (9 تنبيهات) · Cost-AI Hub (6 لوحات)

الداش بورد: 10 بطاقات KPI (yield, scrap, OTD, capacity, OEE, WIP value, throughput, cycle time...) + شريط "اليوم" (6 خلايا) + 4 رسوم + load board لكل مركز عمل + تنبيهات + أوامر متأخرة + أعلى منتجات.

9 الفجوات والمفتوح (Gaps & Open)

Make-to-Order (شغل net-new)

🔌
محرّك ApprovalWorkflow غير موصّل بالإنتاج. الـ Core فيه محرك اعتماد عام (ApprovalWorkflow.php, ApprovalLog.php) بس الـ enum بتاعه بيغطّي المبيعات والمشتريات بس — مفيش أنواع مستندات إنتاج. التوصيل = إضافة ApprovalModule::Production + أنواع (bom, production_order, trial_batch) لإعادة استخدام المحرك بدل بناء منطق اعتماد خاص. (حاليًا الانحرافات بتستخدم إشعارات بالأدوار بس، مفيش بوابة اعتماد رسمية).

فجوات التول / الملكية

🐛
BLOCKER محتمل: الـ KB بيذكر باج في إنشاء أمر التول — material_ownership بيتفقد عند الحفظ في الـ UI فمينفعش تعمل أمر تول من الشاشة. محتاج تأكيد على الكود الحالي (ممكن يكون اتصلح — راجع §11).

تحسينات داش بورد (اختيارية)

شريط جودة CoA · ترند variance_monthly · معرّفات الأوامر المتأخرة الحقيقية. + تأكيد إن إضافات DB للتصنيع موجودة على test/elmadina (نسخ قديمة كانت ناقصة — راجع seeder gap في moonstack-update).

10 قرارات مهمة

11 ملاحظة تدقيق — الكود مقابل خطط الـ KB

🔍
فيه فرق توقيت لازم تعرفه: خطط الـ KB الـ HTML (متكتوبة وقت البناء، ~16 يونيو) بتوصف Phase 7 (AI) إنها "بتتبني" وA/B/C إنها "مخطّطة لسه". لكن فحص الكود الحي (باك + فرونت) أكّد إن: الـ 6 مزايا AI (CostAiService + الخدمات + CostAiInsight + الـ UI) وPhase C consignment (الجداول + Actions: RecordBorrow/SettleBorrow) وPhase A (ملكية المواد) كلها موجودة فعلًا في الريبو — وده مطابق لموضوع production.md الأحدث (18 يونيو): «Phases 0–7 + A done & pushed؛ Phase B reverted؛ Phase C shipped + merged to main».
الخلاصة: الكود هو مصدر الحقيقة — اللي مبني فعلًا = 0–7 + A + C، وB اترجعت. خطط الـ HTML لقطات أقدم من الإنجاز. (نقطة محتاجة تأكيد مباشر على الكود الحالي: باج إنشاء أمر التول — اتصلح ولا لأ).

المصادر: Modules/Production (BE — 47 model/26 action/25 service) features/production (FE — 49 شاشة) knowledge-base/topics/production.md mfg-cost-accounting-plan.html (خطة المراحل) mfg-mto-flow-plan.html mfg-ownership-planning-gaps-plan.html mfg-pharma-toll-fitgap.html manufacturing-erp-analysis-report.html