#P1435
POST /api/v2/personnel/traffic/store
Route Info
| Method | Endpoint | Controller | Middleware | Purpose |
| POST | /api/v2/personnel/traffic/store | UserController@storeTrafficPersonnel | authWithJwt | ثبت ورود یا خروج پرسنل در جدول ترددها (rollcalls). |
منطق عملکرد
- دادهها از درخواست خوانده میشوند و در جدول
rollcallsدرج میشوند. - ورودیها شامل تاریخ، ساعت، توضیحات و شناسه پرسنلی هستند.
- ساعت از فرمت استاندارد
HH:mmگرفته و به رشته عددی بدون جداکننده تبدیل میشود.
پارامترهای ورودی
| نام | نوع | ضروری | توضیح |
| date | string (yyyy/mm/dd) | بله | تاریخ مربوط به تردد. |
| time | string (HH:mm) | بله | ساعت ثبت تردد. |
| description | string | خیر | توضیحات اختیاری درباره تردد. |
| branch | integer | بله | شناسه شعبه. |
| operator | object | بله | شناسه اپراتور از JWT شامل id و personnel_id. |
POST /api/v2/personnel/traffic/store
{
"date": "1404/08/22",
"time": "08:45",
"description": "شروع کاری بهصورت اضافهکار"
}
نمونه خروجی موفق
{
"status": true,
"time": 1732037100
}
امنیت
- JWT معتبر الزامی است.
- دسترسی فقط برای پرسنل همان شعبه مجاز است.
Dependencies
- Functions::checkDatetime()
- DB Facade
- Carbon
- Exception
کارایی
در حد 1–2 ms برای درج رکورد؛ سریع و کمهزینه.
مدیریت خطا
تمام خطاهای دیتابیس یا ورودی در try/catch گرفته شده و پاسخ JSON با status=false و فیلد error بازگردانده میشود.
اثرات جانبی
یک رکورد جدید در جدول ترددها اضافه میشود.
ردپای حسابرسی
ندارد؛ پیشنهاد میشود برای هر ثبت تردد SystemLog::dispatch() اضافه گردد.
پیشنهاد بهبود
- افزودن بررسی همزمان (Duplicate) برای جلوگیری از ثبت دو ورود در یک روز.
- اتصال به سیستم حضور و غیاب سختافزاری.
جمعبندی
روت ساده، سریع و مستقیم برای ثبت تردد پرسنل است. پایهایترین بخش ارتباط انسانی در سیستم حضور و غیاب شعب محسوب میشود.