Appearance
Доработки
Наряд на доработку — управление процессом исправления обнаруженных дефектов. Систематизирует процесс, отслеживает затраты и предотвращает повторения.
Как открыть
Боковое меню → Качество → Доработки
Зачем нужны наряды на доработку
Когда проверка качества выявляет дефект и принимается решение «Доработать» (а не «Списать»), создаётся ReworkOrder. Он определяет:
- что именно нужно исправить;
- каким способом (повтор операции, ручная правка, замена детали);
- кто будет выполнять;
- на каком рабочем месте;
- сколько это займёт времени и средств.
Без нарядов на доработку невозможно учесть реальную себестоимость продукции и выявить операции с частыми переделками.
Жизненный цикл
DefectRecord (решение = rework)
│
▼
┌──────────┐ ┌─────────────┐ ┌───────────┐
│ planned │ ──────→ │ in_progress │ ──────→ │ completed │
│Запланир. │ │ Выполняется │ │ Завершён │
└──────────┘ └─────────────┘ └───────────┘
│ │
└──→ cancelled └──→ cancelled
Отменён Отменён| Переход | Что происходит |
|---|---|
| planned → in_progress | Исполнитель приступил, started_at заполняется автоматически |
| in_progress → completed | Доработка завершена, заполняются completed_at, actual_duration_minutes, result |
| planned/in_progress → cancelled | Доработка отменена (например, деталь решили списать) |
После завершения
При result = success проводится финальная проверка качества (final_check_id). Если проверка пройдена — дефект закрывается. Если нет — создаётся новый наряд на доработку.
Четыре типа доработки
| Тип | Код | Описание | Пример |
|---|---|---|---|
| Повтор операции | repeat_operation | Та же операция выполняется заново | Повторный раскрой (размер за допуском) |
| Дополнительная операция | additional_operation | Добавляется операция, которой не было в маршруте | Дополнительная шлифовка |
| Ручное исправление | manual_fix | Ручная правка без станка | Заделка скола вручную |
| Замена детали | replacement | Бракованная деталь заменяется новой | Замена повреждённой боковины |
Повтор операции
При rework_type = repeat_operation поле operation_code обязательно — система должна знать, какую именно операцию повторять (BR-994).
Что на экране
Таблица нарядов
| Столбец | Описание | Пример |
|---|---|---|
| Тип | Повтор / Дополнительная / Ручная / Замена | Повтор операции |
| Партия | Номер партии | ПРТ-2026-0042 |
| Операция | Код и название операции | CUT — Раскрой |
| Статус | Запланирован / Выполняется / Завершён / Отменён | Выполняется |
| Исполнитель | Кто выполняет доработку | Сидоров А.В. |
| Результат | Успешно / Частично / Неудачно | Успешно |
| Плановое время | Ожидаемая длительность | 45 мин |
| Фактическое время | Реальная длительность | 52 мин |
| Стоимость | Итого: труд + материалы | 3 200 руб. |
Фильтры
| Фильтр | Варианты |
|---|---|
| Статус | Все / Запланирован / Выполняется / Завершён / Отменён |
| Тип | Все / Повтор / Дополнительная / Ручная / Замена |
| Результат | Все / Успешно / Частично / Неудачно |
Создание наряда
Обязательные поля
| Поле | Описание |
|---|---|
| Дефект * | Связь с DefectRecord (FK) |
| Партия * | UUID и номер партии |
| Тип доработки * | repeat_operation / additional_operation / manual_fix / replacement |
| Исполнитель * | Кто будет выполнять (из справочника сотрудников) |
Дополнительные поля
| Поле | Описание |
|---|---|
| Код операции | Обязателен при repeat_operation |
| Название операции | Денормализация для отчётов |
| Плановые действия | JSON: [{шаг, действие, длительность, инструменты, материалы}] |
| Плановая длительность | SUM(actions.duration), минуты, > 0 |
| Рабочее место | UUID рабочего места для доработки |
| Стоимость труда | Рубли |
| Стоимость материалов | Рубли |
| Итого | labor_cost + material_cost (рассчитывается автоматически) |
| Вложения | [{тип, имя файла, URL}] — фото дефекта, инструкции |
Результаты доработки
| Результат | Код | Что дальше |
|---|---|---|
| Успешно | success | Дефект исправлен → финальная проверка качества → дефект закрывается |
| Частично | partial_success | Часть проблем осталась → анализ и решение |
| Неудачно | failure | Требуется повторная доработка или списание |
Правила валидации
| Правило | Описание |
|---|---|
| BR-530 | Дефект (defect_record) обязателен |
| BR-531 | Тип доработки из 4 допустимых |
| BR-532 | Статус: planned → in_progress → completed/cancelled |
| BR-534 | total_cost = labor_cost + material_cost |
| BR-535 | estimated_duration_minutes > 0 (если задано) |
| BR-994 | При repeat_operation поле operation_code обязательно |
| BR-1000 | completed_at >= started_at |
| BR-1001 | actual_duration_minutes > 0 (если задано) |
Финансовые последствия
Стоимость доработки (total_cost) попадает в поле rework_cost анализа себестоимости (ProductCostAnalysis). Это позволяет:
- сравнивать плановую и фактическую себестоимость;
- выявлять операции с частыми переделками;
- оценивать, когда выгоднее списать, а не дорабатывать.
Для кого
| Роль | Что делает |
|---|---|
| Инспектор ОТК | Инициирует доработку при обнаружении дефекта |
| Технолог | Определяет тип доработки, описывает действия |
| Мастер | Назначает исполнителя и рабочее место |
| Оператор | Выполняет доработку, фиксирует результат |
| Диспетчер | Учитывает доработки при планировании загрузки |