Skip to content

Загрузка людей по дням ​

Таблица «люди × дни»: кто свободен на дату мероприятия (ТЗ «Шаблоны, этапы и Гант…», раздел 6). Модуль только читает — как отчёты и дашборд.

Реализовано: этап 4 — модуль internal/modules/workload, маршруты GET /workload, /workload/day, /workload/users. Миграций нет.


Как считается ​

  • Норма дня — 8 ч в рабочий день по календарю компании, 4 ч в день с половиной отсутствия, 0 в выходной, праздник и полный день отсутствия. Отсутствие, ещё не согласованное (pending), показывается значком, но норму не меняет.
  • План — плановые часы открытых задач (todo, in_progress, blocked), где сотрудник исполнитель или соисполнитель (соисполнитель получает те же часы — часы задачи считаются оценкой на каждого). С началом — поровну по рабочим дням от начала до срока; без начала — по 8 ч на рабочие дни перед сроком (40 ч → 5 рабочих дней, срок — последний); рабочих дней нет — всё в срок. Задача без часов видна в дне срока, но в процент не входит.
  • Факт — time_entries по дням (mode=fact).
  • Процент — часы / норма; нормы нет (выходной, полный день отсутствия) — 0 %, часы видны отдельно.
  • Значки: командировка (trips, кроме отменённых), рейс (logistic_operations, водитель или ответственный), мероприятие — дни от монтажа (или начала) до окончания у проектов «Подтверждён» и «В работе» для участников команды с выездными ролями lead, engineer, technician, logistician. Значки процент не меняют: время на площадке должно быть задачами. В день полного согласованного отсутствия мероприятие не отмечается.

Кто что видит ​

КтоЧто
СотрудникСебя целиком
РуководительЦеликом — подчинённых (рекурсивно), людей отделов, которыми руководит (с подотделами), и отделов из охвата «свои» чужих табелей
Генеральный директор, администратор, охват чужих табелей «все»Всех целиком
Менеджер действующего проекта, руководитель отделаОстальных — только процент и занятость (details=false): без названий задач и проектов

GET /workload/day без полного доступа отдаёт только ячейку; к невидимому сотруднику — 403 workload_no_access.

Подсказка при назначении ​

GET /workload/users?user_ids=…&from&to — пиковый и средний процент по плану на даты задачи, согласованные отсутствия, дни командировок и мероприятий. Форма задачи и одобрение заявки на людей показывают её рядом с именем; невидимые сотрудники пропускаются.

Загружаем документацию…