маленькая облачная WMS с большими возможностями
pureWMS – небольшая складская система с большими возможностями. Цель ее создания – иметь возможность быстро развернуть контур складского учета с минимальными затратами на внедрение. Не только учета, а полноценного управления складом по задачам складским работникам. По большей части система настраивается и управляется с мобильного телефона. Т.е. можно с телефона завести базу, настроить пользователей, устройства, склады и начать работать.
Есть системы с большим количеством настроек учета, алгоритмов, стратегий – это большие системы с тонной кода и как правило требующие методистов для настройки и внедрения и есть системы которые имеют простое ядро и структуру ДНК в которое встраиваются кастомные обработчики процессов, стратегий размещения, отбора, принципов формирования заданий. pureWMS – относится ко второму случаю.
Это noSQL система, базирующаяся на MongoDB. При ее создании не пострадал ни один SQL-запрос, соотвественно при написании дополнительных обработчиков тоже не надо оперировать SQL – все данные в виде JSON объектов. Раз JSON – значит нет жесткой структуры. Сегодня в товаре нет пары полей, завтра – есть, некий документ содержит одну табличную часть, но если надо – то еще парочку. Архитектура системы выжата до максимальной простоты – это баланс простоты, надежности и производительности.
Кроме того, система написана на SimpleUI, а эта платформа дает многое в технологическом плане, ну и быструю разработку конечно же.
Система работает по заявкам от основной учетной системы. Через REST-API на сервер WMS поступают распоряжения (документы учетной системы) вместе с необходимыми справочниками.
Но кладовщики работают не с документами учетной системы, а с заданиями, которые выдает генератор заданий – сердце WMS. Задания генерируются по условиям(когда закончено предыдущее или все предшествующего шага) и без условий. На вход обработчиков поступает результат (факт) предыдущего задания или исходное распоряжение.
Производительность системы имеет ряд интересных особенностей. Я гонял тесты со справочником в 155 млн. sku, 1 млн однотипных операций, задания по 25 строк и проверял такие ключевые точки:
При актуальном индексе с 155 млн записей поиск штрихкода занимает 170-250 мсек
Выполнение учетных операций в ходе которых происходит вычисление остатка по товару не зависит от количества операций в системе. Поэтому я назвал это системой с Бесконечной производительностью™ . Это особенность архитектуры.
Можно смотреть загруженность склада на тепловой карте (также можно сделать другие показатели)
Можно из карты проваливаться в остатки по ячейкам
Можно визуализировать задание – показать по каким ячейкам надо пройти и по какому маршруту, т.е. пользоваться навигатором
И самое главное – можно оптимизировать путь обхода. Это достигается с помощью математического алгоритма, решающего задачу оптимизации (задачу коммивояжера - TSP). Оптимизация путей обхода адресов дает увеличение оборачиваемости и экономию
Система поддерживает дополненную реальность ActiveCV:
WMS поддерживает оптическую идентификацию товара (через OCR) – это актуально для случаев, когда штрихкоды или RFID невозможны.
Всегда можно посмотреть состояние склада, состояние активных заданий по веб-интерфейсу (или закачать в свою учетную систему или сайт). Также всегда можно получить факт исполнения по распоряжению через API . Все задачи привязываются в ИД строк исходного документа учетной системы
На начальном экране выводятся активные плитки с показателями рабочего места или системы в целом – количество активных задач, заявок, в работе и индикатор разделенный на зеленую, желтую и красные зоны чтобы оценить загруженность склада задачами
Завести свою базу данных, настроить ее на всех устройствах и завести пользователей можно в 3 шага с телефона
В настоящем демо настроено только 3 учетных процесса: Закупка от поставщика, Реализация и Инвентаризация. Можно легко настроить остальные, тем более что они мало чем отличаются, но для демонстрации это лишнее.
Также эта база сейчас развернута на 1-процессорном сервере с 1 Гб памяти, веб – сервер не сервирован, а в отладочном режиме, Mongo также не развернут c RS и не в Atlas (что желательно, так как система работает немного по другому с RS)
Это написано к тому, что начинать вести прям полноценный учет не стоит.
Остатки на вашем складе: http://45.147.178.66:5055/stock
Активные заявки и задачи: http://45.147.178.66:5055/active_orders
Получить факт по заявке: http://45.147.178.66:5055/get_order_fact/<ИД заявки>