Документация iSZN

pkEqueue.sql

Ошибки

Error_CriterionNotSupported

PROCEDURE Error_CriterionNotSupported(sDetails VARCHAR2);

Описание

Вызывает exception “Критерий не поддерживается”.

Error_UnknownAttribute

PROCEDURE Error_UnknownAttribute(sAttribName VARCHAR2);

Описание

Вызывает exception “Неизвестный атрибут”.

Error_InvalidCondition

PROCEDURE Error_InvalidCondition(sAttribName VARCHAR2, sCondition VARCHAR2);

Описание

Вызывает exception “Недопустимое значение условия на атрибут”.

Error_InvalidAttrValue

PROCEDURE Error_InvalidAttrValue(sAttribName VARCHAR2, sValue VARCHAR2);

Описание

Вызывает exception “Недопустимое значение для атрибута”.

Разбор данных запросов в XML

Fltr_ParsePredicate

FUNCTION Fltr_ParsePredicate(iOwnerTagID PLS_INTEGER, sNSURI VARCHAR2, Predicates IN OUT NOCOPY TFilterData) RETURN PLS_INTEGER;

Описание

Выполняет разбор предиката фильтра.
Параметры:

  • iOwnerTagID - ID родительского тега;
  • sNSURI - URI пространства имён;
  • Predicates - список существующих предикатов.

Возвращает индекс добавленного предиката в списке.

ParseGetSlotsRequest

PROCEDURE ParseGetSlotsRequest(iGetSlotsTagID PLS_INTEGER, Data OUT TGetSlotsRequestData);

Описание

Разбирает данные запроса GetSlots.
Параметры:

  • iGetSlotsTagID - ID тега <getSlots>;
  • Data - разобранные данные запроса.

Если обязательные данные отсутствуют, возникает exception.

ParseBookRequest

PROCEDURE ParseBookRequest(iBookTagID PLS_INTEGER, Data OUT TBookRequestData);

Описание

Разбирает данные запроса book.
Параметры:

  • iGetSlotsTagID - ID тега <getSlots>;
  • Data - разобранные данные запроса.

Если обязательные данные отсутствуют, возникает exception.

ParseBookingKey

PROCEDURE ParseBookingKey(iTagID PLS_INTEGER, sBookID OUT TBookIDType, sEsiaID OUT uszn.pkEpgu.TEsiaIDType);

Описание

Разбирает данные ключа брони.
Входные параметры:

  • iTagID - ID родительского тега.

Выходные параметры:

  • sBookID - ID брони;
  • sEsiaID - ID пользователя в ЕСИА.

Если данные отсутствуют, возникает exception.

Обработка запросов

GetFreeSlots

FUNCTION GetFreeSlots(iRegionID PLS_INTEGER, iiOrganizationIDs IN uszn.TIntegerList, ssSvcVariantCodes IN uszn.TStringList255, dStartDate DATE, dEndDate DATE, iMaxSlotCount PLS_INTEGER := IDefaultMaxSlotCount) RETURN TTimeSlotList;

Описание

Загружает и возвращает список свободных слотов.
Параметры:

  • iRegionID - ID района, в котором ищутся слоты времени;
  • iiOrganizationIDs - список ID организации, ведущей приём населения, в районе iRegionID;
  • ssSvcVariantCodes - список кодов цели по ФРГУ (СРГУ);
  • dStartDate - дата, начиная с которой включительно выбираются слоты времени; если null, то выбираются слоты с завтрашнего дня;
  • dEndDate - дата, по которую включительно выбираются слоты времени; если null, ограничения по дате “по” нет;
  • iMaxSlotCount - лимит на возвращаемое количество слотов. Пока добавлен для уменьшения размеров сообщения. Надо решить организационно, как ограничивать выборку.

При выборке поля iOrganizationID и iAreaID заполняются ID организации, ведущей приём населения, и рабочего места
соответственно. Соответствующие строковые поля заполняются null. Для подготовки ответа их необходимо предварительно
заполнить в соответствии с предполагаемым механизмом обмена через предметный ВС.

PrepareSlotData

FUNCTION PrepareSlotData(Slot IN uszn.pkReception.TWorkdayTimeSlot) RETURN TTimeSlot;

Описание

Преобразует данные слота времени в данные слота сервиса бронирования.
Параметры:

  • Slot - слот времени.

Возвращает заполненный слот сервиса бронирования. При этом не заполняет поля sOrganizationID и sAreaID; их
требуется заполнять отдельно, т. к. реализация зависит от используемого ВС.
Если слот времени не найден в БД, возникает exception.

ProcessBooking

PROCEDURE ProcessBooking(
    Request IN uszn.pkSMEV3.TGetRequestResponse, BookRequest IN TBookRequestData, sRegistratorData VARCHAR2, iDefPrelimBookingPeriod PLS_INTEGER,
    Slot OUT uszn.pkReception.TWorkdayTimeSlot, BookingStatus OUT TBookingStatus);
-- Получает статус бронирования для ответа на запрос getBookingStatus.
-- Параметры:
--   sBookID       - ID брони;
--   sEsiaID       - ID пользователя в ЕСИА.
--   Slot          - слот времени, который соответствует данному коду брони;
--   BookingStatus - статус бронирования.
PROCEDURE GetBookingStatus(sBookID TBookIDType, sEsiaID uszn.pkEpgu.TEsiaIDType, Slot OUT uszn.pkReception.TWorkdayTimeSlot, BookingStatus OUT TBookingStatus);
-- Отменяет бронирование.
-- Параметры:
--   sBookID       - ID брони;
--   sEsiaID       - ID пользователя в ЕСИА;
--   Slot          - слот времени, который соответствует данному коду брони (в состоянии до отмены брони);
--   BookingStatus - статус отмены бронирования.
-- Уведомление об изменении состояния слота при этом не отправляется, чтобы можно было отправить ответ на входящий
-- запрос, используя BookingStatus.
PROCEDURE CancelBooking(sBookID uszn.pkEqueue.TBookIDType, sEsiaID uszn.pkEpgu.TEsiaIDType, Slot OUT uszn.pkReception.TWorkdayTimeSlot, BookingStatus OUT TBookingStatus);
 
/*********************************************************************************************************************

Описание

Выполняет бронирование или изменение параметров бронирования.
Входные параметры:

  • Request - разобранные служебные данные исходного запроса;
  • BookRequest - входные данные запроса на бронирование;
  • sRegistratorData - произвольные данные, записываемые системой-регистратором;
  • iDefPrelimBookingPeriod - период резервирования по умолчанию при предварительном бронировании в минутах.

Выходные параметры:

  • Slot - слот времени в состоянии после выполнения (или неудачного выполнения) бронирования;
  • BookingStatus - статус бронирования.

GetBookingStatus

PROCEDURE GetBookingStatus(sBookID TBookIDType, sEsiaID uszn.pkEpgu.TEsiaIDType, Slot OUT uszn.pkReception.TWorkdayTimeSlot, BookingStatus OUT TBookingStatus);

Описание

Получает статус бронирования для ответа на запрос getBookingStatus.
Параметры:

  • sBookID - ID брони;
  • sEsiaID - ID пользователя в ЕСИА.
  • Slot - слот времени, который соответствует данному коду брони;
  • BookingStatus - статус бронирования.

CancelBooking

PROCEDURE CancelBooking(sBookID uszn.pkEqueue.TBookIDType, sEsiaID uszn.pkEpgu.TEsiaIDType, Slot OUT uszn.pkReception.TWorkdayTimeSlot, BookingStatus OUT TBookingStatus);

Описание

Отменяет бронирование.
Параметры:

  • sBookID - ID брони;
  • sEsiaID - ID пользователя в ЕСИА;
  • Slot - слот времени, который соответствует данному коду брони (в состоянии до отмены брони);
  • BookingStatus - статус отмены бронирования.

Уведомление об изменении состояния слота при этом не отправляется, чтобы можно было отправить ответ на входящий
запрос, используя BookingStatus.

Формирование тегов для ответов

VisitTimeToStr

FUNCTION VisitTimeToStr(dTime DATE) RETURN VARCHAR2;

Описание

Преобразует время посещения из даты/времени в текстовое представление.

GetSlotTagData

FUNCTION GetSlotTagData(sNSPrefix VARCHAR2, Slot IN TTimeSlot) RETURN VARCHAR2;

Описание

Возвращает данные тега слота времени (без самого тега, т. к. в разных местах для слота используются разные теги).
Параметры:

  • sNSPrefix - префикс пространства имён;
  • Slot - данные слота.

Перед вызовом этой функции необходимо заполнить поля sOrganizationID и sAreaID.

GetGetSlotsTag

PROCEDURE GetGetSlotsTag(sNSPrefix VARCHAR2, Slots IN TTimeSlotList, cResult OUT CLOB);

Описание

Заполняет тег <getSlots> данными списка слотов.
Входные параметры:

  • sNSPrefix - префикс пространства имён;
  • Slots - список слотов; у слотов должны быть предварительно заполнены поля sOrganizationID и sAreaID.

Выходные параметры:

  • cSlots - готовый тег <getSlots>.

Если список слотов пустой, возвращается тег <getSlots> без дочерних элементов.

GetStatusTag

FUNCTION GetStatusTag(sNSPrefix VARCHAR2, Status IN TBookingStatus) RETURN VARCHAR2;

Описание

Возвращает тег статуса бронирования.
Параметры:

  • sNSPrefix - префикс пространства имён;
  • Status - статус бронирования.

GetBookingStatusTagData

FUNCTION GetBookingStatusTagData(sNSPrefix VARCHAR2, sBookID TBookIDType, sEsiaID uszn.pkEpgu.TEsiaIDType, BookingStatus IN TBookingStatus, Slot IN TTimeSlot) RETURN VARCHAR2;

Описание

Возвращает данные для тега о состоянии бронирования.
Параметры:

  • sNSPrefix - префикс пространства имён;
  • sBookID - ID брони;
  • sEsiaID - ID пользователя в ЕСИА;
  • BookingStatus - статус бронирования;
  • Slot - данные слота; должны быть предварительно заполнены поля sOrganizationID и sAreaID.

GetBookTag

FUNCTION GetBookTag(sNSPrefix VARCHAR2, sBookID TBookIDType, sEsiaID uszn.pkEpgu.TEsiaIDType, BookingStatus IN TBookingStatus, Slot IN TTimeSlot) RETURN VARCHAR2;

Описание

Возвращает тег <book>.
Параметры:

  • sNSPrefix - префикс пространства имён;
  • sBookID - ID брони;
  • sEsiaID - ID пользователя в ЕСИА;
  • BookingStatus - статус бронирования;
  • Slot - данные слота; должны быть предварительно заполнены поля sOrganizationID и sAreaID.

GetGetBookingStatusTag

FUNCTION GetGetBookingStatusTag(sNSPrefix VARCHAR2, sBookID TBookIDType, sEsiaID uszn.pkEpgu.TEsiaIDType, BookingStatus IN TBookingStatus, Slot IN TTimeSlot) RETURN VARCHAR2;

Описание

Возвращает тег <getBookingStatus>.
Параметры:

  • sNSPrefix - префикс пространства имён;
  • sBookID - ID брони;
  • sEsiaID - ID пользователя в ЕСИА;
  • BookingStatus - статус бронирования;
  • Slot - данные слота; должны быть предварительно заполнены поля sOrganizationID и sAreaID.

GetCancelBookingStatusTag

FUNCTION GetCancelBookingStatusTag(sNSPrefix VARCHAR2, sBookID TBookIDType, sEsiaID uszn.pkEpgu.TEsiaIDType, BookingStatus IN TBookingStatus) RETURN VARCHAR2;

Описание

Возвращает тег <cancelBooking>.
Параметры:

  • sNSPrefix - префикс пространства имён;
  • sBookID - ID брони;
  • sEsiaID - ID пользователя в ЕСИА;
  • BookingStatus - статус отмены бронирования.