Метод endSession. Завершить смену сборщика

Метод завершает смену сборщика, записывая в строку учёта фактическое время завершения смены. Для завершения смены сборщик не должен иметь назначенных заказов со статусом «В сборке». Создаёт телеграмм- уведомление сборщику и магазину.

Алгоритм:

  • находит магазин и сборщика,
  • открывает транзакцию,
  • находит открытую смену по сборщику, анализируя документы управления сменами за последние 3 дня,
  • блокирует от изменения соответствующий документ управления сменами,
  • проверяет Сборщика по Заказам СМ по Магазину в статусе «В сборке» за последние 3 дня,
  • в строке смены заполняет текущей датой поле Фактическая дата окончания смены,
  • записывает в очередь телеграмм-уведомлений сообщения «Сборщик ХХ завершил смену в магазине ММ в hh:nn, отработанное время hh:mm» для сборщика и магазина,
  • если любой из перечисленных выше шагов завершился с ошибкой, то выполняет откат транзакции
  • фиксирует транзакцию
  • возвращает код завершения и сообщение об ошибке (если ошибка)

Параметры

requestData : {

  storeId : <Идентификатор магазина СМ, обязательный, string>,

  collector : <Сборщик, обязательный, string>

}

Радел responceData в возвращаемом ответе отсутствует. Возвращается только стандартный заголовок с кодом и сообщением об ошибке.