Appearance
Очередь операций
Очередь операций — список операций, ожидающих выполнения на рабочих местах. Центральный экран для диспетчера и мастера: что нужно сделать, в каком порядке, на каком станке.
Как открыть
Боковое меню → Производство → Очередь
Что на экране
Карточки сводки
| Показатель | Описание |
|---|---|
| Ожидают | Операции в статусе pending — ещё не готовы к назначению |
| Готовы | Статус ready — можно назначать на РМ |
| Назначены | Статус assigned — РМ выбрано, ждут оператора |
| Выполняются | Статус started — оператор работает |
Таблица очереди
| Столбец | Что показывает |
|---|---|
| Партия | Номер партии (batch_number) |
| Операция | Код операции (operation_code) |
| Заказ | Номер заказа (order_number) |
| Деталь | Код детали (part_code) |
| Приоритет | 1 = самый высокий (priority) |
| Тип РМ | Какой станок нужен (required_workplace_type) |
| Статус | Текущее состояние в очереди (queue_status) |
| Назначено на | Рабочее место (assigned_workplace_id) |
| Длительность | Плановая длительность в минутах (estimated_duration_min) |
| Готово с | Когда операция стала готова (ready_at) |
Статусы в очереди
Ожидание → Готов → Назначен → Выполняется → Завершён
↓ ↓
Готов ←──────────────────────┤
↓
Отменён| Статус | queue_status | Что происходит |
|---|---|---|
| Ожидание | pending | Предыдущая операция ещё не завершена |
| Готов | ready | Можно назначать на рабочее место |
| Назначен | assigned | РМ выбрано, оператор получил задачу |
| Выполняется | started | Оператор начал обработку |
| Завершён | completed | Операция выполнена (терминальный) |
| Отменён | cancelled | Операция отменена (терминальный) |
Возврат в очередь
Если оператор не может начать операцию (поломка станка, нехватка материала), назначенную операцию можно вернуть в статус ready для переназначения на другое РМ.
Назначение на рабочее место
Как система предлагает РМ
Когда операция готова (ready), система анализирует доступные рабочие места нужного типа и формирует рекомендацию:
| Поле | Что содержит |
|---|---|
system_suggested_workplace_id | UUID рабочего места, предложенного системой |
alternative_workplaces | Список альтернатив с метриками загрузки |
Каждая альтернатива в alternative_workplaces содержит:
| Поле | Описание |
|---|---|
workplaceId | UUID рабочего места |
workplaceCode | Код: ЧПУ-001, Кромка-003 |
loadPercent | Текущая загрузка (%) |
queueLength | Сколько операций в очереди |
estimatedWaitMinutes | Расчётное время ожидания (мин) |
Тип решения о маршрутизации
Поле routing_decision_type фиксирует, кто принял решение о назначении. Эти данные используются для обучения алгоритма.
| Тип | routing_decision_type | Описание |
|---|---|---|
| Автоматически | system_auto | Система назначила без участия человека (автопилот) |
| Мастер согласился | master_approved | Мастер подтвердил предложение системы |
| Мастер переопределил | master_override | Мастер выбрал другое РМ (не предложенное) |
| Вручную | manual | Мастер назначил без предложения системы |
| Оптимизация | algorithm_optimized | Алгоритм балансировки нагрузки |
Зачем фиксировать решения?
Каждое решение мастера сохраняется для обучения ML-модели. Со временем система всё точнее предлагает рабочие места, учитывая опыт мастеров.
Пример назначения
- Операция «Кромкование» готова к выполнению (
ready) - Система находит 3 кромочных станка:
- Кромка-001: загрузка 90%, очередь 4 партии, ожидание ~45 мин
- Кромка-003: загрузка 40%, очередь 1 партия, ожидание ~10 мин
- Кромка-005: загрузка 60%, очередь 2 партии, ожидание ~20 мин
- Система предлагает Кромка-003 (
system_suggested_workplace_id) - Мастер соглашается →
routing_decision_type = master_approved - Статус:
ready→assigned,assigned_workplace_id= UUID Кромка-003
Решение мастера
Когда мастер не согласен с предложением системы:
- Мастер выбирает другое РМ из списка альтернатив
- Указывает причину (
routing_decision_reason): «На Кромка-003 заканчивается кромка нужного цвета» - Система сохраняет:
master_decided_workplace_id= UUID выбранного РМ routing_decision_type = master_override
Приоритет в очереди
Поле priority определяет порядок обработки. Значение 1 — наивысший приоритет.
Система сортирует очередь по: priority ASC, затем ready_at ASC (при равном приоритете — кто раньше готов).
Требования к оператору
Поле required_qualification указывает минимальную квалификацию оператора для выполнения операции. Система не назначит операцию на РМ, если оператор не соответствует.
Для разных ролей
| Роль | Что видит | Что может |
|---|---|---|
| Диспетчер | Всю очередь | Назначать операции, менять приоритеты, отменять |
| Мастер | Очередь своего участка | Подтверждать/переопределять назначение РМ |
| Оператор | Операции, назначенные на его РМ | Начинать и завершать операции |