Skip to main content
#P1557

GET /api/v2/tasks/categories/list

Route Info

Method Endpoint Controller
GET /api/panel/v2/accounting/account-billtasks/categories/list AccountingController@accountBillOfficialController@listTasksCategories

شرح عملکرد (Functionality)

این متد وظیفهلیست تولیددسته‌بندی‌های صورتحسابتسک را در دو گروه مجزا (گردش حساب)"my" و محاسبه"other") ترازواکشی برایمی‌کند. یکمنطق سرفصل حسابداری مشخص را بر عهده داردتفکیک و مراحلپردازش داده‌ها به شرح زیر را طی می‌کند:است:

  • تعیینبخش بازه"My زمانی:Categories" (دسته‌بندی‌های من):
    • اگرتمامی پارامترهایرکوردهایی از جدول advanced->fromtasks_categories وانتخاب می‌شوند که فیلد touser ارسالآن‌ها نشوند،برابر سیستمبا بهشناسه طوراپراتور پیش‌فرضجاری بازهباشد.
    • ۳
    • تعداد ماهتسک‌های اخیرفعال را(status=1) در نظرهر دسته‌بندی شمارش می‌گیرد.
    شود.
  • تشخیص سطح حساب:
    • بر اساس طول رشتهاگر پارامتر idtasks، سطحدر حسابدرخواست تشخیصارسال دادهشده می‌شود:باشد، 2متد رقمgetTasks (گروه)،با 4آرگومان رقمown (کل)،فراخوانی 6 رقم (معین)شده و 9لیست رقمتسک‌های (تفضیل).
    • زیرمجموعه
    • اطلاعاتنیز پایه حساب و ساختار آن (مانند نوع ماهیت) واکشیبارگذاری می‌شود.
  • جمع‌آوریبخش اسناد"Other Categories" (Aggregation)سایر دسته‌بندی‌های مرتبط):
    • اسناددسته‌بندی‌هایی مالیرا از جداول مختلف بر اساس نوع حساب جمع‌آوریپیدا می‌شوند:کند که اپراتور جاری سازنده آن‌ها نیست، اما در تسک‌های زیرمجموعه آن‌ها (tasks_items) به عنوان مسئول (Operator) تعیین شده است.
    • جدولاز Pays:دستور شاملJSON_CONTAINS دریافت‌ها، پرداخت‌ها، تنخواه و وام‌ها.
    • Manual Documents: اسناد دستی (به جز افتتاحیه/اختتامیه).
    • Check Operations: عملیات‌های چک (وصول، واگذاری، خرج، استرداد).
    • POS/Online: اگر حساب بانکی باشد، تراکنش‌های کارتخوان و آنلاین به صورت تجمیعی روزانه درروی فیلد subsetoperators نمایشدر دادهجدول tasks_items برای یافتن مشارکت اپراتور استفاده می‌شوند.شود.
    • اگر پارامتر tasks ارسال شود، متد getTasks با آرگومان other فراخوانی می‌شود تا فقط تسک‌های مرتبط با کاربر را برگرداند.
  • اسنادHydration افتتاحیهداده‌ها و(User اختتامیه:& Operators):
    • بابرای فراخوانینمایش اطلاعات کاربر سازنده (user)، از متد داخلیاستاتیک getFinancialPastsStaticController::getOperators، مانده‌هایاستفاده انتقالیمی‌شود. از دوره‌هایآنجا قبلکه (تحتاین عنوانمتد سندآرایه افتتاحیه)برمی‌گرداند، در خروجی این کنترلر مستقیماً ایندکس [0] آن استخراج و اسناد بستن حساب (اختتامیه) محاسبه و به لیست اضافه می‌شوند.
  • محاسبه تراز نهایی:
    • مجموع بدهکار و بستانکار محاسبه شده و وضعیت تراز (بدهکار/بستانکار/تراز) در فیلد balanceuser خروجی قرار می‌گیرد.
    • در بخش تسک‌ها (اگر لود شوند)، فیلد operators حاوی آرایه‌ای کامل از خروجی getOperators است.

پارامترهای ورودی (Input Parameters)

بارگذاری
نام پارامتر نوع الزامی؟ توضیحات
branch Integer بله شناسه شعبه فعال.
idString/Intبلهکد حساب مورد نظرفعال (مثلاًمعمولاً کداز معینطریق یامیدل‌ور تفضیل)تزریق می‌شود).
typetasks StringBoolean/Int خیر نوعاگر حسابمقدار داشته باشد (مثلاً 1)، لیست تسک‌های هر دسته‌بندی نیز در خروجی (accounttasks).
jsonJSON Stringبلهحاوی تنظیمات صفحه‌بندی و فیلتر زمانیمی‌شود (آبجکتEager advanced)Loading دستی).

ساختار پارامتر json:

{
    "start": 0,
    "length": 50,
    "advanced": {
        "from": "1403-01-01", // اختیاری
        "to": "1403-12-29"   // اختیاری
    }
}

نمونه خروجی (Response)

نکته مهم در مورد ساختار کلیداده‌ها: پاسخ:فیلد user در آبجکت دسته‌بندی، یک آبجکت تکی است (چون ایندکس 0 دریافت می‌شود)، اما فیلد operators در داخل تسک‌ها، یک آرایه از آبجکت‌هاست.

{
    "details"status": true,
    "time": 1732615000,
    "data": {
        "title"my": "عنوان حساب (مثلاً بانک ملت)",
        "code": "101001"
    },
    "filtered":[
            {
                "from"id": "1403-01-01",5,
                "to": "1403-12-29"
    },
    "account"user": {
                    "id": 15,10,
                    "type"text": "moeen"1001 - نام نام‌خانوادگی",
                    "query": {
                        "id": 10,
                        "sex": "male",
                        "first_name": "نام",
                        "last_name": "نام‌خانوادگی",
                        "telegram": "username",
                        "group": "support",
                        "avatar": "path/to/img.jpg",
                        "position": "manager",
                        "personnel_id": 1001
                    }
                },
                "title": "بانکتوسعه ها"فنی",
                "nature"color": "#FF5733",
                "icon": "fa-code",
                "status": 1,
                "created": "2024-01-01T12:00:00.000000Z",
                "counter": 3,
                "tasks": [ // فقط اگر tasks=1 ارسال شده باشد پر می‌شود
                    {
                        "id": 101,
                        "user": { ... }, // آبجکت سازنده تسک (مشابه ساختار user بالا)
                        "category": {
                            "id": 5,
                            "title": "توسعه فنی"
                        },
                        "data"title": "بررسی باگ لاگین",
                        "connection": false, // یا آبجکت کانکشن اگر وجود داشته باشد
                        "priority": 1,
                        "order": 0,
                        "description": "توضیحات تسک...",
                        "deadline": "1403-10-20",
                        "operators": [ // آرایه اپراتورهای مسئول
                             {
                                "id": 12,
                                "text": "1002 - همکار فنی",
                                "query": { ... }
                             }
                        ],
                        "status": 1,
                        "created": "2024-11-01T10:00:00.000000Z"
                    }
                ]
            }
        ],
        "other": [
            {
                "serial_id"id": 10550,8,
                "system_serial": 550,
            "datetime": "1403/08/01 10:30:00",
            "credit": 0,
            "debit": 5000000,
            "description"user": { "html": "...",
                 "text": "..." },
            "details": {
                "title": {
                    "html": "شرح سند...",
                    "text": "شرح سند..."
                },
                "type": {
                    "subject": "pay", // pay,کاربری check,که pos,دسته‌بندی wage,را etc.ساخته (نه کاربر جاری)
                "title": "سندمالی"امور }
            }مالی",
                "subset"color": []"#33FF57",
                "icon": "fa-money",
                "status": 1,
                "created": "2024-02-15T14:30:00.000000Z",
                "counter": 1, // آرایهتعداد ریزتراکنش‌تسک‌هایی که من در آن‌ها (برایمشارکت POSدارم
                و"tasks": Online)false // اگر tasks ارسال نشود، false برمی‌گردد
            }
        ],
    "balance": {
        "credit": 250000000,
        "debit": 180000000,
        "balance": -70000000,
        "diagnosis": "Creditor" // Creditor, Debtor, Neutral
    }
}