Skip to content

lukashin/handover-queue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Тестирование | админимтративный интерфейс

Переход существляется со страницы http://eq.znak-corp.ru нажатием на соответствующую ссылку. Интерфейс пользователя позволяет добавлять позиции, удалять, изменять статусы позиций используя тот же программный API интерфейс, который будет использовать 1С (или любая другая программа) отправляя соответствующие HTTP запросы (см. далее)

Управление элементами очереди

Выполняется посредством POST запроса на указанный URL

URL состоит из следующих сегментов

http://eq.znak-corp.ru/warehouse/{warehouseUuid}/{status}/{itemUuid}/{caption}

Сегмент Описание Допустимые значения / пример
warehouseUuid UUIDv4 - идентификатор склада dbc03d32-a688-481c-87af-1d98176c8987
status статус позиции new, assemblyInProgress, readyForPickup, handedOver, reset
itemUuid UUIDv4 - идентификатор позиции (чека, отгрузки) dbc03d32-a688-481c-87af-1d98176c8987
caption Заголовок позиции, URL encoded ЧЕК-210, УПД-001

При создании позиции {caption} параметр обязателен, однако рекомендуется передавать его с каждым запросом.

Приложение позволяет создавать позицию очереди в любом статусе: например, сразу в статусе "собирается".

Установка статуса "reset" приводит к удалению позиции из очереди.

Пример простого запроса на создание элемета очереди

curl -X post 'http://eq.znak-corp.ru/warehouse/dbc03d32-a688-481c-87af-1d98176c8987/new/179e7ae8-5632-41e6-ad69-a9a1d08cd259/%D0%9E%D0%9F%D0%90-009'

Параметр caption можно передать также как поле формы

curl 'http://eq.znak-corp.ru/warehouse/dbc03d32-a688-481c-87af-1d98176c8987/new/179e7ae8-5632-41e6-ad69-a9a1d08cd259' -H 'Content-Type: application/x-www-form-urlencoded' --data 'caption=%D0%9E%D0%9F%D0%90-009'

Изменение статуса на "assemblyInProgress" - "Собирается"

curl -X post 'http://eq.znak-corp.ru/warehouse/dbc03d32-a688-481c-87af-1d98176c8987/assemblyInProgress/179e7ae8-5632-41e6-ad69-a9a1d08cd259'

Ответ сервера при успешной обработке

HTTP/1.1 201 Created элемент создан

HTTP/1.1 200 OK элемент обновлен

HTTP/1.1 204 No content элемент удален (при установке статуса reset)

Body ответа содержит json представление обработанного элемента

< HTTP/1.1 200 OK
< Content-Type: application/json;charset=utf-8
{
    "uuid": "179e7ae8-5632-41e6-ad69-a9a1d08cd259",
    "status": "new",
    "updated": "2018-02-19 15:29:45",
    "caption": "ОПА-009",
    "created": "2018-02-19 20:55:44"
}

Обработка ошибок

В случае ошибок при обработке данных

  • не переданы обазятельные параметры
  • не найден склад по переданному UUIDv4
  • отсутствует параметр {caption} при создании нового элемента
  • неверное значение параметра {status}

HTTP/1.1 409 Conflict

Body ответа содержит json представление информации об ошибках

{"errors":["parameter caption non-null value expected for status=new"]}

В случае критических ошибок в работе приложения: 500 Internal Server Error

Конфигурация очереди

Находится в файле config/config.json

Секция warehouses (склады)

Склады необходимо объявить в файле концигурации ДО попыток добавления позиций используя API. При попытке создания позиции на складе UUID которого не известен системе, API ответит статусом 409 и сообщением о неверном UUID склада.

Пример настройки одного склада

"warehouses": [
    {
        "uuid":"dbc03d32-a688-481c-87af-1d98176c8987",
        "name":"Основной склад",
        "mainQueueSize": 7,
        "maxReadyForPickup": 3
    }
]

mainQueueSize - размер основной очереди, расположенной в левой части окна. Позиции, которые не уместились в указанный максимальный размер будут показаны в правой части окна в сокращенном варианте (без статуса).

maxReadyForPickup - максимальное число позиций, который отображаются в статусе "готов" на экране очереди. Если работники склада ометили больше позиций, позиции отмеченные позже будут отображены в статусе "собирается". Используется для предотвращения столпотворения на выдаче заказов.

Для каждого склада данные параметры настраиваются отдельно.

Серция headers (заголовки)

Используется для изменения заголовков на экране очереди в зоне ожидания. Настройки применяются ко всем складам

"headers": {
    "queue": {
      "caption": "Документ",
      "status": "Статус",
      "tail": "Ожидание"
    }
}

Секция status (статусы позиций)

Настройки применяются ко всем складам

"status": {
    "new" : {
      "warehouse": "Новый",
      "queue": "Передан на сборку"
    },
    "assemblyInProgress" : {
      "warehouse": "Собирается",
      "queue": "Собирается"
    },
    "readyForPickup": {
      "warehouse": "Готов",
      "queue": "Готов"
    },
    "handedOver": {
      "warehouse": "Выдан",
      "queue": "Выдан"
    }
}

Размеры шрифтов, цвета

Описаны в секции <styles> в верхней части соответствующего шаблона.

templates/queue.twig - зона ожидания

templates/warehouse.twig - склад

Большинство параметров (вертикальные и горизонтальные отступы) изменяются пропорционально основному размеру шрифта автоматически.

html,body{
    font-size: 1.7rem;
}

После изменения стилей страницу на мониторе необходимо перезагрузить.

Звук для привлечения внимания

Легко изменить просто изменив ссылку на соответствующий аудиофайл поддерживаемый использукмым браузером в элементе <audio id="successSound" src="ССЫЛКА_НА_АУДИО_ФАЙЛ">

<audio id="successSound" src="/353206__rhodesmas__intro-01.wav" type="audio/wav"></audio>

Элемент описан в соответствующих шаблонах

templates/queue.twig - зона ожидания

templates/warehouse.twig - склад

Не рекоменуется использование файлов длиннее 3-5 секунд.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors