Документация iSZN
pkEqueue.sql
Ошибки
Error_CriterionNotSupported
Описание
Вызывает exception “Критерий не поддерживается”.
Error_UnknownAttribute
Описание
Вызывает exception “Неизвестный атрибут”.
Error_InvalidCondition
Описание
Вызывает exception “Недопустимое значение условия на атрибут”.
Error_InvalidAttrValue
Описание
Вызывает 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
Описание
Преобразует данные слота времени в данные слота сервиса бронирования.
Параметры:
- 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
Описание
Преобразует время посещения из даты/времени в текстовое представление.
GetSlotTagData
Описание
Возвращает данные тега слота времени (без самого тега, т. к. в разных местах для слота используются разные теги).
Параметры:
- sNSPrefix - префикс пространства имён;
- Slot - данные слота.
Перед вызовом этой функции необходимо заполнить поля sOrganizationID и sAreaID.
GetGetSlotsTag
Описание
Заполняет тег <getSlots> данными списка слотов.
Входные параметры:
- sNSPrefix - префикс пространства имён;
- Slots - список слотов; у слотов должны быть предварительно заполнены поля sOrganizationID и sAreaID.
Выходные параметры:
- cSlots - готовый тег <getSlots>.
Если список слотов пустой, возвращается тег <getSlots> без дочерних элементов.
GetStatusTag
Описание
Возвращает тег статуса бронирования.
Параметры:
- 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 - статус отмены бронирования.