#P1627
POST /v2/redis-accounting/save-document
1. Overview
این روت مسئول ثبت یک سند حسابداری در Redis است. سند شامل مبالغ بدهکار/بستانکار، تاریخ شمسی، تاریخ میلادی، گروه/کل/معین/تفضیلی، و توضیحات است.
این Endpoint هستهٔ سیستم حسابداری است. تمام ماندههای حسابها از همین مسیر بهروز میشوند.
2. Request Schema
POST /v2/redis-accounting/save-document
Content-Type: application/json
Body
{
"serial": number,
"description": string,
"jalaliDate": "YYYY-MM-DD",
"debtor": number,
"creditor": number,
"group": number,
"general": number,
"account": number,
"subsidiary": number,
"datetime": "YYYY-MM-DD HH:MM:SS" (optional)
}
3. Validation Rules
- serial → required, integer
- description → required, string
- jalaliDate → required, format /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/
- debtor/creditor → numeric, max 9999999999999
- group/general/account/subsidiary → required, integer
- datetime → optional → converted to Carbon
4. Controller Flow
- ورودی validate میشود.
- jalaliDate → تبدیل به میلادی با Jalalian::fromFormat
- اگر debtor یا creditor وجود نداشته باشد → 0
- datetime اگر وجود نداشت → now()
- صدا زدن RedisAccountingService::saveDocument()
- برگشت خروجی با:
{ "status": true, "serial": {computed_serial}, "id": {doc_id}, "time": {execution_time_ms} }