Метод collectOrder. Начать сборку заказа
Метод переводит заказ, находящийся в статусе «Новый» в состояние «В сборке», назначает сборщика на заказ, отправляет в СМ уведомление order.in_work, создаёт телеграмм- уведомление для сборщика и магазина о назначении заказа в сборку. Возвращает обновлённое содержание заказа, включая строки (order.positions).
Алгоритм:
- открывает транзакцию,
- находит заказ по идентификатору подразделения и заказа, читает его с блокировкой (for update),
- проверяет текущий статус заказа
- находит сборщика, если указан
- проверяет, что для сборщика активна смена по указанному магазину
- отправляет уведомление order.in_work в СМ
- изменяет в заказе статус на «В сборке», записывает сборщика и дату-время начала сборки
- если любой из перечисленных выше шагов завершился с ошибкой, то выполняет откат транзакции
- фиксирует транзакцию
- записывает в очередь телеграмм-уведомлений сообщения «Начата сборка заказа NN, сборщик ХХ, завершить до HH:MM» для сборщика и магазина,
- возвращает обновлённое содержание заказа
Параметры
requestData : {
storeId : <Идентификатор магазина СМ, обязательный, string>,
orderId : <Идентификатор заказа СМ, обязательный, string>,
collector : <Сборщик, не обязательный, string>
}
Возвращаемый ответ
responseData : {
order : {
<Заказ в виде объекта типа order, включая строки (order.positions)>
}
}
Нет комментариев