#P1609
PUT /v2/accounting/closing/definite/{type}
Route Info
| Method | Endpoint | Controller | Middleware |
| PUT | /v2/accounting/closing/definite/{type} | AccountingController@definiteDocumentsInClosingAccount | authWithJwt |
شرح عملکرد (Functionality)
این مسیر برای قطعیکردن دستهای اسناد هنگام بستن دوره مالی استفاده میشود. نوع سند از پارامتر {type} تعیین میشود و شامل موارد زیر است:
- daily_sales: اسناد فروش روزانه (جدول factors)
- daily_credit_debit: اسناد دریافت/پرداخت روزانه (جدول pays)
- manual_documents: اسناد دستی (جدول manual_documents)
- salary: (رزرو – بدون پیادهسازی)
- treasury_bills: (رزرو – بدون پیادهسازی)
هر نوع سند با شرطهای خاص زمانی (شمسی/میلادی) و وضعیت فعلی، به وضعیت 3 (قطعی) بهروزرسانی میشود. این API بخشی از پیوستگی عملیات بستن حساب است و معمولاً پس از بررسی عدم وجود سند باز انجام میشود.
پارامترهای ورودی (Input)
Path Parameter
- {type}: نوع سند هدف (daily_sales/daily_credit_debit/manual_documents/…)
Body (JSON):
{
"year": "1404",
"month": "03",
"branch": 1
}
- year: سال شمسی موردنظر
- month: ماه شمسی موردنظر
- branch: شعبه هدف
منطق پردازش (Logic)
ابتدا سال/ماه شمسی به میلادی تبدیل میشوند:
- miladi.year = سال میلادی
- miladi.month = ماه میلادی
- shamsi.year = سال شمسی
- shamsi.month = ماه شمسی
قطعیکردن اسناد فروش روزانه (type = daily_sales)
فیلترها:
- status ∈ [1, 4]
- branch = {branch}
- created_at.year = میلادی
- created_at.month = میلادی
UPDATE factors SET status = 3
قطعیکردن دریافت/پرداخت روزانه (type = daily_credit_debit)
شرطها:
- status ∈ [4, 6]
- group IS NULL
- branch = {branch}
- اگر deadline NULL → created_at ≤ YYYY-12-31 میلادی
- اگر deadline NOT NULL و نوع چک باشد → deadline ≤ YYYYMM31 شمسی
UPDATE pays SET status = 3
قطعیکردن اسناد دستی (type = manual_documents)
شرطها:
- status = 1
- branch = {branch}
- date ≤ YYYYMM31 شمسی
UPDATE manual_documents SET status = 3
موارد رزرو (بهصورت NO-OP)
- salary → بدون تغییر
- treasury_bills → بدون تغییر
return false
پاسخ موفق (Success Response)
اگر عملیات با موفقیت انجام شود (true):
Status: 204 No Content Body: ""
پاسخ خطا (Invalid Type)
اگر نوع سند شناسایی نشود (false):
Status: 422 Unprocessable Entity Body: ""
وابستگی دیتابیس
| Table | Description |
| factors | اسناد فروش روزانه |
| pays | اسناد دریافت/پرداخت (چک + نقد) |
| manual_documents | سندهای دستی |
Meta
- HTTP Status Codes: 204, 422
- نقش کلیدی در فرآیند قطعیسازی قبل از بستن مالی
- همواره نیازمند year + month + branch