myousry/fabritrack-erp
قوم ب انشاء مشروع asp .net core mvc تفاصيل النظام يوفّر إدخال وتتبع مراحل الإنتاج (قص → كنترول بعد القص → طباعة/تطريز → كنترول ما بعدهما → خياطة → تعبئة)، مع حساب الفاقد، المعاد تحويله، والمستلم فعليًا، وإظهار ملخّصات تنفيذية ولوحة متابعة لحظية. المستخدمون والأدوار: مدير المصنع (Admin): كل الصلاحيات، إعدادات النظام، إدارة النماذج والمراحل والتقارير. مراقب إنتاج (Supervisor): تحديث الكميات في كل مرحلة، اعتماد الكنترول، إصدار تحذيرات. موظف إدخال بيانات (DataEntry): تسجيل أوامر التشغيل، الدُفعات، حركات المراحل. عرض-فقط (Viewer): مشاهدة التقارير واللوحات. مصدر البيانات (من الإكسل): اعتمد نفس أسماء الأعمدة والبُنى الظاهرة في الشيتات التالية (مهمة): Master: يحتوي رقم الموديل، وصف، اللون، المقاس، “كمية أمر التشغيل (ملابس)”، “القص الفعلي (ملابس)”، “فاقد القص (ملابس)”، “كنترول بعد القص (ملابس)”، “أجزاء الطباعة/قطعة”، “المطلوب للطباعة (قطع)”، “المطبوع الفعلي (قطع)”، “فاقد الطباعة (قطع)”، “أجزاء التطريز/قطعة”، “المطلوب للتطريز (قطع)”، “المطرّز الفعلي (قطع)”، “فاقد التطريز (قطع)”، “كنترول بعد الطباعة/التطريز (قطع)”، “تحويل إلى ملابس”، “الخياطة المستلمة (ملابس)”، “فاقد الخياطة (ملابس)”، “التعبئة المستلمة (ملابس)”، “فاقد التعبئة (ملابس)”، “تم”… إلخ. Prod_Summary: “المرحلة، المطلوب الآن، المُنجز، الباقي، نسبة الإنجاز”. Model_Tracker: “رقم الموديل، المرحلة، الوقت، الكمية، الوحدة، سطر Master”. Tracker_Grid: شبكة حالة المراحل لكل موديل: “القص، كنترول بعد القص، الطباعة، التطريز، الخياطة، التعبئة، المرحلة الحالية، المدة الإجمالية”… إلخ. Labels_AR: تعريفات الحقول العربية (labels) الموافقة لأعمدة Master (مفيدة للواجهات والتقارير). Model_Card: بطاقة مواصفات الموديل (حقول أساسية للمطبوعات/التقارير). Diag_Map: خريطة تشخيصية لمطابقة الأعمدة/المفاتيح (تُستخدم في الاستيراد الآلي والتحقق). (ملاحظة: التفاصيل الكاملة للأعمدة مع أمثلة القيم موجودة في ملف الملخص النصّي المرفق بالرابط أعلاه — استخدمها حرفيًا لتوليد الـ schema.) قاعدة البيانات (اقترح جداول): Models ModelNo (PK), CreatedAt, Description, Color, Size. TotalOrderQty (pieces_garments). ModelOperations (تعريف المراحل وربط أجزاء/قطعة) Id (PK), ModelNo (FK), OperationName [Cutting, PostCutQC, Printing, Embroidery, PostPrintEmbQC, Sewing, Packing], PartsPerPiece (nullable), OrderUnit [“قطع/ملابس”], SequenceIndex. ProductionFlows (أرقام المراحل الفعلية/الفواقد/التحويلات للموديل) Id, ModelNo (FK), OperationName, RequiredQty, ActualQty, WasteQty, PostControlQty, ConvertedToGarments (bool/int), ReceivedSewingQty, ReceivedPackingQty, DoneFlag, Timestamp, Note. Batches (تقسيم أمر التشغيل إلى دفعات) Id, ModelNo (FK), BatchCode, PlannedQty, StartAt, EndAt, CurrentStage, Status. Transactions (سجل توقيتات وكميات بالوحدة) Id, BatchId (FK) or ModelNo, OperationName, Quantity, Unit [قطع/ملابس], Direction [In/Out], ByUser, At. Lookups Id, Key, Value (استخدمه لخرائط Diag_Map و Labels_AR). القواعد الحسابية الأساسية: المطلوب في الطباعة/التطريز = (أجزاء الطباعة/التطريز لكل قطعة × كمية الملابس المخططة) بوحدة “قطع”. التحويل إلى ملابس (في PostPrintEmbQC) يجمع القطع المطابقة ليتم إدخالها في مسار الخياطة كوحدة “ملابس”. الفاقد بكل مرحلة = الإدخال – (المطابق/المحوّل أو المستلم للمرحلة التالية). “المطلوب الآن / المُنجز / الباقي / نسبة الإنجاز” تظهر لكل مرحلة وعلى مستوى الموديل، كما في Prod_Summary. المرحلة الحالية للموديل = آخر مرحلة اكتملت بالكامل (أو التي بها عمل جارٍ) كما في Tracker_Grid. اتساق الوحدات: القص، الطباعة، التطريز، كنترول ما بعدهما → قد تعمل بوحدة “قطع”. الخياطة، التعبئة → بوحدة “ملابس”. التحويل يربطها ويمنع التلاعب بالأرقام. الميزات المطلوبة: استيراد من Excel (بنفس أسماء الأعمدة). دعم خرائط الأعمدة عبر Diag_Map، وإظهار نتائج التحقق قبل الإدخال. واجهة إدخال سريعة للمراحل: اختيار الموديل/الدفعة → إدخال الكمية والمرحلة → حفظ → تحديث تلقائي للملخصات. قيود تحقق: عدم تجاوز ActualQty للمطلوب، منع التحويل بدون كنترول ناجح، تحذير عند Waste مرتفع. تاريخ/وقت تلقائي لكل حركة، مع المستخدم الذي نفّذ. تقارير قابلة للتصفية (حسب موديل/لون/مقاس/مرحلة/تاريخ). تصدير PDF/Excel لبطاقة الموديل Model_Card والتقارير. صلاحيات حسب الدور (RBAC). واجهة عربية 100%، نصوص الحقول من Labels_AR. أداء: جداول كبيرة، Pagination، بحث لحظي. Audit Log لكل تعديل. الواجهات المطلوبة (UI): صفحة “أوامر التشغيل/الموديلات” جدول: ModelNo, Description, Color, Size, TotalOrderQty, CurrentStage, Progress%. أزرار: عرض بطاقة، تفاصيل المراحل، سجل الحركات، طباعة بطاقة، تصدير. زر “إضافة موديل” و“استيراد من إكسل”. صفحة “تحديث مرحلة” اختيار موديل/دفعة → اختيار مرحلة (Cutting, PostCutQC, …) → حقول الكميات: Required/Actual/Waste/PostControl/ConvertToGarments/Received… حفظ + تحقق فوري بالوحدات (قطع/ملابس) بحسب المرحلة. صفحة “Prod_Summary” (ملخص تنفيذي) Cards لكل مرحلة: المطلوب الآن، المُنجز، الباقي، نسبة الإنجاز. فلتر تاريخ/موديل/لون/مقاس. مؤشرات ضوئية (أخضر/أصفر/أحمر) حسب نسبة الإنجاز وحدود الفاقد. صفحة “Tracker_Grid” Grid يوضح لكل موديل حالة كل مرحلة، ومدة إجمالية، مع شريط تقدم. نقرة واحدة تفتح تفاصيل المرحلة + آخر عمليات/حركات. صفحة “Model_Tracker” جدول زمني (Timeline) لحركات الموديل: (مرحلة، وقت، كمية، وحدة، سطر Master). رسم بياني بسيط للكمية عبر الوقت. صفحة “التقارير” تقرير فاقد حسب المرحلة/الموديل. تقرير الالتزام الزمني (المخطط مقابل الفعلي). تقرير تحويل القطع إلى ملابس ونسب النجاح. تقنيات مقترحة (قابلة للتبديل حسب الموديل): Backend: .NET 8 (Web API) أو Node.js (NestJS). DB: SQL Server أو PostgreSQL. Frontend: React + Tailwind (RTL) أو Blazor. Auth: JWT + أدوار. استيراد/تصدير: EPPlus/ClosedXML. تقارير PDF: QuestPDF أو أي بديل. الاختبارات والجودة: اختبارات وحدات لقواعد التحويل/الفاقد. اختبارات تكامل لاستيراد Excel والتحقق من الخرائط. حماية السباقات عند إدخال متزامن للمراحل. شاشة متابعة لحظية (Dashboard لصاحب المصنع) هدف الشاشة: عرض “نبض المصنع” في لحظة: أين توقّفنا؟ مين متأخر؟ نسب الإنجاز والفاقد لكل مرحلة، مع فلترة سريعة والتنبيهات. مكوّنات الشاشة (من الشمال لليمين – RTL): شريط علوي مختصر: إجمالي أوامر التشغيل المفتوحة إجمالي الكمية المخططة (ملابس) إجمالي المُنجز اليوم / الأسبوع إجمالي الفاقد (اليوم/الكلّي) مصفوفة مراحل (بطاقات): لكل مرحلة: “المطلوب الآن، المُنجز، الباقي، نسبة الإنجاز” (من Prod_Summary). مؤشر ألوان: أخضر ≥ 90% أصفر 70–90% أحمر < 70% أو فاقد فوق حد معيّن جدول “أعلى 10 موديلات تحتاج تدخل”: ModelNo, المرحلة الحالية, نسبة الإنجاز, فاقد، زمن التوقّف (إن وجد). زر “اتّخاذ إجراء” يفتح نافذة إدخال الكميات لتلك المرحلة فورًا. مخطط زمني يومي/أسبوعي للمنجز مقابل المخطط لكل مرحلة. فلتر سريع: التاريخ، الموديل، اللون، المقاس، المرحلة. شريط تنبيهات: “فاقد الطباعة لموديل X تجاوز 8%” “الموديل Y متوقف في PostPrintEmbQC منذ 10 ساعات” تفاعلات سريعة: نقرتين على أي بطاقة مرحلة → يفتح شاشة تفاصيل المرحلة مع إدخال حركة جديدة. البحث باسم/رقم الموديل. تصدير صورة/ PDF للوحة الحالية.
initial commit
