Skip to content

Технологические операции

Технологическая операция — шаг маршрута изготовления. Маршрут определяет, в каком порядке и на каком оборудовании обрабатывается деталь: раскрой (10) → кромление (20) → сверление (30). Каждый шаг ссылается на операцию из справочника и дополняет её параметрами: время, рабочие места, условия выполнения.

Как открыть

Боковое меню → ТехнологияОперации

Или: откройте технологический объект → вкладка «Маршрут»

Что на экране

Справочник операций

Таблица всех операций предприятия:

СтолбецЧто показывает
КодUPPER_SNAKE_CASE: CUT_LDSP, EDGE_PVC, DRILL_HINGE
НазваниеРаскрой ЛДСП, Кромление PVC, Присадка петель
Типcutting / edging / drilling / milling / sanding / finishing / assembly / packing / quality_check
КатегорияПодготовка / Обработка / Сборка / Отделка / Контроль
Время наладкиНормативное время наладки (мин) — один раз на партию
Время обработкиНормативное время на единицу (мин)
АктивнаИспользуется ли операция

Типы операций

ТипОписание
cuttingРаскрой — распил листовых материалов
edgingКромление — нанесение кромки на торцы
drillingСверление — присадка отверстий
millingФрезерование — обработка кромок и пазов
sandingШлифовка — абразивная обработка
finishingОтделка — покраска, лакировка, грунтовка
assemblyСборка — соединение компонентов
packingУпаковка — подготовка к отгрузке
quality_checkКонтроль качества — проверка параметров
maintenanceТО — техническое обслуживание оборудования
cleaningУборка/подготовка — уборка стружки, смена расходников
changeoverПереналадка — смена инструмента/оснастки

Маршрут объекта

Маршрут — это упорядоченная последовательность шагов (TechnologicalOperation), привязанная к технологическому объекту.

Пример маршрута: Боковина

ШагОперацияВремя наладкиВремя обработкиРабочее место
10Раскрой ЛДСП15 мин2 мин/штФорматно-раскроечный Altendorf
20Кромление PVC10 мин1 мин/штКромкооблицовочный Homag
30Сверление присадка5 мин1.5 мин/штПрисадочный Blum

Расчёт для партии из 20 деталей:

  • Раскрой: 15 + (2 × 20) = 55 мин
  • Кромление: 10 + (1 × 20) = 30 мин
  • Сверление: 5 + (1.5 × 20) = 35 мин
  • Итого: 120 мин (2 часа)

Нумерация шагов

Шаги нумеруются с шагом 10: 10, 20, 30... Это позволяет вставить промежуточный шаг (например, 15 — «Шлифовка» между раскроем и кромлением) без перенумерации всего маршрута.

Пара (technological_object, step_number) уникальна — у одного объекта не может быть двух шагов с одинаковым номером.

Поля шага маршрута

ПолеОбязательноОписание
technological_objectДаК какому объекту относится шаг
operationДаОперация из справочника (FK)
step_numberДаНомер шага: 10, 20, 30...
step_codeНетКод для печатных форм: «010», «020»
duration_minutesНетВремя на единицу (мин). NULL = берётся из справочника
setup_minutesНетВремя наладки (мин). NULL = берётся из справочника
notesНетЗаметки технолога
operator_instructionsНетИнструкции для рабочего (Markdown)

Переопределение нормативов

Если duration_minutes не указано, используется default_duration_minutes из справочника операций. Если указано — переопределяет для конкретного объекта. Так одна и та же операция «Раскрой» может занимать 2 мин/шт для ЛДСП и 5 мин/шт для МДФ.

Альтернативные рабочие места

Поле workplace_options определяет, на каких рабочих местах можно выполнить операцию:

json
[
  {"workplaceId": "uuid-altendorf", "priority": 1},
  {"workplaceId": "uuid-holzma", "priority": 2},
  {"workplaceId": "uuid-manual-saw", "priority": 3}
]
ПолеОписание
workplaceIdUUID рабочего места
priorityПриоритет: 1 = основное, 2 = первая альтернатива, 3 = запасное

Диспетчер при планировании выбирает рабочее место с учётом приоритета и текущей загрузки. Если основной станок занят — партия отправляется на альтернативный.

Условные операции

Некоторые операции выполняются не всегда, а только при определённых свойствах продукта.

property_activator

Условие активации через классификаторы:

json
{"classifierCode": "DOOR_FINISH", "value": "GLOSS"}

Составные условия:

json
{
  "AND": [
    {"classifierCode": "MATERIAL", "value": "MDF"},
    {"classifierCode": "FINISH", "value": "PAINTED"}
  ]
}
json
{
  "OR": [
    {"classifierCode": "FINISH", "value": "GLOSS"},
    {"classifierCode": "FINISH", "value": "SATIN"}
  ]
}
ПолеОписание
property_activatorУсловие активации (JSON). Пустой = безусловная операция
is_conditionalРасчётный флаг: true если property_activator задан

Визуальное отличие

Условные операции в интерфейсе выделяются: курсивом, иконкой-ромбом и оранжевой полосой слева. Так технолог сразу видит, какие шаги маршрута зависят от конфигурации.

Пример

Маршрут фасада:

  1. Шаг 10: Раскрой МДФ — безусловная
  2. Шаг 20: Шлифовка — безусловная
  3. Шаг 30: Грунтовка — условная (только если finish = PAINTED)
  4. Шаг 40: Покраска — условная (только если finish = PAINTED)
  5. Шаг 50: Плёнкование — условная (только если finish = FILM)
  6. Шаг 60: Контроль — безусловная

Для фасада с плёнкой выполняются шаги: 10 → 20 → 50 → 60. Для крашеного фасада: 10 → 20 → 30 → 40 → 60.

Типы сбора (assembly_type)

Для операций сборки определяется тип сбора:

ТипОписаниеПример
constructiveСтандартная сборка по BOMСборка корпуса шкафа из деталей
technologicalТочка схождения маршрутов — здесь встречаются разные деталиСборка двери: рама + вставка с разных участков
dynamicГрупповая загрузка по критериюКромление всех деталей одного цвета за один проход

По умолчанию — constructive.

Субподряд

Если операция выполняется внешним поставщиком, установите is_outsourced = true. Субподрядные операции:

  • Не планируются на собственные рабочие места
  • Требуют создания заявки поставщику
  • Имеют отдельный учёт сроков (срок поставки вместо времени обработки)

Шаблоны маршрутов

Для типовых деталей используются готовые шаблоны (OperationTemplate):

ПолеОписание
codeКод: T-PANEL-001, T-DOOR-002
nameНазвание: Плитная деталь МДФ
categoryГруппа: Фасады, Полки, Корпуса
operationsJSON-маршрут: [{step: 10, operation: "CUT_MDF", duration: 3}, ...]
usage_countСколько раз использован
is_recommendedРекомендованный — показывается первым

Шаблоны экономят время

Вместо того чтобы каждый раз создавать маршрут из 5-7 операций, технолог применяет шаблон одним нажатием. Система отслеживает usage_count и avg_actual_time_minutes, чтобы улучшать нормативы.

Создание шага маршрута

  1. Откройте технологический объект → вкладка «Маршрут»
  2. Нажмите «Добавить операцию»
  3. Заполните:
ПолеОбязательноОписание
ОперацияДаВыберите из справочника
Номер шагаДа10, 20, 30...
Время обработкиНетПереопределение норматива (мин/шт)
Время наладкиНетПереопределение норматива (мин)
Рабочие местаНетАльтернативные РМ с приоритетами
УсловиеНетproperty_activator для условной операции
ИнструкцииНетMarkdown-текст для рабочего
  1. Нажмите «Сохранить»

API

МетодEndpointОписание
GET/api/v1/operations/Справочник операций
POST/api/v1/operations/Создать операцию в справочнике
GET/api/v1/technological-operations/Все шаги маршрутов
POST/api/v1/technological-operations/Создать шаг маршрута
GET/api/v1/technological-operations/{id}/Детали шага
PUT/api/v1/technological-operations/{id}/Обновить шаг
GET/api/v1/operation-templates/Шаблоны маршрутов

AntRoute MES — управление блуждающими узкими местами