#P1107
Function getCommunicationsCalculation
· هدف:
این متد استاتیک یک ابزار کمکی برای واکشی جزئیات یک “آیتم محاسباتی” (Calculation Item) خاص است که در یک ارتباط (Communication) استفاده شده. هدف اصلی آن، فراهم کردن اطلاعات لازم برای نمایش جزئیات آیتم (مانند کلاس پرواز یا نوع واگن قطار) در UI مدیریت ارتباطات است. متد بر اساس نوع چارتر (route) و زیرنوع آن (aircraft, train)، اطلاعات را از جداول مربوطه واکشی و فرمتدهی میکند. برای پرواز، کلاس یاتا (IATA) و نام انگلیسی و فارسی آن را برمیگرداند. برای قطار، جزئیات نوع واگن (مانند ستاره و نوع کوپه) را از جدول train_types استخراج میکند. این تابع به متمرکز کردن منطق واکشی جزئیات آیتم کمک میکند.
| ویژگیها | توضیحات |
| هدف کلی | واکشی و فرمتدهی جزئیات یک آیتم محاسباتی برای استفاده در ماژول ارتباطات. |
| متد استاتیک | قابل فراخوانی به صورت عمومی (CharterController::getCommunicationsCalculation(...)). |
| منطق شرطی | پردازش متفاوت بر اساس subtype چارتر (aircraft یا train). |
| واکشی داده | استعلام از جداول charter_calculations_route و train_types. |
| خروجی ساختاریافته | بازگرداندن یک آبجکت calculation با جزئیات کامل class. |
· ورودیها (پارامترها):
| توضیحات | موقعیت | نوع داده | نام پارمتر |
| شناسه چارتر اصلی. | Parameter |
integer |
$mainId |
| شناسه چارتر اصلی. | Parameter |
integer |
$itemId |
· خروجی (Return):
| توضیحات | نوع داده |
در صورت موفقیت، یک آرایه حاوی اطلاعات آیتم (id, main_id, class). در صورت عدم وجود آیتم یا نوع نامعتبر، false بازگردانده میشود. |
array or false |
· مثال استفاده / سناریو:
سناریو: واکشی جزئیات کلاس پرواز با شناسه آیتم ۵۰۱
- Call:
CharterController::getCommunicationsCalculation(101, 501) - Action:
- اطلاعات چارتر ۱۰۱ واکشی میشود (فرضاً
type='route',subtype='aircraft'). - اطلاعات آیتم ۵۰۱ از
charter_calculations_routeخوانده میشود (فرضاًtitle='Y'). - چون
subtypeبرابرaircraftاست، نام کلاس ازFunctions::getClassName('Y')استخراج میشود.
- Return:
php
[
'id' => 501,
'main_id' => 101,
'class' => [
"iata" => "Y",
"title_en" => "Economy",
"title_fa" => "اکونومی"
]
]