Sobes.tech
Назад к вопросам
Middle
3

CREATE OR ALTER PROCEDURE dif.get_request_to_cancel_not_confirmed_delivery AS BEGIN SET NOCOUNT ON; declare @delivery_id bigint , @request_queue_id bigint , @request_id bigint , @contents varchar(max) select top 1 @delivery_id = od.delivery_id , @request_queue_id = null , @request_id = odr.request_id , @contents = cn.contents from opsapi.request rq join ops.contents cn on cn.contents_uid = rq.contents_uid join dif.ops_delivery_request odr on odr.request_id = rq.request_id join dif.ops_delivery od on od.delivery_id = odr.delivery_id where 1 = 1 and rq.state_code = 200 and rq.scheme_name = 'исх:опс.лк.отмена.слота.ффд' and od.state_code = 257 order by rq.request_id update opsapi.request set state_code = 202 , state_name = opsapi.get_state_name(202) , state_note = null , state_datetime = getdate() , updated_at = getdate() where request_id = @request_id select @request_queue_id request_queue_id, @request_id request_id, @contents contents END GO

Компании, где спрашивали
СБЕР Корус

Ответ от нейросети

sobes.tech AI

Процедура dif.get_request_to_cancel_not_confirmed_delivery выбирает первую подходящую заявку на отмену слота доставки с определённым состоянием, обновляет её статус и возвращает данные.

Она делает следующее:

  • Ищет первую заявку (request) с состоянием 200 и схемой 'исх:опс.лк.отмена.слота.ффд', у которой связанная доставка находится в состоянии 257.
  • Извлекает delivery_id, request_id и содержимое заявки.
  • Обновляет состояние заявки на 202, обновляет время и очищает заметки.
  • Возвращает request_queue_id (null), request_id и содержимое.

Это типичная процедура для обработки очереди запросов с обновлением их статусов и выборкой данных для дальнейшей обработки.