forked from CITKParus/P8-ExchangeService
ЦИТК-907 - ДИАДОК - Дополнительный запрос статуса документа в ЛК ЭДО после выполнения действия с ним.
This commit is contained in:
parent
4c0c296dc6
commit
71a5c75009
@ -482,10 +482,10 @@ const afterEvent = async prms => {
|
|||||||
//Получим список уникальных ящиков
|
//Получим список уникальных ящиков
|
||||||
for (let i in resp.Events) {
|
for (let i in resp.Events) {
|
||||||
if (resp.Events[i]?.Message) {
|
if (resp.Events[i]?.Message) {
|
||||||
if (!boxIds.boxIds.find(box => box.boxId === resp.Events[i]?.Message.FromBoxId)) {
|
if ((!boxIds.boxIds.find(box => box.boxId === resp.Events[i]?.Message.FromBoxId)) && (resp.Events[i]?.Message.FromBoxId)) {
|
||||||
boxIds.boxIds.push({ boxId: resp.Events[i]?.Message.FromBoxId });
|
boxIds.boxIds.push({ boxId: resp.Events[i]?.Message.FromBoxId });
|
||||||
}
|
}
|
||||||
if (!boxIds.boxIds.find(box => box.boxId === resp.Events[i]?.Message.ToBoxId)) {
|
if ((!boxIds.boxIds.find(box => box.boxId === resp.Events[i]?.Message.ToBoxId)) && (resp.Events[i]?.Message.ToBoxId)) {
|
||||||
boxIds.boxIds.push({ boxId: resp.Events[i]?.Message.ToBoxId });
|
boxIds.boxIds.push({ boxId: resp.Events[i]?.Message.ToBoxId });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -777,6 +777,60 @@ const afterDepartmentIdGet = async prms => {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//Обработчик "До" отправки запроса на получение списка документов в сообщении к сервису "ДИАДОК"
|
||||||
|
const beforeDocumentsByMessageIdGet = async prms => {
|
||||||
|
//Получим ключ разработчика
|
||||||
|
let sAPIClientId = getAPIClientId(prms.options.nCompany, prms.options.nJurPers);
|
||||||
|
//Проверим ключ разработчика
|
||||||
|
checkAPIClientId(sAPIClientId);
|
||||||
|
//Формируем запрос
|
||||||
|
try {
|
||||||
|
//Считаем токен доступа из контекста сервиса
|
||||||
|
let sToken = null;
|
||||||
|
if (prms.service.sCtx) {
|
||||||
|
sToken = prms.service.sCtx;
|
||||||
|
}
|
||||||
|
//Если не достали из контекста токен доступа - значит нет аутентификации на сервере
|
||||||
|
if (!sToken) return { bUnAuth: true };
|
||||||
|
//Собираем и отдаём общий результат работы
|
||||||
|
return {
|
||||||
|
options: {
|
||||||
|
headers: buildHeaders(sAPIClientId, sToken),
|
||||||
|
simple: false
|
||||||
|
}
|
||||||
|
};
|
||||||
|
} catch (e) {
|
||||||
|
throw Error(e);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//Обработчик "После" отправки запроса на получение списка документов в сообщении к сервису "ДИАДОК"
|
||||||
|
const afterDocumentsByMessageIdGet = async prms => {
|
||||||
|
let resu = null;
|
||||||
|
//Действие выполнено успешно
|
||||||
|
if (prms.optionsResp.statusCode == 200) {
|
||||||
|
try {
|
||||||
|
//Разберем ответ сервера
|
||||||
|
resp = JSON.parse(prms.queue.blResp.toString());
|
||||||
|
//Преобразуем JSON ответ сервиса "ДИАДОК" в XML, понятный "Парус 8"
|
||||||
|
resu = toXML({ root: resp });
|
||||||
|
} catch (e) {
|
||||||
|
throw new Error(`Неожиданный ответ сервера ЭДО "ДИАДОК". Ошибка интерпретации: ${e.message}`);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//Если пришел текст ошибки
|
||||||
|
if (prms.queue.blResp) {
|
||||||
|
throw new Error(`Неожиданный ответ сервера ЭДО "ДИАДОК": ${prms.queue.blResp.toString()}`);
|
||||||
|
} else {
|
||||||
|
throw new Error('Сервер ЭДО "ДИАДОК" не вернул ответ');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Возврат результата
|
||||||
|
return {
|
||||||
|
blResp: Buffer.from(resu)
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
//-----------------
|
//-----------------
|
||||||
// Интерфейс модуля
|
// Интерфейс модуля
|
||||||
//-----------------
|
//-----------------
|
||||||
@ -794,3 +848,5 @@ exports.afterDocLoad = afterDocLoad;
|
|||||||
exports.beforeDocDelete = beforeDocDelete;
|
exports.beforeDocDelete = beforeDocDelete;
|
||||||
exports.beforeDepartmentIdGet = beforeDepartmentIdGet;
|
exports.beforeDepartmentIdGet = beforeDepartmentIdGet;
|
||||||
exports.afterDepartmentIdGet = afterDepartmentIdGet;
|
exports.afterDepartmentIdGet = afterDepartmentIdGet;
|
||||||
|
exports.beforeDocumentsByMessageIdGet = beforeDocumentsByMessageIdGet;
|
||||||
|
exports.afterDocumentsByMessageIdGet = afterDocumentsByMessageIdGet;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user