#P1557
GET /api/v2/tasks/categories/list
Route Info
| Method | Endpoint | Controller |
| GET | /api/ |
شرح عملکرد (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 | بله | شناسه شعبه |
| خیر | ) | ||
|
ساختار پارامتر 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
}
}