Внутренний сервис управления складом для Samsung SDS
ЗаказчикКомпания Samsung SDS является дочерним подразделением южно-корейской группы компаний Samsung. Основной акцент компании — высокотехнологичные решения и инновационных подход к решению тех или иных задачЗадачаРазработка и внедрение сервиса для управления процессами на складе
В крупных торговых компаниях с огромным количеством клиентов часто возникают проблемы в организации работы склада. Система учета работы склада нашего клиента фактически представляла собой доску со стикерами. В связи с непрерывным потоком заказов не все стикеры создавались, некоторые терялись, были наклеены не туда и т.д. Из-за этого случались срывы отгрузок, потеря заказов, т.к. невозможно было контролировать время конкретного специалиста на конкретной стадии формирования заказа.
Нашей задачей стало разработать и внедрить сервис для управления процессами на складе, с помощью которого компания будет визуализировать каждый шаг действия по отгрузке товара со склада. Это позволит эффективно и рационально управлять складскими процессами для стабильного развития бизнеса.
Стек
Для реализации проекта было решено использовать следующий стек технологий:
- ОС: Linux
- БД: MongoDB
- Frontend: Vue.js
- Backend: Node.js, express.js, socket.io
- Инфраструктура: Git, Gitlab, Docker
О сервисе
Проект представляет собой интерактивную канбан-доску, которая выводится на сенсорный монитор диагональю 86 дюймов. Доступ к открытой части сервиса с возможностью взаимодействия имеет только оператор. В шапке указывается рабочая смена, состав сотрудников этой смены и отображается их занятость. Основные роли сотрудников: Picker, Inspector, Scanner, Storekeeper.
Манифесты
Отгрузки (далее манифесты) импортируются в систему из xls-файла. Новые манифесты выводятся по времени, имеют мигающий индикатор. Манифесту присваивается свой уникальный номер. Манифест содержит информацию о клиенте, количестве, объему груза, времени ожидания грузовика, ФИО водителя и данных ТС, типе заказа по сложности.
Оператор принимает новый манифест, в котором указаны соответствующие dock (выезд со склада) и road (номер дороги в выезде) и переносит его вниз на первую стадию PICKING. На реализацию этой задачи автоматически назначается свободный пикер и запускается установленное по ТЗ время. Оператор не может перенести манифест на следующую стадию, если необходимые специалисты заняты.
По завершению этапа специалист сообщает оператору, что он закончил. Оператор определяет дату отгрузки и перемещает в нужное поле: D2 — отгрузка отложена, INSPECTION — следующая стадия формирования заказа-отгрузки. И так далее.
Внутри самого манифеста ведется лог передвижения и таймаутов. Есть возможность сменить специалиста при наличии свободных, прокомментировать отгрузку. При необходимости можно манифест вернуть на шаг назад или заморозить его. Просроченный манифест на какой-либо стадии также как и новый обозначается мигающим индикатором.
Административная панель
Для написания административной части сервиса мы использовали библиотеку vue.js. В административной панели содержится:
- перечень замороженных манифестов, удалить полностью манифест можно только в админке.
- страницы редактирования пикеров, инспекторов, сканеров, кладовщиков с возможностью активации/деактивации
- список активности DOCK
- логирование сервиса — индикатор ошибки парсинга основной таблицы Excel в виде восклицательного знака в правом верхнем углу, сигнализирует администратору о том, что в результате парсинга по каким-либо манифестам произошла ошибка
- страница ввода данных сравнения работы смен и др.
Результат
Весь функционал в рамках первоначального ТЗ мы реализовали за 2,5 месяца. Сервис был протестирован, принят заказчиком и положительно оценен корейскими руководителями компании Samsung.
В процессе внедрения системы на склад пришли новые директивы по работе со складом, и у компании изменились складские процессы. В планах второй релиз — реализация дашбордов и внесение изменений в текущий сервис с учетом новых требований.
Полный текст статьи читайте на CMS Magazine