arc/hesabixAPI/scripts/analyze_remaining_invoices.md
2026-04-14 19:34:55 +03:30

5.5 KiB
Executable file

گزارش بررسی پیشنهادات برای فاکتورهای باقی‌مانده

خلاصه وضعیت

  • کل فاکتورهای باقی‌مانده: 3,651
  • فاکتورهای بدون Business Mapping: 3,532 (96.7%)
  • فاکتورهای با Business Mapping اما منتقل نشده: 119 (3.3%)

پیشنهاد 1: بررسی و انتقال کسب‌وکارهای باقی‌مانده

وضعیت:

  • 250 کسب‌وکار بدون mapping
  • 3,532 فاکتور تحت تأثیر

یافته‌ها:

  1. برخی از این کسب‌وکارها دارای کاربر در سیستم جدید هستند اما کسب‌وکار ندارند:

    • درمان طب (602 فاکتور) - کاربر ID: 3222
    • شرکت ماشین های اداری کارو (112 فاکتور) - کاربر ID: 45
    • جیکات وب (99 فاکتور) - کاربر ID: 2715
    • مسجد حوری (80 فاکتور) - کاربر ID: 301
    • صنایع غذایی دشت ناز مائده (78 فاکتور) - کاربر ID: 2616
  2. برخی کاربر ندارند:

    • اسمگ فارسی (235 فاکتور)
    • متین - سینا (216 فاکتور)
    • Aaaaa (104 فاکتور)
    • سایت مهتاکو (102 فاکتور)

راه‌حل:

  1. برای کسب‌وکارهایی که کاربر دارند: ایجاد کسب‌وکار جدید با همان نام
  2. برای کسب‌وکارهایی که کاربر ندارند: ابتدا کاربر را ایجاد/یافت کرده سپس کسب‌وکار

پیشنهاد 2: بررسی فاکتورهای با mapping اما منتقل نشده

وضعیت:

  • 119 فاکتور با business mapping اما منتقل نشده
  • 9 فاکتور buy
  • 110 فاکتور sell

مشکلات شناسایی شده:

الف) فاکتورهای بدون Person ID (102 فاکتور sell):

  • مشکل: فاکتورهای فروش نیاز به person_id دارند
  • نمونه:
    • Invoice ID: 50770 (sell)
    • Invoice ID: 43141 (sell)
    • Invoice ID: 43173 (sell)

ب) فاکتورهای بدون Product Rows (7 فاکتور sell):

  • مشکل: فاکتور باید حداقل یک سطر کالا داشته باشد
  • این فاکتورها قابل انتقال نیستند

ج) فاکتورهای بدون Row (5 فاکتور sell):

  • مشکل: فاکتور بدون هیچ سطری
  • این فاکتورها قابل انتقال نیستند

راه‌حل:

  1. بررسی اینکه آیا product_id و person_id در mapping هستند
  2. اگر mapping دارند اما منتقل نشده‌اند، احتمالاً مشکل duplicate code یا خطای دیگر است
  3. فاکتورهای بدون row/product قابل انتقال نیستند - باید رد شوند

پیشنهاد 3: بررسی فاکتورهای بدون row/product/person

وضعیت:

  • 5 فاکتور بدون row
  • 7 فاکتور بدون product rows
  • 102 فاکتور بدون person rows

تصمیم:

  • این فاکتورها قابل انتقال نیستند
  • باید در لاگ به عنوان "rejected" ثبت شوند
  • نیازی به تلاش مجدد نیست

پیشنهاد 4: اجرای مجدد migration برای فاکتورهای با business mapping

وضعیت:

  • 119 فاکتور با business mapping منتقل نشده‌اند
  • باید علت را شناسایی کرد

اقدامات:

  1. بررسی لاگ خطاها برای این فاکتورها
  2. بررسی duplicate code
  3. بررسی mapping product_id و person_id
  4. اجرای مجدد migration فقط برای این فاکتورها

جمع‌بندی و اولویت‌بندی

اولویت 1 (ضروری):

  • ایجاد کسب‌وکارها برای کاربران موجود: حدود 1,071 فاکتور قابل انتقال
  • بررسی فاکتورهای با mapping اما منتقل نشده: 119 فاکتور

اولویت 2 (مهم):

  • ایجاد کاربران و کسب‌وکارهای باقی‌مانده: 2,461 فاکتور

اولویت 3 (اختیاری):

  • فاکتورهای بدون row/product/person: 114 فاکتور - قابل انتقال نیستند

اقدامات پیشنهادی

1. ایجاد کسب‌وکار برای کاربران موجود:

-- برای هر کسب‌وکار قدیمی که کاربر در سیستم جدید دارد:
-- ایجاد کسب‌وکار جدید با نام یکسان

2. اجرای migration برای فاکتورهای با business mapping:

# اجرای migration فقط برای فاکتورهایی که business mapping دارند
# و مشکل duplicate code یا دیگر مشکلات را بررسی می‌کند

3. ایجاد script برای کسب‌وکارهای باقی‌مانده:

  • بررسی و ایجاد کاربر (در صورت نبود)
  • ایجاد کسب‌وکار
  • اجرای migration مجدد

نتیجه‌گیری

  1. 96.7% از فاکتورهای باقی‌مانده مربوط به کسب‌وکارهایی است که mapping ندارند
  2. حدود 30% از این کسب‌وکارها کاربر در سیستم جدید دارند - می‌توان کسب‌وکار ایجاد کرد
  3. 119 فاکتور با mapping منتقل نشده که نیاز به بررسی دقیق دارند
  4. 114 فاکتور قابل انتقال نیستند (بدون row/product/person)