#P1603
POST /v2/manual-document/view
Route Info
| Method | Endpoint | Controller |
| POST | /v2/manual-document/view | AccountingController@viewManualDocument |
شرح عملکرد (Functionality)
این مسیر برای نمایش جزئیات کامل یک سند دستی (Manual Document) استفاده میشود. پس از دریافت شناسه سند:
- فراخوانی تابع
AccountingController::getManualDocumentDetails(id) - استخراج اطلاعات سند شامل:
- ردیفهای سند (Moeen، طرف حساب، شرح، بدهکار، بستانکار)
- تراز کامل سند شامل:
- debit_during_period
- credit_during_period
- debit_balance
- credit_balance
- دادههای برگشتی شامل کلیدهای
dataوbalanceهستند.
پارامترهای ورودی (Request Inputs)
Body (JSON یا Form-Data):
{
"id": 1524
}
- id: شناسه رکورد در جدول
manual_documents(اجباری)
خروجی موفق (Success Response)
ساختار خروجی شامل:
- data: آرایه کامل آیتمهای سند (بسته به نوع سند متفاوت است: daily_sales, daily_credit_debit, manual, opening, closing)
- balance: تراز نهایی سند
{
"status": true,
"time": 1718450000,
"data": [
{
"moeen": {
"id": 1102,
"title": "بانک ملت"
},
"preference": {
"id": "colleague-5421",
"title": "علی رضایی"
},
"preference_2": false,
"preference_3": false,
"preference_4": false,
"description": "سند دستی 3125 | پرداخت نقدی",
"credit": 0,
"debit": 2500000
}
],
"balance": {
"debit_financial_past": 0,
"credit_financial_past": 0,
"debit_start_period": 0,
"credit_start_period": 0,
"debit_during_period": 2500000,
"credit_during_period": 0,
"debit_finish_period": 2500000,
"credit_finish_period": 0,
"debit_balance": 2500000,
"credit_balance": 0
}
}
خروجی خطا (Error Response)
در صورت وقوع هرگونه Exception، ساختار خطا به شکل زیر بازگردانده میشود:
{
"status": false,
"time": 1718450000,
"code": 5005,
"message": "Error message ...",
"trace": [ ... ]
}
خلاصه منطق داخلی getManualDocumentDetails
بسته به نوع سند:
- daily_sales: محاسبه از جداول فاکتور و پرداختها
- daily_credit_debit: ترکیب اقلام پرداخت و بدهکار/بستانکار
- manual: لیست ردیفهای
paysباgroup = id - opening / closing: استخراج اقلام افتتاحیه/اختتامیه
در پایان:
- ذخیره گزارش تراز در Redis با کلید:
documents:balance_report:{id} - برگشت:
{ data: [...], balance: {...} }