Skip to main content
#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: {...} }