Форма для связи

Ваше имя * Ваш email * Описание проекта * *

* - обязательные поля

Разработка веб сервиса электронной очереди для завода лакокрасочной продукции «ЭКОПОЛ»

Разработка веб сервиса электронной очереди для завода лакокрасочной продукции «ЭКОПОЛ»

Для завода лакокрасочной продукции «ЭКОПОЛ» на базе фреймворка Laravel и Системы управления контентом WM.Laravel был разработан веб-сервис электронной очереди с целью систематизации заезда автотранспорта, успешно решающий проблему скопления автотранспорта в ожидании погрузки-разгрузки товара на КПП, а также на территории предприятия.

Сценарий работы Сервиса позволяет оптимизировать время клиентов завода «ЭКОПОЛ», исключая многочасовой простой автотранспорта, а также упрощает и систематизирует работу сотрудников завода по приему автотранспорта с целью погрузки-разгрузки товара. Благодаря веб-сервису электронной очереди сотрудники предприятия всегда обладают актуальной информацией относительно наличия и количества транспорта на территории завода, а также относительно цели визита каждого клиента.

Описание системы

Система управления контентом и программное обеспечение

  • Операционная система: Linux
  • Язык программирования: PHP7.3
  • База данных: MySQL 5.7
  • Framework Laravel
  • Система управления проектом WM.Laravel
  • Язык разметки: HTML5
  • Верстка сайта: Фреймворк BOOTSTRAP 4+
  • Framework JQuery

Основные работы

  • Установлен Фреймворк Laravel.
  • Установлена Система управления контентом на Framework Laravel, WM.Laravel.
  • Настроен сервер для работы платформы.
  • Разработан функционал добавления «Карточек приезда».
  • Разработаны интерфейсы для работы менеджеров, охранников, работников склада и добавлены соответствующие роли.
  • Разработаны панели вывода информации о статусах и местоположения прибывшего транспорта.
  • Создан функционал отправки СМС сообщений водителям об установке статусов перемещения транспорта.
  • Создан функционал отправки сообщений в канал мессенджера Telegram, когда местоположение транспорта изменилось на «Прибыл к КПП Восток» или «Прибыл к КПП Запад». В сообщении указываются номер автомобиля и название контрагента.

Этапы проведения работ

  1. Первый этап:
    • Разработка технического задания
    • Разработка блок схем и юзабилити интерфейсов
    • Разработка дизайна по блок схемам
  2. Второй этап:
    • Верстка дизайна
    • Внедрение дизайна в систему управления проектом
    • Программирование
  3. Третий этап:
    • Программирование
    • Локальное тестирование
    • Промышленное тестирование
    • Сдача проекта

Шаблон сайта

Разработаны блок схемы расположения основных блоков СЕРВИСА:
  • Блок схема страницы авторизации
  • Блок схема страницы авторизации охранника
  • Блок схема страницы охраны
  • Блок схема страницы добавления «Карточки приезда»
  • Блок схема страницы менеджера
  • Блок схема страницы оператора склада
  • Блок схема страницы лога событий
На основе созданных блок схем разработан дизайн СЕРВИСА:
  • Дизайн страницы авторизации
  • Дизайн страницы авторизации охранника
  • Дизайн страницы панели
  • Дизайн страницы добавления «Карточки приезда»
  • Дизайн страницы менеджера
  • Дизайн страницы оператора склада
  • Дизайн страницы лога событий

Адаптивная верстка СЕРВИСА

Верстка СЕРВИСА выполнена на основе сетки Framework Bootstrap 4+ с поддержкой устройств стандартных размеров (ширина рабочей области от 320рх до 1346рх).

Интерактивные элементы выполнены на основе сторонних open source библиотек (при необходимости):

  • MVC Framework,
  • JQuery,
  • Can.JS и др.

Сценарий работы СЕРВИСА

  1. Менеджеры отдела продаж, менеджеры поставок и внешние логисты добавляют «Карточки приезда».
  2. «Карточки приезда» хранятся базе данных с данными контрагентов и водителей. Карточки с флагом «постоянные» ожидаются к приезду в любой день, а остальные («временные») назначаются на конкретный день + неделя, а по окончании обслуживания - удаляются.
  3. Карточки вносятся менеджерами отдела поставок/продаж, а также логистами некоторых компаний, кому выдали логин/пароль для доступа.
  4. На каждый день таким образом имеется список ожидаемых автомобилей (из числа временных). В эту же очередь по факту прибытия добавляются номера «постоянных» автомобилей, если они приезжают.
  5. С очередью работают охранники на КПП, меняя «местоположение» автомобиля и операторы склада, меняя «статус» автомобиля.
  6. Изменение статуса/местоположения отражается в системном журнале операций (для целей последующего аудита - когда приезжала и в каких временных рамках обслуживалась та или иная машина).
  7. Местоположение нужно операторам, чтобы понимать, где автомобиль, прибыл ли, прошел ли проверку, можно ли его отправлять на погрузку (если заказ уже собран).
  8. Статусы отправляются в СМС водителям, чтобы они понимали, ожидать ли им снаружи (и до какого времени), можно ли въезжать на территорию или вообще пора парковаться к терминалу разгрузки/погрузки (и к какому из них). Так же охрана ориентируется на статусы - пора запускать на территорию или пусть ждет снаружи.
  9. По прибытию на КПП завода водитель подходит к охране на КПП и указывает номер автомобиля. Если номер автомобиля не находится, т.е. не занесена карточка машины, то автомобиль не допускается на территорию - инициируется звонок логистам контрагента, чтобы те решили вопрос с менеджерами отдела продаж или поставок и добавили карточку.
  10. Если номер автомобиля найден, охране выводится вся информация о данном приезде. Если автомобиль приехал не к тем воротам, охрана информирует водителя о необходимости переместиться на другой КПП.
  11. Охранник сверяет ФИО водителя (и экспедитора при наличии) из «Карточки приезда» с паспортными данными. Данные должны совпадать, иначе машина не будет допущена на территорию.
  12. Охранник вводит (или уточняет) номер телефона водителя. На этот номер впоследствии отправляются статусы в виде СМС.
  13. Оператор должен иметь информацию, на каком этапе сбор заказа для отгрузки, либо готов ли склад принимать сырье. Если готовность полная или близкая (1-2 часа) и есть место на внутренней парковке, оператор склада инициирует допуск автомобиля на территорию.
  14. Если заказ собран или готовы принимать сырье, бухгалтерские документы и доверенность в порядке - операторы ставят статус «Подъезжайте к рампе такой- то» (нужна проверка доступности рамп), чтобы сообщить водителю, ожидающему на внутренней парковке, к какой рампе подъезжать.
  15. По окончании погрузки/разгрузки, выдачи документов, статус меняется на «Выезжайте», рампа становится доступной для приемки следующего клиента, охрана готовится к выпуску автомобиля.
  16. После выезда охрана нажимает кнопку «Выехал», убирая автомобиль из очереди (и из базы, если он был «временный»).

Ключевые страницы СЕРВИСА

Страница авторизации

Страница авторизации содержит поля для ввода логина и пароля пользователя.

Регистрация пользователей происходит в админ панели платформы WM.Laravel пользователем с ролью администратор.

Пароль пользователя при регистрации задается с помощью генератора пароля в административной части сайта.

Созданные Роли в системе WM.Laravel:

  • Роль «Администратор»
  • Роль «Менеджер отдела продаж»
  • Роль «Менеджер отдела поставок»
  • Роль «Внешние логисты»
  • Роль «Оператор склада»
  • Роль «Охрана»

Страница авторизации

Страница «Панель добавления карты приезда»

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

Кнопка «Лог событий» открывает страницу «Лог событий». Кнопка «Добавить приезд» открывает страницу «Карточка приезда автомобиля» с формой добавления приезда.

Блок фильтров для построения списка приездов в таблице автомобилей по следующим параметрам:

  • по номеру автомобиля
  • по «Классу обслуживания» (Погрузка, Разгрузка)
  • по «Местоположению» (Ожидаются, Прибыли, На территории, На рампе)

Также предусмотрены кнопки сброса фильтров.

В блоке с таблицей автомобилей выводится список автомобилей, которые ожидаются или находятся в очереди. Таблица содержит следующие данные:

  • Номера автомобилей
  • Наименование контрагента
  • Тип обслуживания
  • Местоположение транспорта
  • Последний статус
  • Ссылка на редактирование карточки приезда

Панель добавления карты приезда

Страница «Карточка приезда автомобиля»

Страница «Карточка приезда автомобиля» содержит форму добавления или редактирования карточек.

Форма содержит следующие поля:

  • Дата приезда - автоматически установлена текущая дата, изменяется вручную. Поле обязательное.
  • Постоянный клиент - чекбокс, если отметка установлена, то поле «Дата приезда» исчезает.
  • Контрагент - строка с подгружаемыми данными, проверяется наличие введенного контрагента в инфоблоке, если данного контрагента нет, то его можно внести в выпадающем поле. Поле обязательное. Если роль пользователя «Внешние логисты», то автоматически ставится «Контрагент», установленный в профиле пользователя, без возможности редактирования.
  • Номер автомобиля - строка, заполняется вручную. При заполнении поля символы переводятся в верхний регистр, убираэтся пробелы, кириллица заменяется на аналогичные латинские символы. Поле обязательное.
  • Телефон - строка с маской номера +9(999)999-99-99. Поле заполняется опционально на этапе создания «Карточки приезда», но обязательно заполняется перед постановкой «Карточки приезда» в очередь.
  • ФИО водителя - строка, заполняется вручную. Поле обязательное.
  • ФИО экспедитора - строка, заполняется вручную. Поле опциональное.
  • Класс обслуживания - список, возможные значения: «Погрузка» или «Разгрузка». Автоматически заполняется. Если роль пользовается «Менеджер отдела продаж», то ставится «Погрузка» с возможностью редактирования. Если роль пользовается «Менеджер отдела поставок», то ставится «Разгрузка» с возможностью редактирования. Если роль пользовается «Внешние логисты», то ставится предустановленное в профиле пользователя значение без возможности редактирования.
  • Ворота въезда - список, возможные значения: «КПП Восток» или «КПП Запад». Поле заполняется опционально на этапе создания «Карточки приезда», обязательно заполняется перед тем, как автомобиль может быть допущен на территорию.
  • Ответственный менеджер - строка, заполняется автоматически на основе данных того, кто добавил запись. Поле не доступно для редактирования.

Панель добавления карты приезда

Страница «Лог событий»

Страница «Лог событий» содержит блок фильтров и блок с таблицей событий.

Блок фильтров для построения списка событий в таблице по следующим параметрам:

  • по дате
  • по «Местоположению»
  • по «Статусу»

В блоке с таблицей выводится список событий (изменение местоположения или статуса карточек приездов). Таблица содержит следующие данные:

  • Дата события
  • Время события
  • Номера автомобилей
  • Наименование контрагента
  • Событие

Лог событий

Страница «Панель авторизации службы охраны»

Когда пользователь с ролью «Охрана» авторизуется, он переходит на страницу «Панель авторизации службы охраны». Она содержит две кнопки для выбора КПП, в котором находится в данный момент. Выбор КПП запоминается до следующей сессии.

Панель авторизации службы охраны

Страница «Панель мониторинга транспорта»

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

В блоке «Текущие дата и время» отображаются дата и время, которые меняются в прямом эфире.

Блок фильтров для построения списка приездов в таблице автомобилей по следующим параметрам:

  • по номеру автомобиля
  • по дате приезда
  • по «Воротам въезда» (КПП Восток, КПП Запад)
  • по «Местоположению» (Ожидаются, Прибыли, На территории, На рампе)

Фильтров по «Воротам въезда» предустановлен в зависимости от выбора ворот на странице «Панель авторизации службы охраны».

Также предусмотрены кнопки сброса фильтров.

В блоке с таблицей автомобилей выводится список автомобилей, которые ожидаются или находятся в очереди. Таблица содержит следующие данные:

  • Номера автомобилей
  • Наименование контрагента
  • Тип обслуживания
  • Местоположение транспорта
  • Последний статус

При нажатии на номер нужного автомобиля открывается модальное окно «Рабочее место охраны» под таблицей. Оно содержит три блока:

  1. Блок содержит общую информацию о приезде. Если «Ворота въезда» не соответствуют выбранным на странице «Панель авторизации службы охраны», то они помечаются красным.
  2. Блок содержит «Последний статус» и «Местоположение» данного автомобиля, а также неактивное поле "Уточнить телефон". Если телефон не указан или указан неправильно, то Охранник может его ввести, нажав на кнопку в правой части поля.
  3. Блок содержит ряд кнопок для последовательной смены местоположения автомобиля.

Панель мониторинга транспорта

Страница «Панель оператора склада»

Страница «Панель оператора склада» доступна для пользователей с ролью «Оператор склада». Она содержит блок фильтров и блок с таблицей автомобилей.

Блок фильтров для построения списка приездов в таблице автомобилей по следующим параметрам:

  • по «Классу обслуживания» (Погрузка, Разгрузка)
  • по «Местоположению» (Ожидаются, Прибыли, На территории, На рампе)

Также предусмотрены кнопки сброса фильтров.

В блоке с таблицей автомобилей выводится список автомобилей, которые ожидаются или находятся в очереди. Таблица содержит следующие данные:

  • Номера автомобилей
  • Наименование контрагента
  • Тип обслуживания
  • Местоположение транспорта
  • Последний статус

При нажатии на номер нужного автомобиля открывается модальное окно «Рабочее место оператора склада» под таблицей. Оно содержит три блока:

  1. Блок содержит общую информацию о приезде.
  2. Блок содержит «Последний статус», «Местоположение» данного автомобиля, поля с выпадающими списками:
    • Ожидать до - выбирается время, до которого должен ожидать автомобиль, если свободных рамп нет
    • Ворота въезда - выбирается, если их нужно поменять
    • Рампа - выбирается свободная рампа
  3. Блок содержит ряд кнопок для последовательной смены статуса и местоположения автомобиля. Содержание и активность кнопок меняется в зависимости от выбранных значений в полях «Ожидать до», «Ворота въезда» и «Рампа».

Панель оператора склада

Логика работы местоположений и статусов

Логика смены местоположений на рабочем месте охранника

1. Доступность переключения на то или иное местоположение зависит от двух параметров:
  • Текущее местоположение
  • Последний известный отправленный статус.
2. При начале обслуживания «Карточки приезда» местоположение равно «Ожидается приезд», статус равен «Ожидается приезд».
3. Кнопка «Ожидается приезд» доступна, если текущее местоположение равно «Прибыл к КПП Восток» или «Прибыл к КПП Запад». От статуса не зависит.
4. Кнопки «Прибыл к КПП Восток» и «Прибыл к КПП Запад» доступны, если текущее местоположение равно «Ожидается приезд» или «Прибыл к КПП». От статуса не зависит.
5. Кнопка «На территории» доступна, если текущее местоположение равно «Прибыл к КПП» и последний статус равен «Проезжайте на территорию».
6. Кнопка «На рампе...» недоступна для переключения охранником. С этим местоположением работает склад. Кнопка присутствует в интерфейсе охранника только для отображения соответствующего местоположения. Текст на кнопке меняется в зависимости от выбранной складом рампы.
7. Кнопка «Покинул территорию» доступна, если текущее местоположение равно «На территории» и последний статус равен «Двигайтесь на выезд через КПП».

Логика смены местоположений на рабочем месте оператора склада

1. Доступность переключения на то или иное местоположение зависит от двух параметров:
  • Текущее местоположение
  • Последний известный отправленный статус.
2. Работа с местоположениями на рабочем месте склада начинается после того, как охранник сменит местоположение машины на «На территории».
3. Кнопка «На территории» доступна, если текущее местоположение равно «На рампе». Нажатие кнопки добавляет ранее занятую машиной рампу в список свободных.
4. Кнопка «На рампе ...» доступна, если текущее местоположение равно «На территории» и последний статус равен «Займите место на рампе ...». Название рампы выбирается оператором склада в интерфейсе из списка свободных рамп и подставляется в текст на кнопке. Нажатие кнопки исключает занятую машиной рампу из списка свободных.

Логика смены статусов на рабочем месте оператора склада

1. Переключение на тот или иной статус производится последовательно, но также зависит от ряда параметров:
  • Текущее местоположение.
  • Последний известный отправленный статус.
  • Ворота въезда (поле "GATE" в карточке приезда).
2. Текст на кнопках переключения статусов меняется в зависимости от доступности кнопок и ряда выставленных на рабочем месте оператора склада параметров:
  • "GATE" - ворота въезда в карточке приезда. Если поле не заполнено менеджером на этапе создания карточки, то его заполняет оператор склада.
  • "TIME" - время, до которого склад предполагает оставить машину за пределами территории.
  • "RAMP" - название рампы из списка свободных.
Для некоторых статусов доступна повторная отправка текущего статуса с другими параметрами.
3. Статус «Ожидается приезд» - это статус по умолчанию, с него начинается обработка карточки приезда. На него нельзя переключить, и соответствующая кнопка отсутствует.
4. Статус «Ожидайте…» доступен в трех вариантах:
  • «Ожидайте снаружи до "TIME" часов» - если поле "GATE" не задано.
  • «Ожидайте у КПП Запад до "TIME" часов» - если поле "GATE" = «Запад».
  • «Ожидайте у КПП Восток до "TIME" часов» - если поле "GATE" = «Восток».

Значение поля "TIME" выбирается из списка от 0 до 23 часов с шагом 1 час на рабочем месте оператора склада. По умолчанию - 8 часов.

Статус доступен, только если предыдущий статус был «Ожидается приезд» или «Ожидайте...».

Статус доступен, только если текущее местоположение - «Ожидается приезд» или «Прибыл к КПП Восток/Запад».

5. Статус «Проезжайте на территорию через КПП "GATE"» доступен в двух вариантах:
  • «Проезжайте на территорию через КПП Запад» - если поле "GATE" = «Запад».
  • «Проезжайте на территорию через КПП Восток» - если поле "GATE" = «Восток».

Если поле "GATE" не задано, то установка данного статуса невозможна, кнопка неактивна, текст меняется на «Не заданы ворота въезда».

Статус доступен, только если предыдущий статус был «Ожидается приезд» или «Ожидайте...».

Статус доступен, только если текущее местоположение - «Ожидается приезд» или «Прибыл к КПП Восток/Запад».

6. Статус «Займите место на рампе "RAMP"» выбирается из списка свободных рамп на рабочем месте оператора склада.

Статус доступен, только если предыдущий статус был «Проезжайте на территорию» или «Займите место на рампе ...».

Статус доступен, только если текущее местоположение - «На территории» или «На рампе ...». В противном случае установка данного статуса невозможна, кнопка неактивна, текст меняется на «Автомобиль не на территории».

7. Статус «Двигайтесь на выезд через КПП "GATE"» доступен в двух:
  • «Двигайтесь на выезд через КПП Запад» - если поле "GATE" = «Запад».
  • «Двигайтесь на выезд через КПП Восток» - если поле "GATE" = «Восток».

Статус доступен, только если предыдущий статус был «Проезжайте на территорию» или «Займите место на рампе ...».

Статус доступен, только если текущее местоположение - «На территории». В противном случае установка данного статуса невозможна, кнопка неактивна, текст меняется на «Автомобиль не на территории».

Схема работы системы в целом

Схема работы системы

Примеры страниц сайта


Рассчитай! Стоимость своего проекта в калькуляторе типовых проектов.