#P1591
POST /v2/accounting/connections/store
Route Info
| Method | Endpoint | Controller |
| POST | /v2/accounting/connections/store | AccountingController@storeConnection |
شرح عملکرد (Functionality)
این متد وظیفه ایجاد یک اتصال (Connection) و گروهبندی چندین رکورد مالی مختلف (مثل سندهای پرداختی، اقلام فاکتور، چکها و سوابق مالی) تحت یک شناسه واحد را دارد.
- ابتدا یک رکورد جدید در جدول
connectionsایجاد میکند.- شماره سریال (
serial) با استفاده از تابع کمکیStaticController::getSerialIdتولید میشود (این تابع آخرین سریال شعبه را میخواند و یکی اضافه میکند).
- شماره سریال (
- سپس روی آرایه ورودی
itemsحلقه میزند و بر اساسtypeهر آیتم، جدول مربوطه را آپدیت میکند:- اگر نوع
pay,wage,manual_documentباشد → جدول pays آپدیت میشود. - اگر نوع
fitemباشد → جدول factor_items آپدیت میشود. - اگر نوع
financial_pastباشد → جدول financial_pasts آپدیت میشود. - اگر نوع
checkباشد → جدول check_operations آپدیت میشود.
- اگر نوع
- در رکوردهای هدف، فیلد
relationshipبرابر با ID کانکشن جدید و فیلدupdated_atبرابر با زمان حال تنظیم میشود.
پارامترهای ورودی (JSON Body)
{
"branch": 101,
"type": "merge_doc", // نوع کانکشن
"id": 500, // شناسه آبجکت اصلی (Object ID)
"items": [
{ "id": 101, "type": "pay" },
{ "id": 205, "type": "check" },
{ "id": 12, "type": "fitem" }
]
}
- branch: شناسه شعبه (جهت تولید سریال).
- items: آرایهای از اشیاء که هر کدام شامل
idرکورد هدف وtypeآن هستند.
خروجی (Response)
موفق (Success)
{
"status": true,
"time": 1715780023
}
خطا (Error)
مدیریت خطای خاصی پیادهسازی نشده است. اگر دیتابیس خطا دهد (مثلاً ID اشتباه باشد یا اتصال قطع شود)، خطای استاندارد لاراول (500) باز میگردد.