Новый параметр при добавлении данных в очередь - sOptions (параметры позиции очереди)

This commit is contained in:
Mikhail Chechnev 2018-12-29 16:08:19 +03:00
parent 0db3aa3ac9
commit 76a500e849
3 changed files with 16 additions and 7 deletions

View File

@ -334,14 +334,13 @@ class DBConnector extends EventEmitter {
);
//Если структура объекта в норме
if (!sCheckResult) {
//Подготовим параметры
let putQueueData = _.cloneDeep(prms);
putQueueData.blMsg = prms.blMsg ? prms.blMsg : new Buffer("");
putQueueData.connection = this.connection;
//Исполняем действие в БД
try {
let res = await this.connector.putQueue({
nServiceFnId: prms.nServiceFnId,
blMsg: prms.blMsg ? prms.blMsg : new Buffer(""),
nQueueId: prms.nQueueId,
connection: this.connection
});
let res = await this.connector.putQueue(putQueueData);
//Валидируем полученный ответ
sCheckResult = validateObject(res, objQueueSchema.Queue, "Добавленное сообщение очереди обмена");
if (sCheckResult) throw new ServerError(SERR_OBJECT_BAD_INTERFACE, sCheckResult);

View File

@ -207,6 +207,15 @@ exports.putQueue = new Schema({
type: path => `Код связанного раздела (${path}) имеет некорректный тип данных (ожидалось - String)`,
required: path => `Не указан код связанного раздела (${path})`
}
},
//Параметры сообщения
sOptions: {
type: String,
required: false,
message: {
type: path => `Параметры сообщения (${path}) имеют некорректный тип данных (ожидалось - String)`,
required: path => `Не указаны параметры сообщения (${path})`
}
}
});

View File

@ -129,7 +129,7 @@ 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, NLNK_COMPANY => :NLNK_COMPANY, NLNK_DOCUMENT => :NLNK_DOCUMENT, SLNK_UNITCODE => :SLNK_UNITCODE, 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, SOPTIONS => :SOPTIONS, RCQUEUE => :RCQUEUE); END;",
{
NEXSSERVICEFN: prms.nServiceFnId,
BMSG: prms.blMsg,
@ -137,6 +137,7 @@ const putQueue = async prms => {
NLNK_COMPANY: prms.nLnkCompanyId,
NLNK_DOCUMENT: prms.nLnkDocumentId,
SLNK_UNITCODE: prms.sLnkUnitcode,
SOPTIONS: prms.sOptions,
RCQUEUE: { type: oracledb.CURSOR, dir: oracledb.BIND_OUT }
},
{ outFormat: oracledb.OBJECT, autoCommit: true }