diff --git a/apps/employees/migrations/0021_employee_it_work_channel.py b/apps/employees/migrations/0021_employee_it_work_channel.py index da0ac9f..6d2272c 100644 --- a/apps/employees/migrations/0021_employee_it_work_channel.py +++ b/apps/employees/migrations/0021_employee_it_work_channel.py @@ -42,13 +42,14 @@ class Migration(migrations.Migration): ('remote', 'Удалённо (без выезда)'), ('field', 'С выездом'), ('office', 'Офис'), - ('infra', 'Инфраструктура / руководство'), + ('infra', 'Инфраструктура / руководство (удалённо)'), ], default='', help_text=( - 'Для месячного IT-отчёта: как учитывать задачи сотрудника ' - '(удалённо / с выездом / офис / инфра). ' - 'Объект заявки (аптека А35…) сам по себе выездом не считается.' + 'Как учитывать задачи в месячном IT-отчёте. ' + '«Удалённо» и «Инфраструктура» — без выезда ' + '(объект аптеки в заявке сам по себе выездом не считается). ' + '«С выездом» — только для выездных инженеров.' ), max_length=16, verbose_name='Канал работ (IT-отчёт)', diff --git a/apps/employees/models/base.py b/apps/employees/models/base.py index 0e9e54e..5e9b589 100644 --- a/apps/employees/models/base.py +++ b/apps/employees/models/base.py @@ -172,7 +172,7 @@ class Employee(AbstractBaseUser, PermissionsMixin, BaseModel): ('remote', _('Удалённо (без выезда)')), ('field', _('С выездом')), ('office', _('Офис')), - ('infra', _('Инфраструктура / руководство')), + ('infra', _('Инфраструктура / руководство (удалённо)')), ] it_work_channel = models.CharField( _('Канал работ (IT-отчёт)'), @@ -181,9 +181,10 @@ class Employee(AbstractBaseUser, PermissionsMixin, BaseModel): blank=True, default='', help_text=_( - 'Для месячного IT-отчёта: как учитывать задачи сотрудника ' - '(удалённо / с выездом / офис / инфра). ' - 'Объект заявки (аптека А35…) сам по себе выездом не считается.' + 'Как учитывать задачи в месячном IT-отчёте. ' + '«Удалённо» и «Инфраструктура» — без выезда ' + '(объект аптеки в заявке сам по себе выездом не считается). ' + '«С выездом» — только для выездных инженеров.' ), ) diff --git a/apps/reports/it_monthly/conclusions.py b/apps/reports/it_monthly/conclusions.py index 359604f..375bca8 100644 --- a/apps/reports/it_monthly/conclusions.py +++ b/apps/reports/it_monthly/conclusions.py @@ -191,7 +191,10 @@ def build_conclusions(report: dict, company: dict | None = None) -> list[dict]: bucket = resolve_work_bucket(staff_id, emp, company) n = int(emp.get('tasks_count') or 0) + int(emp.get('systems_count') or 0) if bucket == 'infra': + # Инфраструктура у нас ведётся удалённо — в % «с выездом» не попадает, + # но входит в «удаленно решено» + отдельный абзац про инфра. counts['infra'] += n + counts['remote'] += n elif bucket == 'remote': counts['remote'] += n elif bucket == 'field':