Новые параметры очереди - связанные организация, документ и раздел

This commit is contained in:
Mikhail Chechnev 2018-12-27 14:18:36 +03:00
parent 08ccd54274
commit 0db3aa3ac9
3 changed files with 113 additions and 39 deletions

View File

@ -381,6 +381,9 @@ create or replace package PKG_EXS as
NEXSSERVICEFN in number, -- Рег. номер функции обработки
BMSG in blob, -- Данные
NEXSQUEUE in number := null, -- Рег. номер связанной позиции очереди
NLNK_COMPANY in number := null, -- Ðåã. íîìåð ñâÿçàííîé îðãàíèçàöèè
NLNK_DOCUMENT in number := null, -- Ðåã. íîìåð ñâÿçàííîé çàïèñè äîêóìåíòà
SLNK_UNITCODE in varchar2 := null, -- Êîä ñâÿçàííîãî ðàçäåëà
NNEW_EXSQUEUE out number -- Курсор с добавленной позицией очереди
);
@ -390,6 +393,9 @@ create or replace package PKG_EXS as
NEXSSERVICEFN in number, -- Рег. номер функции обработки
BMSG in blob, -- Данные
NEXSQUEUE in number := null, -- Рег. номер связанной позиции очереди
NLNK_COMPANY in number := null, -- Ðåã. íîìåð ñâÿçàííîé îðãàíèçàöèè
NLNK_DOCUMENT in number := null, -- Ðåã. íîìåð ñâÿçàííîé çàïèñè äîêóìåíòà
SLNK_UNITCODE in varchar2 := null, -- Êîä ñâÿçàííîãî ðàçäåëà
RCQUEUE out sys_refcursor -- Курсор с добавленной позицией очереди
);
@ -400,6 +406,9 @@ create or replace package PKG_EXS as
SEXSSERVICEFN in varchar2, -- Мнемокод функции сервиса для обработки
BMSG in blob, -- Данные
NEXSQUEUE in number := null, -- Рег. номер связанной позиции очереди
NLNK_COMPANY in number := null, -- Ðåã. íîìåð ñâÿçàííîé îðãàíèçàöèè
NLNK_DOCUMENT in number := null, -- Ðåã. íîìåð ñâÿçàííîé çàïèñè äîêóìåíòà
SLNK_UNITCODE in varchar2 := null, -- Êîä ñâÿçàííîãî ðàçäåëà
NNEW_EXSQUEUE out number -- Курсор с добавленной позицией очереди
);
@ -410,6 +419,9 @@ create or replace package PKG_EXS as
SEXSSERVICEFN in varchar2, -- Мнемокод функции сервиса для обработки
BMSG in blob, -- Данные
NEXSQUEUE in number := null, -- Рег. номер связанной позиции очереди
NLNK_COMPANY in number := null, -- Ðåã. íîìåð ñâÿçàííîé îðãàíèçàöèè
NLNK_DOCUMENT in number := null, -- Ðåã. íîìåð ñâÿçàííîé çàïèñè äîêóìåíòà
SLNK_UNITCODE in varchar2 := null, -- Êîä ñâÿçàííîãî ðàçäåëà
RCQUEUE out sys_refcursor -- Курсор с добавленной позицией очереди
);
@ -1576,6 +1588,9 @@ create or replace package body PKG_EXS as
NEXSSERVICEFN in number, -- Рег. номер функции обработки
BMSG in blob, -- Данные
NEXSQUEUE in number := null, -- Рег. номер связанной позиции очереди
NLNK_COMPANY in number := null, -- Ðåã. íîìåð ñâÿçàííîé îðãàíèçàöèè
NLNK_DOCUMENT in number := null, -- Ðåã. íîìåð ñâÿçàííîé çàïèñè äîêóìåíòà
SLNK_UNITCODE in varchar2 := null, -- Êîä ñâÿçàííîãî ðàçäåëà
NNEW_EXSQUEUE out number -- Курсор с добавленной позицией очереди
)
is
@ -1595,6 +1610,9 @@ create or replace package body PKG_EXS as
BMSG => BMSG,
BRESP => null,
NEXSQUEUE => NEXSQUEUE,
NLNK_COMPANY => NLNK_COMPANY,
NLNK_DOCUMENT => NLNK_DOCUMENT,
SLNK_UNITCODE => SLNK_UNITCODE,
NRN => NNEW_EXSQUEUE);
end QUEUE_PUT;
@ -1604,13 +1622,22 @@ create or replace package body PKG_EXS as
NEXSSERVICEFN in number, -- Рег. номер функции обработки
BMSG in blob, -- Данные
NEXSQUEUE in number := null, -- Рег. номер связанной позиции очереди
NLNK_COMPANY in number := null, -- Ðåã. íîìåð ñâÿçàííîé îðãàíèçàöèè
NLNK_DOCUMENT in number := null, -- Ðåã. íîìåð ñâÿçàííîé çàïèñè äîêóìåíòà
SLNK_UNITCODE in varchar2 := null, -- Êîä ñâÿçàííîãî ðàçäåëà
RCQUEUE out sys_refcursor -- Курсор с добавленной позицией очереди
)
is
NRN EXSQUEUE.RN%type; -- Рег. номер добавленной записи очереди
begin
/* Проверяем параметры */
QUEUE_PUT(NEXSSERVICEFN => NEXSSERVICEFN, BMSG => BMSG, NEXSQUEUE => NEXSQUEUE, NNEW_EXSQUEUE => NRN);
QUEUE_PUT(NEXSSERVICEFN => NEXSSERVICEFN,
BMSG => BMSG,
NEXSQUEUE => NEXSQUEUE,
NLNK_COMPANY => NLNK_COMPANY,
NLNK_DOCUMENT => NLNK_DOCUMENT,
SLNK_UNITCODE => SLNK_UNITCODE,
NNEW_EXSQUEUE => NRN);
/* Возвращаем добавленную позицию очереди */
QUEUE_GET(NFLAG_SMART => 0, NEXSQUEUE => NRN, RCQUEUE => RCQUEUE);
end QUEUE_PUT;
@ -1622,6 +1649,9 @@ create or replace package body PKG_EXS as
SEXSSERVICEFN in varchar2, -- Мнемокод функции сервиса для обработки
BMSG in blob, -- Данные
NEXSQUEUE in number := null, -- Рег. номер связанной позиции очереди
NLNK_COMPANY in number := null, -- Ðåã. íîìåð ñâÿçàííîé îðãàíèçàöèè
NLNK_DOCUMENT in number := null, -- Ðåã. íîìåð ñâÿçàííîé çàïèñè äîêóìåíòà
SLNK_UNITCODE in varchar2 := null, -- Êîä ñâÿçàííîãî ðàçäåëà
NNEW_EXSQUEUE out number -- Курсор с добавленной позицией очереди
)
is
@ -1639,7 +1669,13 @@ create or replace package body PKG_EXS as
SEXSSERVICE => SEXSSERVICE,
SEXSSERVICEFN => SEXSSERVICEFN);
/* Ставим запись в очередь */
QUEUE_PUT(NEXSSERVICEFN => NEXSSERVICEFN, BMSG => BMSG, NEXSQUEUE => NEXSQUEUE, NNEW_EXSQUEUE => NNEW_EXSQUEUE);
QUEUE_PUT(NEXSSERVICEFN => NEXSSERVICEFN,
BMSG => BMSG,
NEXSQUEUE => NEXSQUEUE,
NLNK_COMPANY => NLNK_COMPANY,
NLNK_DOCUMENT => NLNK_DOCUMENT,
SLNK_UNITCODE => SLNK_UNITCODE,
NNEW_EXSQUEUE => NNEW_EXSQUEUE);
end QUEUE_PUT;
/* Помещение сообщения обмена в очередь (по коду сервиса и функции обрабоки, возвращает курсор с добавленной записью) */
@ -1649,6 +1685,9 @@ create or replace package body PKG_EXS as
SEXSSERVICEFN in varchar2, -- Мнемокод функции сервиса для обработки
BMSG in blob, -- Данные
NEXSQUEUE in number := null, -- Рег. номер связанной позиции очереди
NLNK_COMPANY in number := null, -- Ðåã. íîìåð ñâÿçàííîé îðãàíèçàöèè
NLNK_DOCUMENT in number := null, -- Ðåã. íîìåð ñâÿçàííîé çàïèñè äîêóìåíòà
SLNK_UNITCODE in varchar2 := null, -- Êîä ñâÿçàííîãî ðàçäåëà
RCQUEUE out sys_refcursor -- Курсор с добавленной позицией очереди
)
is
@ -1659,6 +1698,9 @@ create or replace package body PKG_EXS as
SEXSSERVICEFN => SEXSSERVICEFN,
BMSG => BMSG,
NEXSQUEUE => NEXSQUEUE,
NLNK_COMPANY => NLNK_COMPANY,
NLNK_DOCUMENT => NLNK_DOCUMENT,
SLNK_UNITCODE => SLNK_UNITCODE,
NNEW_EXSQUEUE => NRN);
/* Возвращаем добавленную позицию очереди */
QUEUE_GET(NFLAG_SMART => 0, NEXSQUEUE => NRN, RCQUEUE => RCQUEUE);

View File

@ -178,6 +178,35 @@ exports.putQueue = new Schema({
`Идентификатор связанной позиции очереди обмена (${path}) имеет некорректный тип данных (ожидалось - Number)`,
required: path => `Не указан идентификатор связанной позиции очереди обмена (${path})`
}
},
//Идентификатор связанной организации
nLnkCompanyId: {
type: Number,
required: false,
message: {
type: path =>
`Идентификатор связанной организации (${path}) имеет некорректный тип данных (ожидалось - Number)`,
required: path => `Не указан идентификатор связанной организации (${path})`
}
},
//Идентификатор связанного документа
nLnkDocumentId: {
type: Number,
required: false,
message: {
type: path =>
`Идентификатор связанного документа (${path}) имеет некорректный тип данных (ожидалось - Number)`,
required: path => `Не указан идентификатор связанного документа (${path})`
}
},
//Код связанного раздела
sLnkUnitcode: {
type: String,
required: false,
message: {
type: path => `Код связанного раздела (${path}) имеет некорректный тип данных (ожидалось - String)`,
required: path => `Не указан код связанного раздела (${path})`
}
}
});

View File

@ -129,11 +129,14 @@ const getQueue = async prms => {
const putQueue = async prms => {
try {
let res = await prms.connection.execute(
"BEGIN PKG_EXS.QUEUE_PUT(NEXSSERVICEFN => :NEXSSERVICEFN, BMSG => :BMSG, NEXSQUEUE => :NEXSQUEUE, RCQUEUE => :RCQUEUE); END;",
"BEGIN PKG_EXS.QUEUE_PUT(NEXSSERVICEFN => :NEXSSERVICEFN, BMSG => :BMSG, NEXSQUEUE => :NEXSQUEUE, NLNK_COMPANY => :NLNK_COMPANY, NLNK_DOCUMENT => :NLNK_DOCUMENT, SLNK_UNITCODE => :SLNK_UNITCODE, RCQUEUE => :RCQUEUE); END;",
{
NEXSSERVICEFN: prms.nServiceFnId,
BMSG: prms.blMsg,
NEXSQUEUE: prms.nQueueId,
NLNK_COMPANY: prms.nLnkCompanyId,
NLNK_DOCUMENT: prms.nLnkDocumentId,
SLNK_UNITCODE: prms.sLnkUnitcode,
RCQUEUE: { type: oracledb.CURSOR, dir: oracledb.BIND_OUT }
},
{ outFormat: oracledb.OBJECT, autoCommit: true }