pureWMS

маленькая облачная WMS с большими возможностями


Больше чем WMS

pureWMS – небольшая складская система с большими возможностями. Цель ее создания – иметь возможность быстро развернуть контур складского учета с минимальными затратами на внедрение. Не только учета, а полноценного управления складом по задачам складским работникам. По большей части система настраивается и управляется с мобильного телефона. Т.е. можно с телефона завести базу, настроить пользователей, устройства, склады и начать работать.



Миссия

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

Это noSQL система, базирующаяся на MongoDB. При ее создании не пострадал ни один SQL-запрос, соотвественно при написании дополнительных обработчиков тоже не надо оперировать SQL – все данные в виде JSON объектов. Раз JSON – значит нет жесткой структуры. Сегодня в товаре нет пары полей, завтра – есть, некий документ содержит одну табличную часть, но если надо – то еще парочку. Архитектура системы выжата до максимальной простоты – это баланс простоты, надежности и производительности.

Кроме того, система написана на SimpleUI, а эта платформа дает многое в технологическом плане, ну и быструю разработку конечно же.


Генератор задач

Система работает по заявкам от основной учетной системы. Через REST-API на сервер WMS поступают распоряжения (документы учетной системы) вместе с необходимыми справочниками.

Но кладовщики работают не с документами учетной системы, а с заданиями, которые выдает генератор заданий – сердце WMS. Задания генерируются по условиям(когда закончено предыдущее или все предшествующего шага) и без условий. На вход обработчиков поступает результат (факт) предыдущего задания или исходное распоряжение.


Бесконечная производительность

Производительность системы имеет ряд интересных особенностей. Я гонял тесты со справочником в 155 млн. sku, 1 млн однотипных операций, задания по 25 строк и проверял такие ключевые точки:

  •  Поиск штрихкода
  •  Поиск по оптическому распознаванию
  •  Генерация заданий
  •  Оптимизация заданий по TSP
  •  Запись учетных операций
  •  Чтение остатков

При актуальном индексе с 155 млн записей поиск штрихкода занимает 170-250 мсек

Выполнение учетных операций в ходе которых происходит вычисление остатка по товару не зависит от количества операций в системе. Поэтому я назвал это системой с Бесконечной производительностью™ . Это особенность архитектуры.


Карты складов

Система поддерживает карты складов. Можно самому нарисовать карты каждого склада. 

Тепловая карта

 Можно смотреть загруженность склада на тепловой карте (также можно сделать другие показатели)

Интерактивная карта

 Можно из карты проваливаться в остатки по ячейкам

Маршруты по складу

 Можно визуализировать задание – показать по каким ячейкам надо пройти и по какому маршруту, т.е. пользоваться навигатором

Оптимальный маршрут

И самое главное – можно оптимизировать путь обхода. Это достигается с помощью математического алгоритма, решающего задачу оптимизации (задачу коммивояжера - TSP). Оптимизация путей обхода адресов дает увеличение оборачиваемости и экономию

ActiveCV

Система поддерживает дополненную реальность ActiveCV:

  •  Можно посмотреть какие адреса завершены по заданию, какие нет
  •  Можно посмотреть остатки в ячейке и по товару, наведя камеру, а также отличить «нарушителей» учета красной подсветкой
  •  В случае учета по уникальным кодам, маркам – можно проводить операции просто водя камерой по объектам


Распознавание текста

WMS поддерживает оптическую идентификацию товара (через OCR) – это актуально для случаев, когда штрихкоды или RFID невозможны.

API и отчеты

Всегда можно посмотреть состояние склада, состояние активных заданий по веб-интерфейсу (или закачать в свою учетную систему или сайт). Также всегда можно получить факт исполнения по распоряжению через 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/<ИД заявки>





По вопросам сотрудничества можно написать сюда