Aptli

المهام

تحدد المهام الأعمال المخطط لها مع متطلبات الموارد المحددة والمواقع الجغرافية. تستخدم المهام سير عمل "الإصدار/التثبيت" (version/commit) من أجل التخطيط التعاوني دون اتصال بالإنترنت وإمكانية الرجوع إلى الإصدار السابق.

هيكل المهمة

صفحة المهام تعرض الأعمال المخطط لها مع تتبع التقدم ومتطلبات الموارد المتعددة

الحقول الأساسية:**

  • الاسم - اسم وصفية للمهمة
  • الوصف - تعليمات العمل التفصيلية
  • الهندسة - نقطة أو خط أو مضلع يوضح موقع العمل
  • الأمر - أمر العمل الأصلي الذي يجمع المهام ذات الصلة
  • الموارد - مجموعة من المواد/العمالة المطلوبة (دعم متعدد الموارد)

متطلبات الموارد: يتضمن كل إدخال مورد ما يلي:

  • resource - مرجع تعريف المورد
  • volume - الكمية/المبلغ المطلوب
  • uom - وحدة القياس
  • assignedTo - الشخص المسؤول عن استلام سطر المورد المحدد هذا (اختياري)

مثال: ٠

المهام متعددة الموارد

النظام السابق: مورد واحد لكل مهمة

  • المشكلة: الأعمال المعقدة تؤدي إلى ظهور علامات خريطة زائدة
  • مثال: ١٠٠ عملية تركيب × ٤ موارد = ٤٠٠ نقطة خريطة

النظام الحالي: موارد متعددة لكل مهمة

  • الحل: علامة خريطة واحدة تمثل العمل الكامل
  • نفس المثال: ١٠٠ نقطة خريطة (واحدة لكل عملية تركيب)
  • خريطة أكثر نظافة، تخطيط مكاني أسهل

المزايا:

  • تقليل فوضى الخريطة
  • تجميع المواد ذات الصلة (باب + براغي + مادة لاصقة = مهمة واحدة)
  • تتبع التقدم عبر جميع الموارد

التكليف لكل مورد

يمكن تكليف كل سطر مورد في المهمة إلى شخص محدد. يتيح ذلك للمخططين تحديد من هو المسؤول عن استلام كل مادة أو إنجاز كل مكوّن من مكونات العمالة — على مستوى السطر، لا على مستوى أمر العمل فحسب.

آلية التكليف:

  • في تفاصيل المهمة، يحتوي كل صف مورد على عمود مكلَّف إليه
  • يظهر العمود تلقائيًا عند وجود تكليف في أي صف من صفوف المهمة؛ ويبقى مخفيًا في أنواع السجلات الأخرى كالتقارير التي لا ينطبق عليها التكليف
  • تكليف شخص ما لسطر مورد لا يحجز المخزون — بل يُسجّل من يُتوقع منه استلام العنصر وتسليمه
  • تُتتبَّع حالة الاستلام الفعلي (من استلم، وكم، ومتى) من خلال سجل المعاملات، لا من خلال المهمة ذاتها

لماذا التتبع على مستوى المورد؟

تجمع أوامر العمل مهامًا عديدة وتُسنَد إلى أشخاص، غير أن أمر العمل الواحد قد يشمل عشرات سطور الموارد عبر مهام متعددة. يسد التكليف لكل مورد هذه الفجوة: يستطيع المخطط أن يقول "آليس تحضر الـ٥٠ مترًا من القناة لهذه المهمة، وبوب يتولى صناديق التوصيل." يحصل كل شخص على عرض محدد بما يحتاج إلى جمعه — دون غموض بشأن من هو المسؤول عن أي عنصر.

إشعار إرسال التكليفات:

بعد تحديد تكليفات الموارد، يُرسل إجراء إرسال التكليفات على صفحة المهام إشعارات إلى جميع المكلَّفين. يتلقى كل شخص رسالة موحدة تشمل أوامر عمله (الاسم، وتاريخ الاستحقاق، والرابط) مع رمز QR واحد لكل سطر مورد مكلَّف. رمز QR هو تصريح الاستلام — يقوم العامل بمسحه في المستودع لاستلام عنصره المحدد. يُسجَّل الاستلام تلقائيًا كمعاملة عند المسح.

يتوفر إجراء إرسال التكليفات على مستوى الصف الفردي في كل مهمة، وكذلك كعملية جماعية عند تحديد مهام متعددة في الجدول.

المهام لها إصدارات

على عكس المهام/التقارير، تستخدم المهام سير عمل الإصدار/التأكيد:

لماذا الإصدارات:

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

سير العمل: ١. إنشاء إصدار (وضع المسودة) ٢. إضافة/تحرير المهام في المسودة ٣. التحقق المكاني (التحقق من التداخلات) ٤. التزام الإصدار → تصبح المهام "رسمية" ٥. يرى العاملون المهام الملتزم بها في المهام

التعاون دون اتصال بالإنترنت: يمكن لعدة مسؤولين إنشاء إصدارات منفصلة:

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

أنواع هندسة المهام

مهام النقاط

عمل في موقع واحد (تركيب المعدات، الفحص).

مثال: تركيب صندوق توصيل ١

مهام الخط

عمل خطي (مد كابلات، تركيب خطوط أنابيب).

مثال: مد ٥٠٠ متر من كابل الألياف الضوئية ٢

مهام المضلع

عمل قائم على المساحة (مناطق التغطية، مناطق الخدمة).

مثال: التوعية من باب إلى باب في الحي ٣

تصفية القرب

البحث عن المهام القريبة من مواقع محددة:

حالة الاستخدام: عامل في مستودع يريد مهام قريبة ١. افتح صفحة المهام ٢. انقر على زر "تصفية القريبة" ٣. اسحب علامة الخريطة إلى موقع المستودع ٤. حدد المسافة (على سبيل المثال، ٥ كم) ٥. يعرض الجدول المهام الموجودة ضمن نطاق نصف القطر فقط

التنفيذ الخلفي:

  • استعلام MongoDB $geoWithin باستخدام $centerSphere
  • يستخدم فهرس ٢dsphere في حقل الهندسة
  • تصفية مكانية سريعة حتى مع وجود آلاف المهام

إجراء الصف: انقر على "تصفية القريبة" في صف المهمة → يتم تعيين القرب تلقائيًا من موقع تلك المهمة

استخدام المهام في أوامر العمل

تظهر المهام في المهام الموكلة كـ خيارات عمل متاحة:

التخصيص المرن:

  • قد تحتوي أمر العمل على ١٠ مهام متاحة
  • تتطلب أهداف الموارد إكمال ١-٢ من تلك المهام
  • يختار العامل المهام التي سيكملها (مرونة)
  • التخصيص الزائد بمقدار ١٠ أضعاف أمر شائع (خيارات أكثر من الأهداف)

مثال: ٤

كان لدى العامل ٣٠ خيارًا من المهام لتحقيق الأهداف - مرونة عالية.

تتبع تقدم المهمة

الحساب: التقدم = متوسط الإنجاز عبر جميع الموارد

مثال: ٥

المؤشرات المرئية:

  • شريط التقدم: أخضر ≥١٠٠%، أصفر ≥٥٠%، أحمر <٥٠%
  • مؤشر الهندسة: علامة خضراء إذا كانت النقطة/الخط/المضلع صحيحًا
  • يستخدم في: يعرض المهام/التقارير التي تشير إلى هذه المهمة

إنشاء المهام

الوصول المطلوب: tasksCreate حق المسؤول

سير العمل: ١. انتقل إلى التنفيذ → المهام ٢. أنشئ إصدارًا جديدًا (أو عدّل مسودة موجودة) ٣. انقر على "إضافة مهمة" في الإصدار ٤. املأ المعلومات الأساسية (الاسم، الوصف) ٥. حدد الطلب (التجميع الأصلي) ٦. انقر على الخريطة لتعيين الهندسة ٧. أضف الموارد (يمكن إضافة عدة موارد) ٨. احفظ المهمة في المسودة ٩. قم بتثبيت الإصدار عند اكتمال التخطيط

أفضل الممارسات:

  • قم بتجميع المواد ذات الصلة في مهمة واحدة (يقلل من فوضى الخريطة)
  • استخدم تسميات متسقة (على سبيل المثال، "تركيب - صندوق توصيل - المبنى ٤٢")
  • حدد أحجام موارد واقعية (لإبلاغ تخطيط المخزون)
  • قم بتضمين موارد العمالة (يساعد في حسابات التوظيف)

إنشاء المهام بالجملة

قم بإنشاء العديد من المهام المتشابهة بكفاءة:

السيناريو: تركيب ١٠٠ صندوق توصيل في مبانٍ مختلفة

الطريقة ١: الاستيراد من GeoJSON ١. قم بإنشاء GeoJSON يحتوي على ١٠٠ نقطة ٢. كل عنصر له خصائص: الاسم، الوصف، الموارد ٣. استيراد → ينشئ ١٠٠ مهمة في إصدار واحد

الطريقة ٢: الإنشاء من اختيار الخريطة ١. حدد ١٠٠ ميزة مبنى موجودة على الخريطة ٢. انقر على "إنشاء مهام" ٣. اختر قالب المهمة (متطلبات الموارد) ٤. ينشئ مهمة في موقع كل مبنى

الطريقة ٣: نسخ مهمة موجودة ١. حدد المهمة ذات تكوين الموارد الصحيح ٢. انقر على "تكرار المهمة" ٣. تعديل الشكل الهندسي إلى الموقع الجديد ٤. كرر العملية للتركيبات المماثلة

طباعة المهام دفعةً واحدة

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

  1. افتح صفحة تفاصيل المشروع الأصلي (/fulfillment/projects/:id)
  2. انقر على طباعة جميع المهام في الرأس
  3. يفتح عرض الطباعة المجمَّع على /fulfillment/tasks/batch/[ids] — قائمة من معرّفات المهام مفصولة بفواصل في عنوان URL
  4. تعرض الشاشة 10 مهام لكل صفحة (مقسَّمة إلى صفحات بواسطة CSS — جميع السجلات موجودة في DOM بحيث تؤدي الطباعة إلى إخراج كل شيء)
  5. اطبع الصفحة — تفصل فاصلة صفحة صلبة كلَّ مهمة عن الأخرى، فتحصل على مهمة واحدة في كل صفحة مطبوعة

ملاحظات:

  • حد أمان: يقتصر عرض الطباعة المجمَّع على 200 مهمة لكل تشغيل طباعة. إذا تجاوز المشروع هذا الحد، تظهر لافتة تحذيرية وتُقتطع المهام التي تزيد على 200 — قسّم الطباعة إلى دفعات أصغر عند الحاجة.
  • لا يتضمن ذلك أي عمل خادم جديد — يقرأ عرض الطباعة المجمَّع نقطة النهاية الموجودة /api/tasks/get?_id=csv ويعرض كل مهمة باستخدام مكونات RecordDetail* نفسها المستخدمة في صفحة المهمة الفردية، لذا يتطابق المحتوى المطبوع مع ما ستحصل عليه لو طبعت المهام واحدة تلو الأخرى.

التحقق من صحة المهام

قبل تثبيت الإصدار، يقوم النظام بالتحقق مما يلي:

التعارضات المكانية:

  • المضلعات المتداخلة (مهمتان تغطيان نفس المنطقة)
  • المهام النقطية القريبة جدًا من بعضها (عتبة قابلة للتعديل)
  • المهام الخطية التي تعبر مناطق محظورة

توافر الموارد:

  • تحذير إذا لم تكن الموارد المطلوبة موجودة في المخزون
  • لا يمنع التثبيت (يمكن تأجيل المهام إلى تاريخ لاحق)
  • يساعد في تخطيط المشتريات

صحة الشكل الهندسي:

  • يجب أن يكون للنقاط إحداثيات صالحة
  • يجب أن تحتوي الخطوط على نقطتين على الأقل
  • يجب أن تكون المضلعات مغلقة (النقطة الأولى = النقطة الأخيرة)

دورة حياة أمر عمل المهمة

التدفق النموذجي: ١. التخطيط - يقوم المسؤول بإنشاء المهام في نسخة مسودة ٢. التثبيت - يتم تثبيت النسخة، وتصبح المهام رسمية ٣. أمر العمل - تتم إضافة المهام إلى مهام العمال (مصفوفة المهام المتاحة) ٤. التنفيذ - يقوم العامل بإنجاز بعض المهام المتاحة ٥. إعداد التقارير - يشير العامل إلى taskRef في تقرير workCompleted ٦. التقدم - يتم تحديث تقدم المهمة بناءً على العمل المنجز ٧. الإنجاز - عندما تصل جميع الموارد إلى ١٠٠٪، يتم وضع علامة "مكتمل" على المهمة

إعادة استخدام المهام: يمكن أن تظهر المهام في مهام متعددة:

  • نفس المهمة مخصصة لعدة عمال (تقسيم العمل)
  • مهمة تم إكمالها جزئيًا بواسطة عامل واحد، وأكملها عامل آخر
  • تجميع التقدم عبر جميع التقارير

عرض تفاصيل المهمة

تُظهر صفحة تفاصيل المهمة:

  • المعلومات الأساسية والهندسة
  • قائمة متطلبات الموارد
  • شريط التقدم والنسبة المئوية
  • مستخدمة في: أوامر العمل والتقارير التي تشير إلى هذه المهمة
  • سجل الإصدارات (الإصدارات التي عدلت هذه المهمة)
  • العلاقة المكانية بالمهام المجاورة

عرض الخريطة:

  • مرمزة بالألوان حسب التقدم (الأحمر = لم تبدأ، الأصفر = جزئي، الأخضر = مكتمل)
  • مؤشرات نوع الهندسة (رمز للنقطة، نمط الخط، تعبئة المضلع)
  • قابلة للنقر لعرض نافذة تفاصيل سريعة
  • قابلة للتصفية حسب الترتيب، التقدم، القرب