Appearance
Задачи
Задача — единица работы, которую нужно выполнить в определённый срок. Задачи создаются автоматически из критических уведомлений (брак на линии, перегрузка буфера) или вручную мастером и диспетчером. Каждая задача имеет SLA — максимальное время на решение. Если SLA нарушен, задача эскалируется на следующий уровень.
Как открыть
Боковое меню → Коммуникации → Задачи
Что на экране
Таблица задач
| Столбец | Что показывает |
|---|---|
| Номер | Формат: TSK-2026-001, TSK-2026-002... |
| Тип | quality_check, material_request, maintenance, decide_defect, distribute_load, expedite_operation, ai_approval |
| Заголовок | Краткое описание: «Проверить брак на участке кромления» |
| Приоритет | 1-10 (1 = низкий, 10 = критический) |
| Статус | Новая / В работе / Завершена / Эскалирована / Отменена |
| Срок | Дедлайн (due_date = created_at + sla_minutes) |
| Назначена | Роль или конкретный исполнитель |
| Создана | Дата создания |
Статусы задачи
Новая → В работе → Завершена
↓
Эскалирована → В работе → Завершена
↓
Отменена| Статус | Цвет | Что происходит |
|---|---|---|
| Новая (new) | Синий | Только создана, ожидает исполнителя |
| В работе (in_progress) | Зелёный | Исполнитель взял задачу |
| Завершена (completed) | Серый | Задача решена. Терминальный статус |
| Эскалирована (escalated) | Красный | SLA нарушен — задача передана на уровень выше |
| Отменена (cancelled) | Тёмно-серый | Задача отменена (неактуальна). Терминальный статус |
Допустимые переходы:
| Из статуса | Можно перейти в |
|---|---|
| Новая | В работе, Эскалирована, Отменена |
| В работе | Завершена, Эскалирована, Отменена |
| Эскалирована | В работе, Завершена, Отменена |
| Завершена | (терминальный — переходов нет) |
| Отменена | (терминальный — переходов нет) |
Нет отката
Завершённую или отменённую задачу нельзя вернуть в работу. Если проблема повторилась — создаётся новая задача.
Автоматическое создание задач
Система автоматически создаёт задачи из критических уведомлений:
| Тип уведомления | SLA | Назначается |
|---|---|---|
| quality_issue — обнаружен брак | 15 мин | Мастеру (MASTER) |
| buffer_overload — буфер переполнен | 30 мин | Мастеру (MASTER) |
| operation_delayed — операция просрочена | 60 мин | Диспетчеру (DISPATCHER) |
| alternative_workplace_suggestion — предложение перенаправить | 120 мин | Мастеру (MASTER) |
Автозадача получает SLA, приоритет и ссылку на уведомление-источник (source_notification_id).
Назначение задачи
Задачу можно назначить двумя способами:
| Способ | Поле | Описание |
|---|---|---|
| Конкретному пользователю | assignee_user | Иванов И.И. — задача появится в его личном списке |
| По роли | assignee_role | MASTER — задача появится у всех мастеров |
Оба поля могут быть пустыми — тогда задача попадает в общую неназначенную очередь. Кто первый взял — тот и работает.
SLA и дедлайн
| Поле | Описание |
|---|---|
| sla_minutes | Максимальное время на решение (минуты) |
| due_date | Вычисляется автоматически: created_at + sla_minutes |
Если задача не завершена к due_date — срабатывает эскалация.
Пример
Задача TSK-2026-042 создана в 10:00, SLA = 30 мин.
- due_date = 10:30
- В 10:25 мастер берёт задачу (status → in_progress)
- В 10:40 мастер завершает задачу (status → completed)
- SLA формально нарушен (завершена позже due_date), но мастер работал над ней
Если к 10:30 задача в статусе «Новая» — срабатывает эскалация.
Эскалация
Если SLA нарушен, система:
- Устанавливает
escalated_at = текущее время - Переводит задачу в статус
escalated - Создаёт уведомление следующего уровня по правилам эскалации
Уровни эскалации (EscalationRule)
| Уровень | Задержка | Действие | Кому |
|---|---|---|---|
| 1 | 5 мин | Повтор уведомления | Тот же исполнитель |
| 2 | 15 мин | Уведомление мастеру | MASTER |
| 3 | 30 мин | Уведомление менеджеру | Начальник участка |
| 4 | 60 мин | Уведомление директору | Директор производства |
| 5 | 120 мин | SMS всем | Все ответственные + SMS |
Правила эскалации настраиваются в разделе Настройки уведомлений. Каждое правило определяет:
| Поле | Описание |
|---|---|
| code | Уникальный код правила |
| escalation_level | Уровень: 1-5 |
| delay_minutes | Задержка до эскалации |
| target_role | Кому эскалировать (роль) |
| target_user | Кому эскалировать (конкретный пользователь) |
| action | Что делать: notify / sms / call / escalate |
| is_active | Включено ли правило |
Зачем нужна эскалация
На производстве задержка в 30 минут может остановить всю линию. Эскалация гарантирует, что проблема не «застрянет» — если исполнитель не реагирует, она автоматически поднимается выше.
Типы задач
| Тип | Описание | Кто решает |
|---|---|---|
| quality_check | Проверить качество партии/детали | Мастер |
| material_request | Заказать/выдать материал | Логист |
| maintenance | Техобслуживание станка | Мастер |
| decide_defect | Решить судьбу бракованной партии | Мастер |
| distribute_load | Перераспределить нагрузку между РМ | Диспетчер |
| expedite_operation | Ускорить операцию (просрочка) | Диспетчер |
| ai_approval | Подтвердить рекомендацию системы | Мастер / Диспетчер |
Контекст задачи
Задача привязана к конкретной сущности через поля:
| Поле | Описание |
|---|---|
| source_entity_type | Тип: batch, workplace, order |
| source_entity_id | UUID сущности |
Это позволяет из задачи перейти напрямую к проблемной партии, рабочему месту или заказу.
Создание задачи вручную
- Нажмите «Новая задача»
- Заполните:
| Поле | Обязательно | Описание |
|---|---|---|
| Заголовок | Да | Краткое описание: «Проверить размеры партии 02-0-015» |
| Тип | Да | Выберите из списка |
| Описание | Нет | Подробные инструкции |
| Приоритет | Да | 1-10 (по умолчанию 5) |
| SLA | Нет | Время на решение (мин). Если не задан — без дедлайна |
| Исполнитель | Нет | Конкретный пользователь или роль |
- Нажмите «Создать»
Роли доступа
| Роль | Что может |
|---|---|
| Диспетчер | Создавать, назначать, переводить в любой статус |
| Мастер | Создавать, брать в работу, завершать свои задачи |
| Рабочий | Просматривать назначенные задачи, отмечать выполнение |
| Технолог | Просматривать задачи по качеству |
API
| Метод | Endpoint | Описание |
|---|---|---|
| GET | /api/v1/tasks/ | Список задач |
| POST | /api/v1/tasks/ | Создать задачу |
| GET | /api/v1/tasks/{id}/ | Детали задачи |
| PUT | /api/v1/tasks/{id}/ | Обновить задачу |
| GET | /api/v1/tasks/{id}/history/ | История изменений |
| GET | /api/v1/escalation-rules/ | Правила эскалации |
| POST | /api/v1/escalation-rules/ | Создать правило эскалации |