Skip to main content
#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) برای جلوگیری از ثبت دو ورود در یک روز.
  • اتصال به سیستم حضور و غیاب سخت‌افزاری.

جمع‌بندی

روت ساده، سریع و مستقیم برای ثبت تردد پرسنل است. پایه‌ای‌ترین بخش ارتباط انسانی در سیستم حضور و غیاب شعب محسوب می‌شود.