#P1606
POST /v2/manual-document/preferences/list/details
Route Info
| Method | Endpoint | Controller | Middleware |
| POST | /v2/manual-document/preferences/list/details | AccountingController@preferenceDetails | authWithJwt |
شرح عملکرد (Functionality)
این مسیر برای دریافت جزئیات کامل معین (Moeen) و تفصیل (Preference) استفاده میشود. ورودی شامل آرایهای از رکوردها است که هر کدام شامل:
moeen: کد معین ۶ رقمیpreference: کد تفصیل ۹ رقمی (pref code)
این متد با منطق زیر کار میکند:
- استخراج کدهای group/general/moeen از کد اصلی ۶ رقمی
- اعتبارسنجی وجود داشتن:
- accounting_groups
- accounting_generals
- accounting_moeens
- بازگرداندن اطلاعات کامل معین شامل:
- id
- serialId
- aggregation
- title + کد کامل
- تشخیص نوع تفصیل از روی ۲ رقم اول کد و استخراج اطلاعات آن از جداول مربوطه:
(accounts / offices / colleague / personnel / references / customers / titles / announcement) - در صورت عدم یافتن هر جزء، پاسخ خطـا ۴۲۲ برگردانده میشود.
پارامترهای ورودی (JSON Body)
Body:
{
"data": [
{
"moeen": "110203",
"preference": 120000145
}
],
"branch": 1
}
- data: آرایهای از آیتمها
- moeen: رشته/عدد با ۶ رقم (گروه + کل + معین)
- preference: کد کامل تفصیل
- branch: شناسه شعبه
خروجی موفق (Success Response)
در صورت موفقیت، خروجی شامل آرایهای از آیتمهای پردازش شده:
{
"items": [
{
"moeen": {
"id": 25,
"serialId": 25,
"details": {
"aggregation": 1
},
"code": "110203",
"text": "110203 - فروش | فروش داخلی"
},
"preference": {
"id": "title-15",
"code": 120000145,
"table": "title",
"text": "هزینه تعمیرات",
"financial": false
}
}
],
"meta": {
"timestamp": 1718453500
}
}
خطاهای اعتبارسنجی (Error Response 422)
اگر هر بخش از گروه، کل یا معین وجود نداشته باشد:
{
"error": {
"code": 1000,
"message": "گروه حسابداری با کد 11 در معین 110203 وجود ندارد"
},
"meta": {
"timestamp": 1718453500
}
}
اگر تفصیل وجود نداشته باشد:
{
"error": {
"code": 1000,
"message": "تفصیل با کد 120000999 وجود ندارد"
},
"meta": {
"timestamp": 1718453500
}
}
ساختار استخراج کد معین (Moeen Code Structure)
برای هر کد ۶ رقمی مثلاً 110203:
- group = 11
- general = 02
- moeen = 03
این ۳ بخش بهترتیب روی جداول زیر اعتبارسنجی میشوند:
- accounting_groups
- accounting_generals
- accounting_moeens
تشخیص نوع تفصیل بر اساس ۲ رقم اول کد
| پیشوند | نوع | جدول مرتبط |
| 10 | حساب بانکی | accounting_accounts |
| 12 | عنوانها | titles |
| 13 | پرسنل / اپراتور | operators |
| 20 | همکار | colleagues |
| 21 | اعلان | announcement |
| 30 | مرکز هزینه | offices |
| 40 | فاکتور (reference) | factors + customers |
| 80 | مشتری | customers |
نمونه خروجی تفصیل برای انواع مختلف
1 — Bank Account (prefix 10)
{
"id": "account-12",
"code": 100000532,
"text": "بانک ملت شعبه مرکزی (1234567890)"
}
2 — Personnel (prefix 13)
{
"id": "personnel-88",
"code": 130001234,
"text": "مهدی احمدی"
}
3 — Office (prefix 30)
{
"id": "office-7",
"code": 300000215,
"text": "مرکز هزینه اداره مرکزی"
}
Meta
تمام پاسخها شامل:
timestamp: زمان Unix- HTTP Status:
- 200 در صورت موفقیت
- 422 در صورت خطا