Союзтехноком: от устаревшего ПО к современному веб-приложению для мониторинга транспорта

Заказчик«Союзтехноком» специализируется на автоматизации производственных процессов: организации систем контроля, диагностики и управления подвижным составом и технологическим автомобильным транспортомЗадачаРазработать современный веб-АРМ для управления транспортом с доступом из любой точки и с любого устройства. Актуализировать стек технологий

Проблема клиента

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

  1. Локальность. Система работала только на стационарных компьютерах на предприятии. Это мешало оперативно реагировать на изменения, анализировать данные удаленно и выстраивать взаимодействие между подразделениями.
  2. Техническая устарелость. Стек технологий не позволял развивать функционал.
  3. Неудобство. Интерфейс был сложным и неинтуитивным, что замедляло обучение новых сотрудников.

Чтобы получить новые возможности для управления транспортом, «Союзтехноком» обратился в Nord Clan с запросом на разработку веб-АРМ.

Задачи

  1. Разработать современный веб-АРМ для управления транспортом с доступом из любой точки и с любого устройства.
  2. Актуализировать стек технологий для повышения производительности, стабильности и масштабируемости системы.
  3. Улучшить юзабилити, создав интуитивно понятный интерфейс.
  4. Добавить новые функциональные возможности, такие как дополнительные фильтры, разделы и визуальное отображение данных.
  5. Обеспечить гибкость системы, чтобы ее можно было дорабатывать и развивать в соответствии с потребностями предприятия.

Решение

Для решения задачи Nord Clan разработал веб-АРМ, которое позволяет мониторить промышленный транспорт в реальном времени из любой точки мира, отслеживать состояние техники, ее статусы и формировать отчеты с актуальными данными в виде диаграмм и графиков. Веб-формат приложения устраняет проблему локальности, давая доступ из любой точки и с любого устройства, что облегчает управление и взаимодействие между сотрудниками.

Для улучшения юзабилити мы подключили к команде UX-дизайнера, который учел все сценарии использования и создал простой и интуитивно понятный интерфейс.

Как работает приложение

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

  1. На промышленный транспорт устанавливается ПО, которое отслеживает маршрут, скорость в режиме реального времени и ретроспективно, личные данные водителя.
  2. Авторизованный пользователь видит панель управления актуальной картой местности, наблюдает за передвижением транспорта. При этом он может отследить не только маршрут, скорость движения транспорта, но и отследить простои и неисправности техники.
  3. Система собирает статистику и отображает ее в виде диаграмм и графиков.

43fc94dd350e0cc2e7917f1566bcb348.png

Схема бизнес-процесса после разработки веб-приложения

Информация о ТС собирается в разделах «Карты», «Сменная информация» и «Статистика». 

Карты: мониторинг в реальном времени и ретроспективный просмотр

Одна из ключевых особенностей системы — мониторинг в реальном времени. Для этого используется библиотека SignalR, которая позволяет оперативно получать и отображать данные о местоположении техники. Это позволяет операторам и менеджерам отслеживать движение транспортных единиц без задержек, что критично для оперативного принятия решений.

Модуль «Карты» реализован с помощью библиотеки Leaflet (React-Leaflet). В этом модуле можно выбрать разные типы карт: Google, Яндекс и векторные карты. Векторные карты отображаются по данным, полученным из базы данных, с использованием leaflet-vector-tile-layer. На карте отображаются маркеры для каждого транспортного средства (ТС), их треки, события, происходящие во время работы, зоны работ и другая информация в реальном времени или для любой выбранной смены, если используется фильтрация.

Интерфейс до:

8b709451089b408a5d7116be008e7021.png

Интерфейс после:

f03a5969651e776be9264d21dce6ad36.png

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

9f12a371d2f9c087919f02c3ee408922.png

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

f246417edd7ae5c9758db5f22129bccd.png

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

4a50f3a48e96aceaca5195a8fcafd91e.png

Для более детального контроля можно выбрать отображение конкретных участков: например, только карьеры или автодороги.

b16b2627bd8cfb9daf3c79505c7c41a7.png

Можно настроить фильтр, чтобы отображался трек и скорость ТС на разных участках маршрута.

5017c64f744c61daf5548619412fe045.png

При выборе конкретного ТС можно посмотреть все события за смену. Например, здесь ТС несколько раз разгружалось.

752f62c646a5a3b1c53829827ea74cf8.png

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

921bd8d810617d6485ca791c4bd3b99f.png

Все данные о машинах, включая их местоположение, статусы и маршруты, сохраняются в базе данных на протяжении 30 дней. Это позволяет не только мониторить технику в реальном времени, но и просматривать прошедшие смены.

Сменная информация: отслеживание показателей простоя и движения техники

Модуль «Сменная информация»  представляет собой самописную диаграмму, которая отображает периоды работы ТС по сменам. Диаграмма показывает данные как в реальном времени, так и за любую выбранную смену. Пользователь может управлять диаграммой с помощью фильтров, изменять масштаб и просматривать информацию о периодах работы, кликнув на интересующий сегмент. Также есть возможность отображения выбранного сегмента на карте для более наглядного анализа.

Интерфейс до:

c7be86082a7f4f348aa407d93189c4a2.png

Интерфейс после:  

b2ede7643c17fb6989f0fa9c7d20af4a.png

Статистика и отчеты

Модуль «Статистика» позволяет пользователям легко анализировать работу техники с помощью удобных диаграмм и графиков. Для их отображения используется библиотека Recharts.

Интерфейс до:

216df9bc8095e44896cdfe457d7d97b6.png

Интерфейс после:

0029bc293d7a981a9c360625e75e1cb2.png

9860516c5b6cd0e5a597df25ec97bd18.png

Модуль отображает данные в наглядной форме, включая:   

  • Планируемое количество груза на наряд.  
  • Фактическое выполнение наряда.  
  • Разделение по ТС и общее выполнение наряда по объекту.  

Такая детализация помогает быстро оценить эффективность работы и выявить отклонения от планов.

Результат

В результате работы над проектом команда Nord Clan модернизировала старую десктопную систему и создала современное веб-приложение, которое стало доступным из любой точки и с любого устройства. Это устранило ключевую проблему локальности и открыло новые возможности для управления промышленным транспортом.

  1. Теперь пользователи могут получать доступ к системе с любых устройств, подключенных к интернету. Это позволило оперативно принимать решения, независимо от места нахождения сотрудников.
  2. Новый интерфейс, разработанный при участии UX-дизайнера, стал интуитивно понятным и удобным. Сотрудники быстрее осваивают приложение и эффективнее работают с системой.
  3. Использование современных технологий (React, ASP.NET Core, SignalR) сделало систему более производительной, стабильной и масштабируемой. Это заложило основу для дальнейшего развития функционала.

Стек

Back-end: ASP.NET Core, SignalR, Entity Framework Core, MsSql Server.

Front-end: React, TS, Zustand, Leaflet, Recharts, Styled-components, Mui, SignalR.

Полный текст статьи читайте на CMS Magazine