F
Fand_igor

Система обработки спецификаций для мебельного производства

Разработал и развивал внутреннюю систему обработки спецификаций для мебельного производства на основе выгрузок из Базис Мебельщик. Проект решал прикладную задачу: переводил данные проектирования в рабочие производственные документы, поддерживал технологическую подготовку деталей к обработке и формировал задания для разных участков производства.

Моя роль - полный цикл работы над проектом: от анализа производственной проблемы и формализации требований до проектирования логики, разработки интерфейса и реализации рабочих сценариев для пользователей.

Контекст проекта

Проект развивался как минимум в двух версиях:

  • v1 - первая рабочая версия инструмента для разбора .txt-выгрузок, ручной корректировки данных и подготовки печатной спецификации.
  • v2 - более зрелая версия с расширенной производственной логикой, отдельной обработкой фурнитуры и облицовок, улучшенной выгрузкой для раскроя и дополнительными инструментами для технологических корректировок.

Что решал проект

Система закрывала разрыв между проектированием изделия и фактической подготовкой задания для производства. Вместо ручной обработки выгрузки сотрудники загружали спецификацию, после чего система:

  • проверяла корректность файла и структуру выгрузки;
  • разбирала заказ, изделие, материалы, позиции, размеры и облицовки;
  • позволяла вносить технологические корректировки прямо в интерфейсе;
  • формировала печатную спецификацию для цехов;
  • подготавливала отдельную выгрузку для раскроя.

Что было реализовано

  • Импорт и разбор .txt-спецификаций из Базис Мебельщик с учётом структуры файла и кодировки cp1251.
  • Отображение состава изделия в структурированном виде: заказ, изделие, материалы, позиции, размеры, припуски, примечания, облицовки и фурнитура.
  • Формирование заданий для разных участков производства: раскрой, ЧПУ, кромка, сборка, металлообработка, алюминий.
  • Генерация печатной PDF-спецификации через FPDF.
  • Подготовка отдельного текстового файла для раскроя.
  • Редактирование названий материалов, артикула изделия, припусков и технологических параметров прямо в браузере.
  • Автоматическое назначение технологического маршрута детали по внутренним правилам производства. Система формировала цепочку этапов обработки в зависимости от типа позиции, наличия облицовки и выбранного технологического сценария, включая Ч, Ф, Ф2, ФФ, К, П, Ш, Т.
  • Поэтапная обработка деталей с перерасчётом размеров заготовки, припусков и переходов в чистовые операции с учётом технологических ограничений производства и минимальных параметров оборудования.
  • Интерактивная технологическая обработка позиций через действия в интерфейсе: пользователь мог вручную применять сценарии обработки к детали, а система пересчитывала размеры, припуски, технологические пометки и структуру строк, включая откат изменений.
  • Поддержка специальных сценариев для обхода ограничений оборудования. Например, Ф2 позволял объединять две маленькие детали в общую заготовку, а ФФ - увеличивать текущую деталь до минимально допустимых размеров станка, чтобы сформировать корректное производственное задание.
  • Поддержка объединения деталей в общую заготовку с пересчётом итоговых параметров по формулам.
  • Отдельная обработка облицовки с расчётом погонного метража, сбором параметров по сторонам детали и корректировкой припуска в процентах.
  • Выгрузка данных для раскроя с разделением материалов по типам обработки, включая отдельные сценарии для плитных и погонных материалов.
  • Автодополнение по ФИО сотрудников, расшифровкам облицовок и другим часто используемым данным.
  • Сохранение локальных справочников для ускорения повторной работы пользователей.

Ключевая ценность проекта заключалась в том, что система не ограничивалась импортом спецификации. Она адаптировала детали под реальные ограничения оборудования, переводила производственные правила в формулы и сценарии обработки и сокращала объём ручной подготовки документов перед запуском заказа в производство.

Что было дополнительно проработано

  • Было продумано направление поддержки .xml-выгрузок из Базис Мебельщик как следующее развитие системы.
  • Полноценная реализация этого сценария не была завершена на том этапе, но архитектурно направление было проработано.

Планируемое развитие

Следующим этапом рассматривал развитие проекта в полноценный калькулятор заказов на сайте, связанный с мебельным производством. Идея заключалась в переносе части производственной логики на клиентский уровень с возможностью рассчитывать стоимость мебельных элементов, упаковки и доставки, а затем формировать заказ в несколько шагов.

В рамках этой концепции планировалось:

  • учитывать материалы, толщины, размеры, количество, вырезы под петли, фрезеровку, технологические операции, декор, шпонирование, покраску, комментарии и эскизы по каждой позиции;
  • связать расчёт с базой материалов, складскими остатками и поставщиками;
  • добавить роли пользователей, статусы заказов и сопровождение производственного процесса;
  • предусмотреть дальнейшую интеграцию через API и с мобильным приложением.

Фактически это было развитие проекта от внутреннего инструмента подготовки производственных документов к единой цифровой системе расчёта, оформления и сопровождения заказов.

Технологии

  • PHP
  • JavaScript
  • jQuery
  • AJAX
  • Bootstrap 3
  • FPDF
  • MySQL
  • Обмен данными через текстовые файлы

Практическая ценность проекта

Это прикладная внутренняя система с реальной производственной логикой, а не просто интерфейс для ввода данных. Проект показывает опыт:

  • интеграции с внешним специализированным ПО;
  • обработки нестандартного формата данных;
  • автоматизации производственных процессов;
  • описания и реализации технологических правил обработки материалов в интерфейсе;
  • адаптации производственных заданий под реальные ограничения оборудования и станков;
  • перевода производственной логики в формулы, сценарии и пользовательские действия;
  • ведения проекта целиком: от анализа проблемы до реализации рабочего инструмента;
  • разработки интерфейсов для внутренних пользователей;
  • генерации документов и подготовки данных для разных участков производства;
  • развития продукта от первой рабочей версии к более зрелой системе.