Метод beginSession. Начать смену сборщика
Метод начинает смену сборщика с указанием её планируемой продолжительности. Для начала новой смены у сборщика не должно быть открытых смен. Создаёт телеграмм- уведомление сборщику и магазину.
Алгоритм:
- находит магазин и сборщика, проверяет продолжительность (диапазон значений от 1 до 24 часов),
- создаёт пустой документ управления сменами за текущий день, если таковой отсутствует,
- открывает транзакцию,
- блокирует от изменения документ управления сменами за текущий день,
- по документам управления сменами за последние 3 дня проверяет, чтобы у сборщика не было открытой смены,
- добавляет строку смены в документ управления сменами за текущий день, в строке заполняются Магазин, Сборщик, текущая дата как Дата начала смены, Планируемая дата окончания смены,
- записывает в очередь телеграмм-уведомлений сообщения «Сборщик ХХ начал смену в магазине ММ в hh:nn, планируемое время завершения смены dd-mm-yyyy hh:nn» для сборщика и магазина,
- если любой из перечисленных выше шагов завершился с ошибкой, то выполняет откат транзакции
- фиксирует транзакцию
- возвращает код завершения и сообщение об ошибке (если ошибка)
Параметры
requestData : {
storeId : <Идентификатор магазина СМ, обязательный, string>,
collector : <Сборщик, обязательный, string>,
duration : <Продолжительность смены, часов, обязательный, [1..24], integer>
}
Радел responceData в возвращаемом ответе отсутствует. Возвращается только стандартный заголовок с кодом и сообщением об ошибке.
Нет комментариев