• DevPilot's avatar
    feat(sa): أداة تكرار الرقم القومي للاعبين + منع التكرار من أصله · 5b2dbb02
    DevPilot authored
    المشكلة اللي اتبلّغت: نفس اللاعب متسجّل مرتين بنفس الرقم القومي — مرة
    كعضو ومرة كغير عضو. اتأكدت من الداتا الحية: فعلاً فيه 7 أرقام قومية
    مكررة، واحد منهم متكرر 4 مرات. شاشة تسجيل اللاعبين ما كانش فيها أي فحص
    للتكرار، والـ index على العمود non-unique.
    
    المنع:
    - PlayerController::store() و ::update() بقوا يرفضوا أي رقم قومي مسجّل
      للاعب تاني، ويقولوا اسم اللاعب ورقمه عشان الموظف يفتح ملفه بدل ما
      يسجّله من جديد.
    
    التنضيف (شاشة جديدة /sa/players/duplicates):
    - بتعرض كل مجموعة مكررة وجوّاها اللاعبين، وقدّام كل نسخة عدد السجلات
      المرتبطة بيها (اشتراكات، حضور، بطاقات، مستندات...) عشان الموظف يعرف
      النسخة اللي عليها شغل فعلي.
    - بتفرّق بين «نفس الاسم» و«أسماء مختلفة» وبتحذّر: مش كل تكرار هو نفس
      الشخص — أحياناً حد كتب رقم قومي غلط لشخص تاني.
    - إجراءين: دمج (بينقل كل السجلات للنسخة المختارة ويأرشف الباقي)، أو
      تفريغ الرقم القومي لو اتضح إنهم أشخاص مختلفين.
    - الدمج كله في transaction، ومفيش حذف نهائي — النسخ المدموجة بتتأرشف
      بملاحظة توضّح اتدمجت في مين.
    
    ملاحظة مهمة في التنفيذ: في الداتابيز 45 عمود اسمه player_id، لكن كتير
    منهم بيشاور على جدول players بتاع «شؤون اللاعبين» — جدول تاني خالص.
    فالدمج بيشتغل على قايمة جداول مكتوبة بإيد ومتأكد منها، مش على اسم العمود،
    عشان ما نخربش بيانات موديول تاني.
    
    كمان: مسمّى «إيداع ورقة قبض برسم التحصيل» في قيود الأوراق التجارية اتغيّر
    لـ «تسليم ورقة قبض للبنك للتحصيل» — «برسم التحصيل» مصطلح بنكي معناه
    «عشان يتحصّل»، بس بتتقري كأن فيه رسم اتخصم.
    5b2dbb02
Name
Last commit
Last update
..
AcademyContractImportService.php Loading commit data...
AccrualRunner.php Loading commit data...
AccrualService.php Loading commit data...
AllocationPlanService.php Loading commit data...
BillingSourceService.php Loading commit data...
GapToolService.php Loading commit data...
InstrumentPostingService.php Loading commit data...
PostingRouter.php Loading commit data...
RevenueAllocator.php Loading commit data...
RevenuePostingEngine.php Loading commit data...
RevenueRecognitionService.php Loading commit data...
RevenueStreamRegistry.php Loading commit data...