ЦИТК-560 - "Интеграция с ЭДО ДИАДОК": поддержка параметра "Код подразделения" при отправке запросов на получение новых событий
This commit is contained in:
parent
595ac4638c
commit
5173202799
@ -291,8 +291,13 @@ const beforeEvent = async prms => {
|
|||||||
checkAPIClientId(SDDAUTH_API_CLIENT_ID);
|
checkAPIClientId(SDDAUTH_API_CLIENT_ID);
|
||||||
//Формируем запрос
|
//Формируем запрос
|
||||||
try {
|
try {
|
||||||
|
let sToken = null; //Токен доступа
|
||||||
|
let surl = prms.options.url; //Адрес запрос
|
||||||
|
let serverResp; //Результат запроса информации по текущей организации
|
||||||
|
let obj; //Тело запроса (JSON)
|
||||||
|
let rblMsg; //Буфер тела запроса
|
||||||
|
let sDepartmentId; //Идентификатор подразделения
|
||||||
//Считаем токен доступа из контекста сервиса
|
//Считаем токен доступа из контекста сервиса
|
||||||
let sToken = null;
|
|
||||||
if (prms.service.sCtx) {
|
if (prms.service.sCtx) {
|
||||||
sToken = prms.service.sCtx;
|
sToken = prms.service.sCtx;
|
||||||
}
|
}
|
||||||
@ -304,23 +309,49 @@ const beforeEvent = async prms => {
|
|||||||
headers: buildHeaders(SDDAUTH_API_CLIENT_ID, sToken),
|
headers: buildHeaders(SDDAUTH_API_CLIENT_ID, sToken),
|
||||||
json: true
|
json: true
|
||||||
};
|
};
|
||||||
//Выполним запрос
|
try {
|
||||||
let serverResp = await rqp(rqpoptions);
|
//Выполним запрос
|
||||||
//Не удалось получить текущий ящик организации
|
serverResp = await rqp(rqpoptions);
|
||||||
if (!serverResp.Organizations[0].Boxes[0].BoxId) {
|
//Не удалось получить ящик получателя
|
||||||
throw new Error("Не удалось получить ящик текущей организации");
|
if (!serverResp.Organizations[0].Boxes[0].BoxId) {
|
||||||
|
throw new Error(`Не удалось получить ящик текущей организации.`);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
throw Error(`Не удалось получить ящик текущей организации: ${e.message}`);
|
||||||
}
|
}
|
||||||
let surl = prms.options.url;
|
//Сохраняем полученный ответ
|
||||||
let obj;
|
|
||||||
let rblMsg;
|
|
||||||
surl = surl + "?" + "boxId=" + serverResp.Organizations[0].Boxes[0].BoxId;
|
surl = surl + "?" + "boxId=" + serverResp.Organizations[0].Boxes[0].BoxId;
|
||||||
|
//Если задано подразделение
|
||||||
|
if (prms.options.sdepartment_name) {
|
||||||
|
if (prms.options.sdepartment_name == "Головное подразделение") {
|
||||||
|
sDepartmentId = "00000000-0000-0000-0000-000000000000";
|
||||||
|
} else {
|
||||||
|
//Получим идентификатор подразделения
|
||||||
|
for (let i in serverResp.Organizations[0].Departments) {
|
||||||
|
//Если нашлось подразделение - запомним идентификато и выходим из цикла
|
||||||
|
if (serverResp.Organizations[0].Departments[i].Name == prms.options.sdepartment_name) {
|
||||||
|
sDepartmentId = serverResp.Organizations[0].Departments[i].DepartmentId;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Не удалось получить идентификатор подразделения
|
||||||
|
if (!sDepartmentId) {
|
||||||
|
throw new Error(`Не удалось получить идентификатор подразделения с наименованием "${prms.options.sdepartment_name}"`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
//Если действие не "Документооборот"
|
//Если действие не "Документооборот"
|
||||||
if (prms.options.saction != "DOCFLOWS") {
|
if (prms.options.saction != "DOCFLOWS") {
|
||||||
|
//Заполним параметры для отбора последних событий
|
||||||
if (prms.options.aftereventid) {
|
if (prms.options.aftereventid) {
|
||||||
surl = surl + "&" + "afterEventId=" + prms.options.aftereventid;
|
surl = surl + "&" + "afterEventId=" + prms.options.aftereventid;
|
||||||
} else {
|
} else {
|
||||||
surl = surl + "&" + "timestampFromTicks=" + prms.options.timestampfromticks;
|
surl = surl + "&" + "timestampFromTicks=" + prms.options.timestampfromticks;
|
||||||
}
|
}
|
||||||
|
//Заполним идентификатор подразделения
|
||||||
|
if (prms.options.sdepartment_name && sDepartmentId) {
|
||||||
|
surl = surl + "&" + "departmentId=" + sDepartmentId;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (prms.queue.blMsg) {
|
if (prms.queue.blMsg) {
|
||||||
//Конвертируем XML из "Парус 8" в понятный "ДИАДОК" JSON
|
//Конвертируем XML из "Парус 8" в понятный "ДИАДОК" JSON
|
||||||
|
Loading…
x
Reference in New Issue
Block a user