Корпоративное ПО Laravel Vue.js, React.js

ERP для химического бизнеса

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

ERP для химического бизнеса

О проекте и главном вызове

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

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

Химическая точность внутри ERP

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

Структуры, соли и поиск дублей

В систему встроены RDKit и редактор химических структур. Реализованы нормализация молекул, поиск по подструктуре и сходству, строгие и нестрогие дубликаты. Основная молекула и солевые компоненты учитываются отдельно: система различает массу основания, вклад соли и полную молекулярную массу.

Химический анализ: представления структуры, солевой состав и молекулярные массы
Химический анализ: исходное, базовое и каноническое представления, солевой состав и массы.

Обмен химическими данными

Для импорта и экспорта SDF/MOL используются общие правила разбора и проверки. Учитываются стереохимия, варианты представления структуры и возможность включения солей в экспорт. Ошибки отдельных записей доступны для разбора специалистом.

От задания до готового образца

Заказ связан с комплектованием плейтов и пробирок, взвешиванием и отгрузкой. Плейт — лабораторная пластина, где каждому образцу соответствует определённая ячейка.

Рабочее место взвешивания

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

Рабочее место взвешивания: готовность тестового плейта и предпросмотр этикетки
Взвешивание тестового плейта: готовность 8 из 12 позиций и предпросмотр этикетки.

Сложность — в деталях движения образцов

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

Сложный поиск и развитие старой системы

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

Составной поиск по идентификатору вещества, доступному весу и чистоте
Составной запрос: тестовый IDNumber, доступный вес более 100 и чистота не ниже 98%.

Массовая обработка и перенос данных

Для каталогов с миллионами записей реализованы ограниченные выборки и потоковые выгрузки. Длительные импорты, экспорты и расчёты выполняются фоновыми операциями с прогрессом и диагностикой ошибок. Для переноса из Oracle разработаны обработка порциями, учёт зависимостей и повторяемые запуски. Бизнес-правила сверялись с исходными приложениями: от резервов и весов до форматов файлов и документов.

Рабочие инструменты специалистов

  • Заказы и этапы выполнения. Складские заказы показывают позиции, поставленное количество и остаток к исполнению. Карточка заказа объединяет этапы выполнения, условия поставки и рабочие разделы.
  • Плейты и компании. Настройка 96-ячеечного плейта включает выбор позиций и направления раскладки. Единый справочник компаний содержит классификацию, контакты и связанные разделы.
  • Склад и закупка расходных материалов. В карточке материала доступны остатки, поступления и расход. Закупочный заказ связывает состав материалов и количества с поступлениями.
  • Фоновые операции и таможенная подготовка. Специалисты видят выполненные задачи, очередь и прогресс обработки. В отгрузках доступны состав образцов и фактический вес.

Технологии

Laravel 12 / PHP 8.4 · PostgreSQL 17 · Redis / Horizon · Vue 3 / TypeScript · PrimeVue · RDKit / Ketcher.

Модульная архитектура позволяет развивать химию, склад и заказы в рамках общей системы.

Скриншоты проекта

Хотите похожий проект?

Расскажите о вашей задаче — мы подготовим оценку и предложим оптимальное решение

Подробнее