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) {
|
||||
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 });
|
||||
}
|
||||
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 });
|
||||
}
|
||||
}
|
||||
@ -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.beforeDepartmentIdGet = beforeDepartmentIdGet;
|
||||
exports.afterDepartmentIdGet = afterDepartmentIdGet;
|
||||
exports.beforeDocumentsByMessageIdGet = beforeDocumentsByMessageIdGet;
|
||||
exports.afterDocumentsByMessageIdGet = afterDocumentsByMessageIdGet;
|
||||
|
Loading…
x
Reference in New Issue
Block a user