{{ decision.title }}
{{ decision.summary }}
{{ isEmployee ? 'ترددها، نتیجهی محاسبه و درخواستهای خودت را در یک صفحه ببین.' : 'محاسبهی حضور، مرخصی و مجوزها با سابقهی قابل حسابرسی.' }}
{{ employeePortal.employee?.employee_id }} · فقط اطلاعات حساب پرسنلی شما نمایش داده میشود.
درخواستهای در انتظار از ماندهی قابل استفاده رزرو میشوند؛ مرخصی بدون حقوق فقط سابقهی مصرف دارد.
این جدول آخرین محاسبهی موفق دورهی انتخابشده را نشان میدهد و دادهی خام را تغییر نمیدهد.
| ردیف | تاریخ | روز | وضعیت | درخواست | ورود | خروج | حضور عادی | کسرکار اولیه | کسرکار نهایی | اضافهکار عادی | اضافهکار تعطیلی | اضافهکار قابل پرداخت |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ index + 1 }} | {{ day.work_date }} | {{ day.weekday }} | {{ day.source_status || '—' }} | — | {{ day.entry || '—' }} | {{ day.exit || '—' }} | {{ formatMinutes(day.normal_presence_minutes) }} | {{ formatMinutes(day.gross_underwork_minutes) }} | {{ formatMinutes(day.underwork_minutes) }} | {{ formatMinutes(day.ordinary_overtime_minutes) }} | {{ formatMinutes(day.holiday_overtime_minutes) }} | {{ formatMinutes(day.payable_overtime_minutes) }} |
{{ issue.message }}
تاریخ {{ issue.context?.work_date || issue.context?.from_date || '—' }}تا پیش از تصمیم مدیر میتوانی درخواست ثبتشدهی خودت را ویرایش یا پس بگیری.
| ردیف | تاریخ | نوع | مقدار | وضعیت | شرح | عملیات |
|---|---|---|---|---|---|---|
| {{ index + 1 }} | {{ item.work_date }} | {{ requestTypeLabel(item.request_type) }} | {{ requestAmountLabel(item) }} | {{ item.reason }} |
نمایش فشرده است؛ افزودن و ویرایش در پنجرهی مستقل انجام میشود.
| ردیف | شناسه | عنوان | ورود قابل محاسبه |
ورود بدون کسر |
موظفی عادی شنبه تا سهشنبه |
اضافهکار اجباری |
موظفی عادی چهارشنبه |
اضافهکار اجباری |
پنجشنبه | وضعیت | عملیات |
|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ index + 1 }} | {{ profile.id }} |
{{ profile.name }} | {{ profile.ordinary_earliest_counted_entry }} | {{ profile.ordinary_latest_entry }} | {{ formatMinutes(profile.sat_tue_regular_minutes) }} | {{ formatMinutes(profile.sat_tue_mandatory_overtime_minutes) }} | {{ formatMinutes(profile.wednesday_regular_minutes) }} | {{ formatMinutes(profile.wednesday_mandatory_overtime_minutes) }} | {{ formatMinutes(profile.thursday_mandatory_overtime_minutes) }} |
|
|
کارکنان مستقل از CSV ماهانه ثبت میشوند. نام و نام خانوادگی عمداً جدا هستند و رکوردها بهجای حذف، غیرفعال میشوند.
| ردیف | وضعیت | عملیات | ||||
|---|---|---|---|---|---|---|
| {{ index + 1 }} | {{ employee.employee_id }} | {{ employeeDisplayName(employee) }} | {{ employee.source_employee_id || '—' }} | {{ employee.attendance_mode === 'exempt' ? 'معاف از ثبت تردد' : 'مشمول ثبت تردد' }} |
این فهرست مستقل از CSV ماهانه ذخیره میشود. موتور بدون انتساب معتبر هیچ برنامهای را حدس نمیزند.
| ردیف | برنامهی کاری | تاریخ شروع اثر |
|||
|---|---|---|---|---|---|
| {{ index + 1 }} | {{ row.employee_id }} | {{ employeeDisplayName(row) }} | {{ row.source_employee_id }} |
|
|
CSV را بازرسی یا استخراج کن؛ پس از ذخیرهی انتساب برنامههای کاری، محاسبهی آزمایشی دوره در دسترس است.
سهم هر دوره: ۲٫۵ روز باحقوق و ۱ روز استعلاجی. درخواستهای در انتظار از ماندهی قابل استفاده رزرو میشوند.
| ردیف | ماندهی انتقالی | سهم دوره | تعدیل | مصرف | در انتظار | مانده | سهم استعلاجی | مصرف | در انتظار | مانده | بدون حقوق | عملیات | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ index + 1 }} | {{ item.employee_id }} | {{ employeeDisplayName(item) }} | {{ formatLeaveBalance(item.paid_opening_millidays) }} | {{ formatLeaveBalance(item.paid_entitlement_millidays) }} | {{ formatLeaveBalance(item.paid_adjustment_millidays) }} | {{ formatLeaveBalance(item.paid_used_millidays) }} | {{ formatLeaveBalance(item.paid_pending_millidays) }} | {{ formatLeaveBalance(item.paid_available_millidays) }} | {{ formatLeaveBalance(item.sick_entitlement_millidays) }} | {{ formatLeaveBalance(item.sick_used_millidays) }} | {{ formatLeaveBalance(item.sick_pending_millidays) }} | {{ formatLeaveBalance(item.sick_available_millidays) }} | {{ formatLeaveBalance(item.unpaid_used_millidays) }} |
فقط دورهای که محاسبهی معتبر و هیچ درخواست در انتظاری ندارد قابل نهاییسازی است.
| ردیف | دوره | وضعیت | آخرین محاسبه | کنترل آمادگی | عملیات |
|---|---|---|---|---|---|
| {{ index + 1 }} | {{ periodLabel(period) }} | {{ period.latest_calculated_at ? formatDateTime(period.latest_calculated_at) : '—' }} |
مرخصی، ورود زودهنگام و اضافهکار فقط پس از تأیید در محاسبه اعمال میشوند.
| ردیف | مدت | وضعیت | شرح | عملیات | |||
|---|---|---|---|---|---|---|---|
| {{ index + 1 }} | {{ employeeName(item.employee_id) }}{{ item.employee_id }} | {{ item.work_date }} | {{ requestTypeLabel(item.request_type) }} | {{ requestAmountLabel(item) }} | {{ item.reason }} |
این نگاشت تاریخدار، مسیر تأیید را تعیین میکند و جایگزین ساختار سازمانی TIAS Core نیست.
| ردیف | تأییدکننده | شروع اثر | ||
|---|---|---|---|---|
| {{ index + 1 }} | {{ row.employee_id }} | {{ employeeDisplayName(row) }} |
حساب اشتباه حذف فیزیکی نمیشود؛ آن را ویرایش یا غیرفعال کن تا سابقهی حسابرسی محفوظ بماند.
| ردیف | وضعیت | عملیات | ||||
|---|---|---|---|---|---|---|
| {{ index + 1 }} | {{ user.username }} | {{ accountDisplayName(user) }} | {{ (user.roles || [user.role]).map(roleLabel).join('، ') }} | {{ user.employee_id || '—' }} |
نسخههای محاسبه و تغییرات مهم بدون بازنویسی سوابق قبلی نگهداری میشوند.
| ردیف | شناسهی اجرا | زمان ثبت | فایل مبدأ | دوره | وضعیت | کارکنان | خروجی خلاصه |
|---|---|---|---|---|---|---|---|
| {{ index + 1 }} | {{ shortId(run.id) }} |
{{ formatDateTime(run.generated_at) }} | {{ run.source_file }} | {{ run.report_period?.from }} – {{ run.report_period?.to }} | {{ run.summary?.employee_count || 0 }} |
| ردیف | زمان | عملیات | نوع موجودیت | شناسه | عامل | دلیل |
|---|---|---|---|---|---|---|
| {{ index + 1 }} | {{ formatDateTime(event.occurred_at) }} | {{ actionLabel(event.action) }} | {{ event.entity_type }} | {{ shortId(event.entity_id) }} |
{{ event.actor }} | {{ event.reason || '—' }} |
{{ decision.summary }}
{{ requestTypeLabel(decisionForm.request.request_type) }} برای {{ decisionForm.request.employee_id }} در تاریخ {{ decisionForm.request.work_date }}
{{ decisionForm.request.start_time }} – {{ decisionForm.request.end_time || '—' }}
{{ passwordForm.user?.display_name }}
{{ action.note || 'بدون توضیح' }}
برای حذف «{{ scheduleToDelete.name }}» عنوان برنامه را وارد کن. برنامهی منتسبشده قابل حذف نیست.
| ردیف | شناسه | نام | روز نامعتبر |
موظفی عادی |
حضور خام |
حضور مؤثر |
حضور عادی |
کسرکار اولیه |
مرخصی باحقوق |
مرخصی استعلاجی |
مرخصی بدون حقوق |
کارکرد عادی قابل پرداخت |
مصرف باحقوق (روز) |
مانده باحقوق (روز) |
مصرف استعلاجی (روز) |
مانده استعلاجی (روز) |
کسرکار نهایی |
اضافهکار عادی |
اضافهکار تعطیلی |
کسری تعهد اضافهکار |
اضافهکار قابل پرداخت |
تأخیر |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ index + 1 }} | {{ employee.employee_id }} | {{ employeeName(employee.employee_id) }} | {{ employee.summary.invalid_day_count }} | {{ formatMinutes(employee.summary.required_minutes) }} | {{ formatMinutes(employee.summary.raw_presence_minutes) }} | {{ formatMinutes(employee.summary.eligible_presence_minutes) }} | {{ formatMinutes(employee.summary.normal_presence_minutes) }} | {{ formatMinutes(employee.summary.gross_underwork_minutes) }} | {{ formatMinutes(employee.summary.paid_leave_minutes) }} | {{ formatMinutes(employee.summary.sick_leave_minutes) }} | {{ formatMinutes(employee.summary.unpaid_leave_minutes) }} | {{ formatMinutes(employee.summary.payable_regular_minutes) }} | {{ formatLeaveDays(employee.summary.paid_leave_consumed_millidays) }} | {{ formatLeaveDays(employee.summary.paid_leave_remaining_millidays) }} | {{ formatLeaveDays(employee.summary.sick_leave_consumed_millidays) }} | {{ formatLeaveDays(employee.summary.sick_leave_remaining_millidays) }} | {{ formatMinutes(employee.summary.underwork_minutes) }} | {{ formatMinutes(employee.summary.ordinary_overtime_minutes) }} | {{ formatMinutes(employee.summary.holiday_overtime_minutes) }} | {{ formatMinutes(employee.summary.mandatory_overtime_shortfall_minutes) }} | {{ formatMinutes(employee.summary.payable_overtime_minutes) }} | {{ formatMinutes(employee.summary.late_minutes) }} |
{{ issue.message }}
شناسه {{ issue.context.employee_id || '—' }} · تاریخ {{ issue.context.work_date || issue.context.from_date || '—' }}| شناسهی تیاس |
شناسهی زمانپرداز |
نام | ردیفهای منبع |
روزها | بازههای تردد |
|---|---|---|---|---|---|
| {{ employee.employee_id || '—' }} | {{ employee.source_employee_id || '—' }} | {{ employee.employee_name || '—' }} | {{ employee.source_rows.first }}–{{ employee.source_rows.last }} | {{ employee.days.length }} | {{ employee.days.reduce((sum, day) => sum + day.intervals.length, 0) }} |
{{ issue.message }}
ردیف {{ issue.context.row || '—' }} · شناسه {{ issue.context.employee_id || '—' }} · تاریخ {{ issue.context.work_date || '—' }}