Отсутствие прогулов (pk 2)
Метрика
| Поле | Значение |
|---|---|
| ID в каталоге | 2 |
| Название | Отсутствие прогулов |
| Тип | percentage |
| min_value / max_value | 4 / 5 |
| calculation_timing | realtime |
| period_type | shift |
| function_name | late_to_work |
Назначение
Стимулирование своевременной явки на смену без опозданий. Учитывается при автоматическом расчёте KPI по данным выхода на работу.
Критерии фиксации
- Выполнено: сотрудник не опоздал на смену (флаг «опоздание» не установлен).
- Не выполнено: сотрудник опоздал на смену (
is_late_for_shift() == True). - Кто фиксирует: система на основе данных ActualWorkShedule (время начала/окончания, статус присутствия).
- Момент фиксации: при закрытии смены в
calculate_kpi()→evaluate()→late_to_work.
Формула / способ расчёта
Автоматический расчёт (app/manufacture/service/kpi_check_functions.py):
выполнено = not work_shedule.is_late_for_shift()Метод is_late_for_shift() определён в модели ActualWorkShedule и использует фактические даты выхода и регламент смены.
При выполнении KPI начисляется доля от pay_of_hour (value 4–5%): kpi_payment = (value/100) * pay_of_hour * kpi_hours.
Источник данных
ActualWorkShedule(work_shedule): фактическиеstart_date,end_date, связь со сменой.- Логика определения опоздания: сравнение времени явки с регламентом смены (реализация в
actual_work_shedule.py).
Связь с системой
- KPIRecord: создаётся с
source_type='auto'приsync_kpi_records()после расчёта смены. - Оплата входит в расчёт смены через
calculate_kpi(). - Общий поток — ADR 0023.