دليل استخدام نظام إدارة المخزون

أهلاً بك في دليل استخدام نظام إدارة المخزون. هذا الدليل مصمم لمساعدتك على فهم كيفية عمل النظام والاستفادة من جميع مميزاته.


نظرة عامة على النظام

يهدف هذا النظام إلى توفير حل متكامل لإدارة جميع جوانب عمليات المصنع، بدءًا من إدارة المخزون والمشاريع، وصولًا إلى تتبع الشؤون المالية والعملاء.


أقسام النظام الرئيسية

الرئيسية: تعطيك نظرة سريعة على أهم الإحصائيات مثل عدد المواد، الموردين، وحالة المخزون.

المصنع: توفر لوحة تحكم خاصة بعمليات المصنع لمراقبة الأداء بشكل مباشر.

هذا القسم مخصص لإدارة جميع جوانب العملاء والمشاريع المرتبطة بهم.

  • صفحة العملاء الرئيسية (Index): تعرض قائمة بجميع العملاء مع معلومات مالية مجمعة لكل عميل، مثل:
    • إجمالي عدد المشاريع.
    • إجمالي قيمة المشاريع.
    • إجمالي المبلغ المدفوع.
    • المبلغ المتبقي.
    يمكنك البحث عن عميل معين أو ترتيب القائمة بناءً على أي من هذه الأعمدة.
  • إنشاء عميل (Create): لإضافة عميل جديد، تحتاج فقط إلى إدخال "الاسم" و "رقم الهاتف".
  • لوحة معلومات العميل (Dashboard): عند الضغط على اسم أي عميل، ستنتقل إلى لوحة معلومات مفصلة تحتوي على:
    • عدد المشاريع: إجمالي المشاريع المرتبطة بالعميل.
    • إجمالي قيمة المشاريع: مجموع أسعار كل المشاريع.
    • إجمالي المدفوع: مجموع كل المبالغ التي دفعها العميل.
    • المتبقي: المبلغ المتبقي على العميل.
    • إجمالي تكلفة المشاريع: التكلفة الفعلية للمشاريع على الشركة.
    • إجمالي المكسب: الربح الصافي من مشاريع العميل.
    • قائمة بجميع مشاريع هذا العميل مع تفاصيلها.
  • تعديل (Edit) وحذف (Delete): يمكنك تعديل بيانات العميل أو حذفه من النظام.

هذا القسم حيوي لتتبع تفاصيل المشاريع التي تنفذها الشركة.

  • صفحة المشاريع الرئيسية (Index): تعرض قائمة بكل المشاريع. يمكنك فلترة المشاريع لعرض مشاريع عميل معين فقط. تظهر القائمة أعمدة مثل:
    • اسم المشروع والعميل التابع له.
    • إجمالي سعر المشروع.
    • المبلغ المدفوع.
    • المبلغ المتبقي.
    • عدد الدفعات التي تمت.
  • إنشاء مشروع (Create): عند إنشاء مشروع جديد، يجب عليك تحديد "اسم المشروع" و"السعر الإجمالي" وربطه بـ "عميل" من القائمة.
  • تفاصيل المشروع (Details): صفحة تفصيلية شاملة تعرض كل ما يتعلق بالمشروع:
    • التكاليف: حساب دقيق للتكلفة الإجمالية للمشروع، مقسمة إلى تكلفة مواد من المخزون، تكلفة مشتريات، وتكلفة خدمات.
    • المواد المستخدمة: قائمة بالمواد التي تم سحبها من المخزون لهذا المشروع.
    • فواتير الشراء: أي فواتير شراء تم تسجيلها خصيصًا لهذا المشروع.
    • الخدمات: الخدمات الخارجية التي تم شراؤها للمشروع.
    • المدفوعات: سجل بالدفعات التي قام بها العميل لهذا المشروع.
  • كشف حساب المشروع (Statement): يقدم تقريرًا ماليًا مفصلاً للمشروع، يعرض جميع الإيرادات (سعر المشروع) والمصروفات (تكاليف المواد، المشتريات، الخدمات) لتوضيح ربحية المشروع.
  • تعديل (Edit) وحذف (Delete): لتحديث بيانات المشروع أو إزالته.

هذا هو قلب النظام، حيث تتم إدارة المواد الخام والمنتجات والمخازن التي تحتويها.

المخازن (Warehouses)
  • الصفحة الرئيسية: تعرض قائمة بكل المخازن، مع عدد أصناف المواد في كل مخزن والقيمة الإجمالية للمخزون.
  • إنشاء مخزن: يمكنك إضافة مخزن جديد بتحديد اسمه وعنوانه وبيانات المسؤول عنه.
  • لوحة معلومات المخزن (Dashboard): لكل مخزن لوحة معلومات خاصة تعرض ملخصًا للمخزون فيه، وقائمة بالمواد الموجودة وكمياتها.

المواد (Materials)
  • الصفحة الرئيسية: قائمة بجميع المواد مع تفاصيل هامة مثل:
    • الكمية المشتراة والمستخدمة: يمكنك تحديد فترة زمنية لرؤية الكميات التي تم شراؤها واستخدامها خلال هذه الفترة.
    • الكمية الحالية: الكمية المتوفرة من المادة في كل المخازن.
    • توزيع المخزون: عرض سريع لكمية المادة في كل مخزن على حدة.
  • إنشاء مادة (Create): عند إضافة مادة جديدة، تقوم بإدخال اسمها، نوعها، متوسط سعرها، والكمية الأولية والمخزن الذي ستوضع فيه. يقوم النظام تلقائيًا بإنشاء باركود للمادة.
  • إنشاء مجمع (Bulk Create): لإضافة عدة مواد دفعة واحدة لتوفير الوقت.
  • تفاصيل المادة (Details): سجل تاريخي كامل لحركة المادة، يوضح متى دخلت أو خرجت من المخزون، ولأي مشروع أو عميل تم استخدامها.

هذا القسم يدير عملية إدخال المواد إلى النظام عن طريق الموردين.

الموردون (Suppliers)
  • الصفحة الرئيسية: تعرض قائمة بالموردين مع ملخص مالي لكل مورد (إجمالي قيمة الفواتير، المدفوع، المتبقي).
  • إنشاء مورد: إضافة مورد جديد ببياناته الأساسية.
  • لوحة معلومات المورد (Dashboard): تعرض صفحة خاصة للمورد تحتوي على إحصائيات التعامل معه وقائمة بآخر الفواتير.

فواتير الشراء (Purchase Invoices)

هناك نوعان رئيسيان من فواتير الشراء:

  1. فاتورة شراء للمخزون (Create for Stock):

    تستخدم عند شراء مواد لإضافتها إلى رصيد المخزن العام.

    • الخطوة 1: إنشاء الفاتورة: تقوم بإنشاء فاتورة وتضيف المواد وأسعارها. في هذه المرحلة، لا يتم تحديث رصيد المخزون بعد.
    • الخطوة 2: استلام البضاعة (Receipt): بعد وصول البضاعة، تذهب إلى صفحة "استلام" خاصة بالفاتورة، وتحدد الكميات التي وصلت فعلاً والمخزن الذي ستدخل إليه. هذه هي الخطوة التي تزيد رصيد المواد في المخزون.
  2. فاتورة شراء لمشروع (Bulk Create):

    تستخدم عند شراء مواد خصيصًا لمشروع معين، حيث لا تدخل هذه المواد إلى المخزن بل تذهب مباشرة إلى المشروع.

    • عند إنشاء هذا النوع من الفواتير، يتم تلقائيًا تسجيل حركة دخول وخروج للمادة (لتسجيل الشراء وتخصيصها للمشروع)، ويتم تحديث التكلفة الإجمالية للمشروع بقيمة الفاتورة.
    • إذا كانت المادة المشتراة غير موجودة في النظام، يتم إنشاؤها تلقائيًا.
  • الصفحة الرئيسية: تعرض كل فواتير الشراء وحالتها، ويمكنك من خلالها الوصول إلى تفاصيل كل فاتورة أو طباعتها.

هذا القسم مخصص لعمليات بيع المواد من المخزون مباشرة إلى العملاء (ليس كجزء من مشروع).

  • الصفحة الرئيسية: تعرض قائمة بكل فواتير البيع مع اسم العميل وتاريخ الفاتورة وقيمتها.
  • إنشاء فاتورة بيع (Bulk Create): هي الطريقة الرئيسية لإنشاء الفاتورة. تختار العميل وتضيف المواد المباعة والكميات والأسعار. عند الحفظ، يقوم النظام تلقائيًا بالآتي:
    • خصم الكمية من المخزون: يتم فحص الرصيد المتاح، وإذا كان كافيًا، يتم خصم الكمية المباعة من رصيد المادة.
    • تسجيل إيراد في الخزنة: يتم إضافة إدخال جديد في الخزنة بقيمة الفاتورة كـ "إيراد".
  • تفاصيل الفاتورة (Details): تعرض جميع الأصناف التي تم بيعها في الفاتورة.
  • صرف البضاعة (Dispatch): في حال كنت تتبع نظامًا يتم فيه إنشاء الفاتورة أولاً ثم صرف البضاعة لاحقًا، يمكنك استخدام هذه الميزة لتسجيل خروج الكميات من المخزون في وقت لاحق.

هذا القسم هو المركز المالي للنظام، حيث يتم تتبع كل الإيرادات والمصروفات.

الخزنة (Treasury)
  • الصفحة الرئيسية: هي لوحة التحكم المالية الرئيسية. تعرض لك ملخصًا فوريًا للموقف المالي:
    • إجمالي الإيرادات.
    • إجمالي المصروفات.
    • الرصيد الحالي.
    كما تعرض قائمة مفصلة بكل معاملة مالية (دخل أو خرج) تمت في النظام.
  • التسجيل التلقائي: معظم قيود الخزنة تتم تلقائيًا عند إجراء عمليات أخرى في النظام:
    • إيراد: عند تسجيل دفعة من عميل أو إنشاء فاتورة بيع.
    • مصروف: عند تسجيل فاتورة شراء لمشروع أو تسجيل دفعة لمورد.
  • إنشاء قيد يدوي (Create): يمكنك تسجيل إيرادات أو مصروفات عامة لا ترتبط بعمليات أخرى، مثل دفع الرواتب، الإيجار، أو أي مصاريف إدارية أخرى.

مدفوعات العملاء (Payments)
  • الصفحة الرئيسية: تعرض سجل بجميع الدفعات المستلمة من العملاء.
  • إنشاء دفعة لمشروع (Create): لتسجيل دفعة خاصة بمشروع معين. عند تسجيلها، يتم تحديث المبلغ المدفوع للمشروع تلقائيًا، ويُضاف قيد إيراد في الخزنة.
  • إنشاء دفعة لعميل (Create for Customer): ميزة هامة جدًا. إذا استلمت مبلغًا من عميل دون تحديد المشروع، يمكنك استخدام هذه الميزة لتوزيع المبلغ المستلم بشكل تلقائي ومتناسب على جميع المشاريع المفتوحة لهذا العميل والتي لها مبالغ متبقية.
مدفوعات الموردين (Supplier Payments)
  • يمكنك تسجيل الدفعات التي تتم للموردين وتتبعها لضمان عدم وجود ديون متأخرة.

هذا القسم مخصص لإدارة بيانات العمال والسائقين وتتبع مستحقاتهم المالية.

  • الصفحة الرئيسية (Index): تعرض قائمة بالعمال أو السائقين مع ملخص مالي لكل شخص (إجمالي المستحق، إجمالي المدفوع، والمتبقي).
  • إنشاء (Create): لإضافة عامل أو سائق جديد للنظام ببياناته الأساسية.
  • لوحة المعلومات (Dashboard): صفحة خاصة لكل عامل أو سائق تعرض تفاصيل مستحقاته، سجل الأيام التي عمل بها (أو الرحلات التي قام بها)، وسجل بالدفعات التي استلمها.
  • تسجيل المدفوعات: تتم عملية دفع الرواتب أو المستحقات من خلال قسم الخزنة، حيث تقوم بإنشاء "مصروف" جديد وتربطه بالعامل أو السائق المعني.

أدوات إدارية هامة لمراقبة النظام وتأمين البيانات.

  • سجل التدقيق (Audit Log):

    يسجل كل حركة تتم في النظام. يمكنك من خلاله معرفة من قام بإنشاء أو تعديل أو حذف أي معلومة، ومتى تم ذلك. يمكن البحث في السجل بنوع العملية، أو بالقسم الذي تمت فيه، أو خلال فترة زمنية معينة.

  • تصدير (Export):

    لأخذ نسخة احتياطية كاملة من بياناتك. عند الضغط على زر التصدير، يقوم النظام بإنشاء ملف Excel واحد يحتوي على جميع بيانات النظام من كل الجداول.

  • النسخ الاحتياطي والاستعادة (Backup/Restore):
    • Restore: يمكنك من خلال هذه الصفحة رفع ملف Excel (الذي تم إنشاؤه من التصدير) لإعادة بياناتك إلى الحالة التي كانت عليها وقت التصدير. تحذير: هذه العملية تقوم بحذف جميع البيانات الحالية أولاً.
    • Stored Backups: يعرض قائمة بالنسخ الاحتياطية التي تم حفظها مسبقًا، مع إمكانية تحميلها.

  • /: الصفحة الرئيسية للتطبيق. تعرض صفحة هبوط للزوار، ولوحة تحكم للمستخدمين المسجلين بحسب أدوارهم (مالك، محاسب، أمين مستودع).
  • /Home/OwnerDashboard: لوحة تحكم خاصة بصلاحية "المالك"، تعرض نظرة عامة على العمل تشمل الدخل، المصاريف، الأرصدة، وحالة المشاريع.
  • /Home/Privacy: صفحة سياسة الخصوصية.
  • /Home/UsageGuide: دليل استخدام التطبيق.
  • /Home/Contact: صفحة معلومات التواصل.

هذا القسم مسؤول عن إدارة وعرض سجلات التدقيق، وهي سجلات الإجراءات التي يتم تنفيذها داخل النظام. يقتصر الوصول إليه على المستخدمين الذين لديهم أدوار "Creator" أو "Owner" أو "Accounter".

  • Index: يعرض قائمة قابلة للتصفية والفرز لسجلات التدقيق. يمكنك التصفية حسب نوع الإجراء (مثل الإنشاء والتحديث والحذف) والجزء من النظام الذي تم تغييره ونطاق التاريخ.
  • Details: يعرض التفاصيل المحددة لإدخال سجل تدقيق واحد.
  • GetAuditLogsData: نقطة نهاية API داخلية توفر البيانات لجدول سجل التدقيق، مما يتيح ميزات مثل ترقيم الصفحات والبحث دون إعادة تحميل الصفحة بأكملها.

يتعامل هذا القسم مع إنشاء واستعادة وإدارة النسخ الاحتياطية لقاعدة البيانات. وهي مخصصة في المقام الأول لأدوار "Creator" و "Owner" و "Accounter".

  • Index: يوفر واجهة لتحميل ملف نسخ احتياطي لاستعادة قاعدة البيانات. (دور المنشئ فقط)
  • Restore: نقطة النهاية التي تتعامل مع استعادة قاعدة البيانات الفعلية من ملف Excel الذي تم تحميله. (دور المنشئ فقط)
  • List: يعرض قائمة بالنسخ الاحتياطية المتاحة التي تم إنشاؤها.
  • GetBackupsData: نقطة نهاية API لجلب قائمة النسخ الاحتياطية لعرض القائمة.
  • Download: يسمح بتنزيل ملف نسخ احتياطي معين.
  • CreateBackup: يبدأ في إنشاء نسخة احتياطية جديدة لقاعدة البيانات.
  • GenerateDocxReport: ينشئ تقريرًا ماليًا بتنسيق DOCX.
  • RestoreFromStored: يستعيد قاعدة البيانات من نسخة احتياطية مخزنة تم إنشاؤها مسبقًا.
  • SaveAutoBackupSettings: يكوّن إعدادات النسخ الاحتياطي التلقائي.
  • Delete: يحذف نسخة احتياطية معينة.
  • BulkDelete: يحذف نسخًا احتياطية متعددة مرة واحدة.

يدير هذا القسم بيانات العميل. يرث من `BaseController`، والذي من المحتمل أن يوفر وظائف CRUD (إنشاء، قراءة، تحديث، حذف) شائعة.

  • Index: يعرض قائمة بالعملاء.
  • Dashboard: يعرض لوحة معلومات لعميل معين، ويوفر معلومات أكثر تفصيلاً حول مشاريعه وحالته المالية.
  • GetCustomersData: نقطة نهاية API لجلب بيانات العميل لصفحة الفهرس، مع معالجة من جانب الخادم للتصفية والفرز.
  • AddWorker: صفحة لإضافة عامل جديد مرتبط بعميل معين.
  • DeleteConfirmed: يحذف عميلاً وجميع بياناته ذات الصلة (المشاريع، إدخالات الخزانة، فواتير المبيعات).
  • Search: نقطة نهاية API للبحث عن العملاء بالاسم.
  • GetRemainingAmount: نقطة نهاية API للحصول على المبلغ المتبقي الذي يتعين على العميل دفعه.

هذا القسم مخصص لإدارة المدفوعات للسائقين. يقتصر الوصول على أدوار "Creator" و "Owner" و "Accounter". يوفر وظائف CRUD القياسية لمدفوعات السائقين.

  • Index: يسرد جميع مدفوعات السائقين.
  • Details: يعرض تفاصيل دفعة سائق معينة.
  • Create: نموذج لإنشاء دفعة سائق جديدة.
  • Edit: نموذج لتحرير دفعة سائق حالية.
  • Delete: صفحة تأكيد لحذف دفعة سائق.
  • DeleteByDriver: يحذف جميع المدفوعات المرتبطة بسائق معين.

يدير هذا القسم معلومات السائق. يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Index: يعرض قائمة بالسائقين.
  • Details: يعرض معلومات مفصلة حول سائق معين، بما في ذلك استخدامات مركبته ومدفوعاته.
  • Dashboard: يوفر عرض لوحة معلومات لسائق معين، ويلخص رحلاته وأرباحه ومدفوعاته ونشاطه الأخير.
  • Create: نموذج لإضافة سائق جديد.
  • Edit: نموذج لتحرير معلومات سائق حالي.
  • Delete: صفحة تأكيد لحذف سائق.
  • DeleteConfirmed: يحذف سائقًا وجميع سجلاته ذات الصلة (استخدامات المركبات والمدفوعات وإدخالات الخزانة).
  • GetDriversData: نقطة نهاية API لجلب بيانات السائق لصفحة الفهرس، مع معالجة من جانب الخادم.
  • Search: نقطة نهاية API للبحث عن السائقين بالاسم.
  • GetRemainingAmount: نقطة نهاية API للحصول على المبلغ المتبقي الذي سيتم دفعه للسائق.

يدير هذا القسم إدخالات تكلفة الكهرباء. يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Index: يعرض قائمة بتكاليف الكهرباء.
  • Details: يعرض تفاصيل إدخال تكلفة كهرباء معين.
  • Create: نموذج لإنشاء إدخال تكلفة كهرباء جديد. عند إنشاء تكلفة جديدة، تتم إضافة معاملة "مصروفات" مقابلة إلى `Treasury`.
  • Edit: نموذج لتحرير إدخال تكلفة كهرباء حالي. يتم أيضًا تحديث إدخال `Treasury` المقابل.
  • Delete: صفحة تأكيد لحذف إدخال تكلفة الكهرباء.
  • DeleteConfirmed: يحذف إدخال تكلفة الكهرباء وإدخال `Treasury` المقابل.
  • GetElectricityCostsData: نقطة نهاية API لجلب بيانات تكلفة الكهرباء لصفحة الفهرس.

هذا القسم مسؤول عن تصدير البيانات من التطبيق. يقتصر على دور "Creator".

  • Index: يعرض عرضًا به زر "تصدير كافة الجداول".
  • ExportAllTables: يقوم هذا الإجراء بتصدير كافة الجداول في قاعدة البيانات إلى ملف Excel واحد.

يشبه هذا القسم `ExportController` ولكنه يصدر البيانات بتنسيق " удоح". يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Index: يعرض عرضًا به زر "تصدير".
  • Export: يقوم هذا الإجراء بتصدير كافة الجداول في قاعدة البيانات إلى ملف Excel واحد удоح удоح.

يوفر هذا القسم لوحة معلومات مع نظرة عامة على عمليات المصنع وبياناته المالية. يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Index: يعرض لوحة معلومات تحتوي على مقاييس رئيسية مثل إجمالي أمتار اللصق وتكاليف القطع وتكاليف الكهرباء وتكاليف الغراء وتكاليف قطع الغيار وتكاليف الصيانة وإجمالي النفقات والأرباح.

يدير هذا القسم عمليات المصنع، مثل القطع واللصق. يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Index: يعرض قائمة بعمليات المصنع.
  • LoadData: نقطة نهاية API لجلب بيانات تشغيل المصنع لصفحة الفهرس، مع معالجة من جانب الخادم.
  • Details: يعرض تفاصيل عملية مصنع معينة.
  • Create: نموذج لإنشاء عملية مصنع جديدة.
  • Edit: نموذج لتحرير عملية مصنع حالية.
  • Delete: صفحة تأكيد لحذف عملية مصنع.
  • DeleteConfirmed: يحذف عملية مصنع.
  • GetProjectsByCustomer: نقطة نهاية API للحصول على قائمة بالمشاريع لعميل معين.
  • Settings: صفحة لتكوين أسعار عمليات المصنع (مثل أسعار القطع واللصق).

يوفر هذا القسم طرق عرض عامة لعرض المدفوعات والاستخدامات لكل من العمال والسائقين.

  • Payments: يعرض قائمة بالمدفوعات لعامل أو سائق معين.
  • Usages: يعرض قائمة بالاستخدامات (مثل سجلات العمل أو استخدامات المركبات) لعامل أو سائق معين.

يدير هذا القسم تكاليف الغراء. يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Index: يعرض قائمة بتكاليف الغراء.
  • Details: يعرض تفاصيل إدخال تكلفة غراء معين.
  • Create: نموذج لإنشاء إدخال تكلفة غراء جديد. عند إنشاء تكلفة جديدة، تتم إضافة معاملة "مصروفات" مقابلة إلى `Treasury`.
  • Edit: نموذج لتحرير إدخال تكلفة غراء حالي. يتم أيضًا تحديث إدخال `Treasury` المقابل.
  • Delete: صفحة تأكيد لحذف إدخال تكلفة الغراء.
  • DeleteConfirmed: يحذف إدخال تكلفة الغراء وإدخال `Treasury` المقابل.
  • GetGlueCostsData: نقطة نهاية API لجلب بيانات تكلفة الغراء لصفحة الفهرس.

هذا القسم مخصص لإدارة سجلات صيانة الآلات. يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Index: يعرض قائمة بسجلات الصيانة.
  • Details: يعرض تفاصيل سجل صيانة معين.
  • Create: نموذج لإنشاء سجل صيانة جديد.
  • Edit: نموذج لتحرير سجل صيانة حالي.
  • Delete: صفحة تأكيد لحذف سجل صيانة.
  • DeleteConfirmed: يحذف سجل صيانة.
  • GetMaintenanceLogsData: نقطة نهاية API لجلب بيانات سجل الصيانة لصفحة الفهرس.

يتتبع هذا القسم حركة المواد داخل وخارج المخزون. يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Index: يعرض قائمة بحركات المواد.
  • Details: يعرض تفاصيل حركة مادة معينة.
  • Create: نموذج لإنشاء حركة مواد جديدة (إما "In" أو "Out").
  • Edit: نموذج لتحرير حركة المواد الحالية.
  • Delete: صفحة تأكيد لحذف حركة المواد.
  • DeleteConfirmed: يحذف حركة المواد.
  • UseFromInventory: نموذج لتسجيل استخدام المواد من المخزون لمشروع ما.
  • BulkUseFromInventory: نموذج لتسجيل استخدام مواد متعددة من المخزون لمشروع ما.
  • GetLastPurchasePrice: نقطة نهاية API للحصول على آخر سعر شراء لمادة ما.
  • GetProjectsByCustomer: نقطة نهاية API للحصول على قائمة بالمشاريع لعميل معين.
  • GetMaterialMovementsData: نقطة نهاية API لجلب بيانات حركة المواد لصفحة الفهرس.
  • DeleteByProject: يحذف جميع حركات المواد المرتبطة بمشروع معين.

يدير هذا القسم المواد الموجودة في المخزون. يمكن الوصول إليه من خلال أدوار "Creator" و "Owner" و "Accounter" و "StoreKeeper".

  • Index: يعرض قائمة بالمواد مع مستويات مخزونها.
  • Details: يعرض تفاصيل مادة معينة، بما في ذلك محفوظات حركتها.
  • Create: نموذج لإضافة مادة جديدة إلى المخزون.
  • BulkCreate: نموذج لإضافة مواد متعددة مرة واحدة.
  • Edit: نموذج لتحرير مادة حالية.
  • Delete: صفحة تأكيد لحذف مادة.
  • DeleteConfirmed: يحذف مادة.
  • GetMaterialsData: نقطة نهاية API لجلب بيانات المواد لصفحة الفهرس.
  • Search: نقطة نهاية API للبحث عن المواد بالاسم.
  • GetByName: نقطة نهاية API للحصول على مادة باسمها.
  • QuickEdit: عرض لتحرير سريع لمخزون وأسعار المواد في مستودعات مختلفة.

يتعامل هذا القسم مع المدفوعات المستلمة من العملاء لمشاريعهم. يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Index: يعرض قائمة بالمدفوعات.
  • GetPaymentsData: نقطة نهاية API لجلب بيانات الدفع لصفحة الفهرس.
  • Details: يعرض تفاصيل دفعة معينة.
  • Create: نموذج لإنشاء دفعة جديدة لمشروع معين.
  • CreateForCustomer: نموذج لإنشاء دفعة لعميل، والتي يتم توزيعها بعد ذلك بين مشاريعه ذات الأرصدة المستحقة.
  • GetCustomerProjectsWithRemaining: نقطة نهاية API للحصول على قائمة بالمشاريع لعميل لديه رصيد متبقي.
  • Edit: نموذج لتحرير دفعة حالية.
  • Delete: صفحة تأكيد لحذف دفعة.
  • DeleteConfirmed: يحذف دفعة.
  • DeleteByProject: يحذف جميع المدفوعات المرتبطة بمشروع معين.

يدير هذا القسم فواتير التشغيل للمشاريع، والتي يبدو أنها مستندات داخلية لتتبع المواد اللازمة للمشروع. يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Index: يعرض قائمة بفواتير تشغيل المشروع.
  • Details: يعرض تفاصيل فاتورة تشغيل مشروع معينة، بما في ذلك المواد والكميات اللازمة.
  • Create: نموذج لإنشاء فاتورة تشغيل مشروع جديدة. عند إنشاء فاتورة، فإنها تنشئ أيضًا `PurchaseInvoice` لأي مواد يجب شراؤها.

يدير هذا القسم المشاريع. يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Index: يعرض قائمة بالمشاريع.
  • Details: يعرض عرضًا تفصيليًا للمشروع، بما في ذلك حركات المواد والتكاليف والأرباح وغيرها من المعلومات.
  • Statement: ينشئ كشف حساب لمشروع، يعرض حركات المواد والخدمات.
  • Create: نموذج لإنشاء مشروع جديد.
  • Edit: نموذج لتحرير مشروع حالي.
  • Delete: صفحة تأكيد لحذف مشروع.
  • DeleteConfirmed: يحذف مشروعًا وجميع بياناته ذات الصلة.
  • GetProjectsData: نقطة نهاية API لجلب بيانات المشروع لصفحة الفهرس.
  • GetProjectMaterials: نقطة نهاية API للحصول على المواد المستخدمة في المشروع.
  • DeleteByCustomer: يحذف جميع المشاريع المرتبطة بعميل معين.
  • Search: نقطة نهاية API للبحث عن المشاريع بالاسم.
  • GetRemainingAmount: نقطة نهاية API للحصول على المبلغ المتبقي الذي سيتم دفعه للمشروع.

يدير هذا القسم مخزون المواد المخصصة لمشاريع معينة.

  • Index: يعرض قائمة بالمشاريع وملخصًا للمواد المخصصة لها.
  • GetProjectStockData: نقطة نهاية API لجلب بيانات مخزون المشروع لصفحة الفهرس.
  • Details: يعرض المخزون التفصيلي للمواد لمشروع معين.
  • Allocate: نموذج لتخصيص المواد من مستودع إلى مشروع.
  • RecordUsage: نموذج لتسجيل استخدام المواد من قبل عامل في مشروع.
  • GetMaterialsForProject: نقطة نهاية API للحصول على المواد المخصصة لمشروع.
  • Return: نموذج لإعادة المواد غير المستخدمة من مشروع إلى مستودع.
  • MovementLog: يعرض سجلاً لجميع حركات المواد المتعلقة بالمشاريع.

يدير هذا القسم فواتير الشراء من الموردين. يمكن الوصول إليه من خلال أدوار "Creator" و "Owner" و "Accounter" و "StoreKeeper".

  • Index: يعرض قائمة بفواتير الشراء.
  • GetPurchaseInvoicesData: نقطة نهاية API لجلب بيانات فاتورة الشراء لصفحة الفهرس.
  • Details: يعرض تفاصيل فاتورة شراء معينة.
  • BulkCreate: نموذج لإنشاء فاتورة شراء جديدة تحتوي على عناصر متعددة.
  • CreateForStock: نموذج لإنشاء فاتورة شراء لتخزين المستودع.
  • Edit: نموذج لتحرير فاتورة شراء حالية.
  • Delete: صفحة تأكيد لحذف فاتورة شراء.
  • DeleteConfirmed: يحذف فاتورة شراء.
  • Confirm: يؤكد فاتورة الشراء.
  • Print: ينشئ نسخة قابلة للطباعة من فاتورة الشراء.
  • Receipt: نموذج لتسجيل استلام الأصناف من فاتورة الشراء.
  • DeleteByProject: يحذف جميع فواتير الشراء المرتبطة بمشروع معين.
  • DeleteBySupplier: يحذف جميع فواتير الشراء المرتبطة بمورد معين.

يدير هذا القسم فواتير المبيعات. يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Index: يعرض قائمة بفواتير المبيعات.
  • GetSalesInvoicesData: نقطة نهاية API لجلب بيانات فاتورة المبيعات لصفحة الفهرس.
  • Details: يعرض تفاصيل فاتورة مبيعات معينة.
  • Create: نموذج لإنشاء فاتورة مبيعات جديدة.
  • BulkCreate: نموذج لإنشاء فاتورة مبيعات جديدة تحتوي على عناصر متعددة.
  • Edit: نموذج لتحرير فاتورة مبيعات حالية.
  • Delete: صفحة تأكيد لحذف فاتورة مبيعات.
  • DeleteConfirmed: يحذف فاتورة مبيعات.
  • Dispatch: نموذج لتسجيل إرسال الأصناف من فاتورة المبيعات.
  • DeleteByCustomer: يحذف جميع فواتير المبيعات المرتبطة بعميل معين.

هذا هو وحدة تحكم API لإدارة الخدمات المتعلقة بالمشاريع. يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • POST /api/Services: ينشئ خدمة جديدة.
  • GET /api/Services/{id}: يسترد خدمة معينة بمعرفها.
  • PUT /api/Services/{id}: يحدث خدمة معينة.
  • DELETE /api/Services/{id}: يحذف خدمة معينة.
  • POST /api/Services/DeleteByProject: يحذف جميع الخدمات المرتبطة بمشروع معين.

هذا القسم مخصص لإعداد التطبيق. يقتصر على دور "Creator".

  • Index: يقوم هذا الإجراء بتهيئة قاعدة البيانات ببيانات أولية.

يدير هذا القسم قطع الغيار. يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Index: يعرض قائمة بقطع الغيار.
  • Details: يعرض تفاصيل قطعة غيار معينة.
  • Create: نموذج لإنشاء قطعة غيار جديدة.
  • Edit: نموذج لتحرير قطعة غيار حالية.
  • Delete: صفحة تأكيد لحذف قطعة غيار.
  • DeleteConfirmed: يحذف قطعة غيار.
  • GetSparePartsData: نقطة نهاية API لجلب بيانات قطع الغيار لصفحة الفهرس.

هذا القسم مسؤول عن إنشاء فواتير شراء خاصة بتخزين المستودعات. يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Create: يعرض نموذجًا لإنشاء فاتورة شراء مخزون جديدة.
  • CreateStock: يبدو أن هذا اسم مستعار لإجراء `Create`.
  • POST /StockPurchaseInvoices/Create: يعالج هذا الإجراء إنشاء فاتورة شراء مخزون. يقوم بإنشاء مواد جديدة، وتحديث مخزون المستودعات، وإنشاء حركات مواد، وإنشاء فاتورة شراء، وإضافة معاملة "مصروفات" مقابلة إلى `Treasury`.

يدير هذا القسم عمليات جرد المخزون، وهي عملية عد المخزون الفعلي.

  • Index: يعرض قائمة بعمليات جرد المخزون السابقة.
  • Create: نموذج لبدء جرد مخزون جديد عن طريق تحديد مستودع.
  • Start: واجهة جرد المخزون الرئيسية حيث يمكن للمستخدمين إدخال الكميات المعدودة الفعلية للمواد في المستودع.
  • Details: يعرض تفاصيل جرد مخزون مكتمل، بما في ذلك الكميات المتوقعة والفعلية وأي اختلافات.

يدير هذا القسم المدفوعات للموردين. يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Index: يعرض قائمة بمدفوعات الموردين.
  • GetSupplierPaymentsData: نقطة نهاية API لجلب بيانات مدفوعات الموردين لصفحة الفهرس.
  • Details: يعرض تفاصيل دفعة مورد معينة.
  • Create: نموذج لإنشاء دفعة مورد جديدة.
  • Edit: نموذج لتحرير دفعة مورد حالية.
  • Delete: صفحة تأكيد لحذف دفعة مورد.
  • DeleteConfirmed: يحذف دفعة مورد.
  • DeleteBySupplier: يحذف جميع المدفوعات المرتبطة بمورد معين.

يدير هذا القسم معلومات المورد. يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Index: يعرض قائمة بالموردين.
  • Details: يعرض معلومات مفصلة حول مورد معين، بما في ذلك فواتير الشراء الخاصة به.
  • Dashboard: يوفر عرض لوحة معلومات لمورد معين، ويلخص فواتيره ومدفوعاته ومقاييس أخرى.
  • Create: نموذج لإضافة مورد جديد.
  • Edit: نموذج لتحرير معلومات مورد حالي.
  • Delete: صفحة تأكيد لحذف مورد.
  • DeleteConfirmed: يحذف موردًا.
  • GetSuppliersData: نقطة نهاية API لجلب بيانات المورد لصفحة الفهرس.
  • Search: نقطة نهاية API للبحث عن الموردين بالاسم.
  • GetRemainingAmount: نقطة نهاية API للحصول على المبلغ المتبقي المستحق للمورد.

هذا هو وحدة تحكم بسيطة مع إجراء `Index` واحد يعرض عرضًا. من المحتمل أنه يستخدم لأغراض الاختبار.

يدير هذا القسم الخزانة، وهي سجل لجميع المعاملات المالية (الدخل والمصروفات). يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Index: يعرض ملخصًا للخزانة، بما في ذلك إجمالي الدخل وإجمالي المصروفات والرصيد والمستحقات.
  • Create: نموذج لإنشاء معاملة خزانة جديدة.
  • Edit: نموذج لتحرير معاملة خزانة حالية.
  • Delete: صفحة تأكيد لحذف معاملة خزانة.
  • DeleteConfirmed: يحذف معاملة خزانة.
  • GetProjectsByCustomer: نقطة نهاية API للحصول على قائمة بالمشاريع لعميل معين.
  • GetTreasuryData: نقطة نهاية API لجلب بيانات الخزانة لصفحة الفهرس.
  • DeleteByCustomer: يحذف جميع إدخالات الخزانة المرتبطة بعميل معين.
  • DeleteByProject: يحذف جميع إدخالات الخزانة المرتبطة بمشروع معين.

يتتبع هذا القسم استخدام المركبات من قبل السائقين. يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Index: يعرض قائمة باستخدامات المركبات.
  • Details: يعرض تفاصيل استخدام مركبة معين.
  • Create: نموذج لإنشاء سجل استخدام مركبة جديد.
  • Edit: نموذج لتحرير سجل استخدام مركبة حالي.
  • Delete: صفحة تأكيد لحذف سجل استخدام مركبة.
  • DeleteConfirmed: يحذف سجل استخدام مركبة.
  • GetVehicleUsagesData: نقطة نهاية API لجلب بيانات استخدام المركبات لصفحة الفهرس.
  • DeleteByProject: يحذف جميع استخدامات المركبات المرتبطة بمشروع معين.
  • DeleteByDriver: يحذف جميع استخدامات المركبات المرتبطة بسائق معين.

يدير هذا القسم المستودعات. يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Index: يعرض قائمة بالمستودعات.
  • Details: يعرض تفاصيل مستودع معين، بما في ذلك مخزون المواد الذي يحتفظ به.
  • Dashboard: يوفر عرض لوحة معلومات لمستودع معين، ويلخص مخزونه وقيمته.
  • Create: نموذج لإنشاء مستودع جديد.
  • Edit: نموذج لتحرير مستودع حالي.
  • Delete: صفحة تأكيد لحذف مستودع.
  • DeleteConfirmed: يحذف مستودعًا.
  • GetWarehousesData: نقطة نهاية API لجلب بيانات المستودع لصفحة الفهرس.

يدير هذا القسم المدفوعات للعمال. يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Index: يعرض قائمة بمدفوعات العمال.
  • Details: يعرض تفاصيل دفعة عامل معينة.
  • Create: نموذج لإنشاء دفعة عامل جديدة.
  • Edit: نموذج لتحرير دفعة عامل حالية.
  • Delete: صفحة تأكيد لحذف دفعة عامل.
  • DeleteConfirmed: يحذف دفعة عامل.
  • DeleteByWorker: يحذف جميع المدفوعات المرتبطة بعامل معين.

يدير هذا القسم معلومات العامل. يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Index: يعرض قائمة بالعمال.
  • Details: يعرض معلومات مفصلة حول عامل معين، بما في ذلك استخدامات عمله ومدفوعاته.
  • Dashboard: يوفر عرض لوحة معلومات لعامل معين، ويلخص أيام عمله وأرباحه ومدفوعاته ونشاطه الأخير.
  • MaterialUsage: يعرض استخدام المواد لعامل معين.
  • Create: نموذج لإضافة عامل جديد.
  • Edit: نموذج لتحرير معلومات عامل حالي.
  • Delete: صفحة تأكيد لحذف عامل.
  • DeleteConfirmed: يحذف عاملاً وجميع سجلاته ذات الصلة.
  • GetWorkersData: نقطة نهاية API لجلب بيانات العامل لصفحة الفهرس.
  • Search: نقطة نهاية API للبحث عن العمال بالاسم.
  • GetRemainingAmount: نقطة نهاية API للحصول على المبلغ المتبقي الذي سيتم دفعه للعامل.

يتتبع هذا القسم العمل الذي يقوم به العمال. يقتصر على أدوار "Creator" و "Owner" و "Accounter".

  • Index: يعرض قائمة باستخدامات العمال.
  • Details: يعرض تفاصيل استخدام عامل معين.
  • Create: نموذج لإنشاء سجل استخدام عامل جديد.
  • Edit: نموذج لتحرير سجل استخدام عامل حالي.
  • Delete: صفحة تأكيد لحذف سجل استخدام عامل.
  • DeleteConfirmed: يحذف سجل استخدام عامل.
  • GetWorkerNames: نقطة نهاية API للحصول على قائمة بأسماء العمال.
  • Summary: يعرض ملخصًا لاستخدامات العمال.
  • GetWorkerUsagesData: نقطة نهاية API لجلب بيانات استخدام العمال لصفحة الفهرس.
  • DeleteByProject: يحذف جميع استخدامات العمال المرتبطة بمشروع معين.
  • DeleteByWorker: يحذف جميع استخدامات العمال المرتبطة بعامل معين.

كيف تترابط الأقسام؟

  • عند إنشاء مشروع، يتم ربطه بعميل موجود.
  • عند إضافة فاتورة شراء، يتم تحديث كمية المواد في المخزون، ويتم تسجيل مصروف في الخزنة.
  • عند إنشاء فاتورة بيع، يتم خصم كمية المواد من المخزون، وتسجيل إيراد في الخزنة.
  • حركة المخزون تتأثر تلقائيًا بعمليات الشراء والبيع وأي عمليات يدوية أخرى.