-
DevPilot authored
المشكلة اللي اتبلّغت: نفس اللاعب متسجّل مرتين بنفس الرقم القومي — مرة كعضو ومرة كغير عضو. اتأكدت من الداتا الحية: فعلاً فيه 7 أرقام قومية مكررة، واحد منهم متكرر 4 مرات. شاشة تسجيل اللاعبين ما كانش فيها أي فحص للتكرار، والـ index على العمود non-unique. المنع: - PlayerController::store() و ::update() بقوا يرفضوا أي رقم قومي مسجّل للاعب تاني، ويقولوا اسم اللاعب ورقمه عشان الموظف يفتح ملفه بدل ما يسجّله من جديد. التنضيف (شاشة جديدة /sa/players/duplicates): - بتعرض كل مجموعة مكررة وجوّاها اللاعبين، وقدّام كل نسخة عدد السجلات المرتبطة بيها (اشتراكات، حضور، بطاقات، مستندات...) عشان الموظف يعرف النسخة اللي عليها شغل فعلي. - بتفرّق بين «نفس الاسم» و«أسماء مختلفة» وبتحذّر: مش كل تكرار هو نفس الشخص — أحياناً حد كتب رقم قومي غلط لشخص تاني. - إجراءين: دمج (بينقل كل السجلات للنسخة المختارة ويأرشف الباقي)، أو تفريغ الرقم القومي لو اتضح إنهم أشخاص مختلفين. - الدمج كله في transaction، ومفيش حذف نهائي — النسخ المدموجة بتتأرشف بملاحظة توضّح اتدمجت في مين. ملاحظة مهمة في التنفيذ: في الداتابيز 45 عمود اسمه player_id، لكن كتير منهم بيشاور على جدول players بتاع «شؤون اللاعبين» — جدول تاني خالص. فالدمج بيشتغل على قايمة جداول مكتوبة بإيد ومتأكد منها، مش على اسم العمود، عشان ما نخربش بيانات موديول تاني. كمان: مسمّى «إيداع ورقة قبض برسم التحصيل» في قيود الأوراق التجارية اتغيّر لـ «تسليم ورقة قبض للبنك للتحصيل» — «برسم التحصيل» مصطلح بنكي معناه «عشان يتحصّل»، بس بتتقري كأن فيه رسم اتخصم.
5b2dbb02
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| Core | ||
| Middleware | ||
| Modules | ||
| Shared |