الهدف: تخلية صفحتي الورك ليست (dept) والفليديشن تعتمد على الباك إند كمصدر حقيقة واحد بدل ما المتصفح يعمل كل التجميع والمنطق — لتحسين الأداء والصيانة، من غير ما نكسر الشغل اليومي.
/lis/worklist/cards · /requests/{id}/rows · /search?serverWorklist=0/1 للتحكّم + الرجوع| المشكلة | السبب الجذري | الحل | |
|---|---|---|---|
| عضو البنل eAG مش ظاهر | النَسب كانت بتتعلّق بأي بنل حتى لو is_panel=0 | قيد is_panel=1 + تنظيف صفوف شاردة | اتصلح |
| الأعضاء ظاهرة مكرّرة | صفوف عرض مكرّرة + مفاتيح tracking متصادمة | id فريد للبنل + مفتاح tracking مركّب + حارس تكرار | اتصلح |
| الورك ليست بتسقّط تحاليل | الـendpoints ماكانتش بتفلتر بالقسم (lab_section_id) | دعم القسم في cards + rows (partition مثالي) | اتصلح |
| الورك ليست طلعت فاضية | الـAPI القديم بيتجاهل فلتر statuses → كان بيعرض كل طلبات اليوم؛ الجديد فلتر "الناقص" فأخفى المكتمل | status_filter=worklist = كل طلبات اليوم + ما-قبل-الـbench | اتصلح |
| كروت ما-قبل-الـbench مش بتظهر | الكروت مبنية من النتائج بس | prebenchCards() بتظهر الطلبات المجمّعة بدون نتيجة | اتصلح |
| النتائج الخاصة (file/culture/histopath) | إعدادات الإدخال مش في الـpayload | تمرير كل الحقول عبر الـ3 مراحل | اتصلح |
سكربت بيقارن — لكل طلب — مخرجات الباك الجديد مع الـAPI القديم /lis/results (بكل الصفحات)، عبر أيام وأقسام:
سكربت النشر بيمسح البندل القديم قبل النسخ — لو البناء فشل بيقع التطبيق. اتعمل حارس: مايمسحش إلا لو البناء نجح فعلاً.
الورك ليست + الفليديشن على الباك إند للكل (بعد Hard refresh).
?serverWorklist=0 = القديم (لسه موجود كـfallback). وgit رجوع كامل.
feat: WorklistContextService + endpoints feat: lab_section_id support fix: status_filter=worklist feat: special-result fields feat: default to backend path
استخدم الورك ليست كام يوم. لو كله مستقر → نحذف منطق الفرونت المكرر (مرحلة 5) ونقفل الموضوع نهائياً، فيتحسّن حجم الكود والصيانة أكتر. لحد ساعتها القديم متاح كرجوع فوري في أي لحظة.