forked from CITKParus/P8-ExchangeService
Compare commits
No commits in common. "ac7870e8841fcbbf2a23aff5600f3024a7efcfe6" and "1dc5b5d10850566ef25d02fb14c88ff3e3c3fc41" have entirely different histories.
ac7870e884
...
1dc5b5d108
@ -14,7 +14,7 @@ let common = {
|
|||||||
//Версия сервера приложений
|
//Версия сервера приложений
|
||||||
sVersion: "8.5.6.1",
|
sVersion: "8.5.6.1",
|
||||||
//Релиз сервера приложений
|
//Релиз сервера приложений
|
||||||
sRelease: "2025.12.24",
|
sRelease: "2025.11.06",
|
||||||
//Таймаут останова сервера (мс)
|
//Таймаут останова сервера (мс)
|
||||||
nTerminateTimeout: 60000,
|
nTerminateTimeout: 60000,
|
||||||
//Контролировать версию Системы
|
//Контролировать версию Системы
|
||||||
|
|||||||
@ -37,7 +37,7 @@ const publishMQTT = async ({ settings, url, auth, topic, message, logger }) => {
|
|||||||
//Прослушиваем ошибки
|
//Прослушиваем ошибки
|
||||||
client.on("error", e => {
|
client.on("error", e => {
|
||||||
//Если требуется выдавать ошибку
|
//Если требуется выдавать ошибку
|
||||||
if ([SLOG_ERROR, SLOG_INFO].includes(settings.sLogLevel)) {
|
if (settings.sLogLevel === SLOG_ERROR) {
|
||||||
//Выводим ошибку
|
//Выводим ошибку
|
||||||
logger.error(`${SERR_MQTT}: ${makeErrorText(e)}`);
|
logger.error(`${SERR_MQTT}: ${makeErrorText(e)}`);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -136,23 +136,15 @@ const buildHeaders = (sAPIClientId, sToken = null) => ({
|
|||||||
});
|
});
|
||||||
|
|
||||||
//Отбор организций
|
//Отбор организций
|
||||||
const getOrganizations = (organizations, sNumEdo = null) => {
|
const getOrganizations = organizations => {
|
||||||
//Параметры отбора
|
//Параметры отбора
|
||||||
let isRoaming = false;
|
let isRoaming = false;
|
||||||
let isActive = true;
|
let isActive = true;
|
||||||
//Итоговая выборка
|
//Итоговая выборка
|
||||||
let organization = { Organizations: [] };
|
let organization = { Organizations: [] };
|
||||||
//Задан код участника ЭДО
|
//Найдем активную организацию не в роуминге
|
||||||
if (sNumEdo) {
|
organization.Organizations[0] = organizations.Organizations.find(org => (org.IsRoaming === isRoaming) && (org.IsActive === isActive));
|
||||||
//Найдем активную организацию не в роуминге
|
//Если не удалось получить организацию не в роуминге
|
||||||
organization.Organizations[0] = organizations.Organizations.find(org => (org.FnsParticipantId === sNumEdo));
|
|
||||||
};
|
|
||||||
//Не удалось получить организацию по коду участника ЭДО
|
|
||||||
if (!organization.Organizations[0]) {
|
|
||||||
//Найдем активную организацию не в роуминге
|
|
||||||
organization.Organizations[0] = organizations.Organizations.find(org => (org.IsRoaming === isRoaming) && (org.IsActive === isActive));
|
|
||||||
};
|
|
||||||
//Не удалось получить организацию не в роуминге
|
|
||||||
if (!organization.Organizations[0]) {
|
if (!organization.Organizations[0]) {
|
||||||
//Найдем активную организацию
|
//Найдем активную организацию
|
||||||
organization.Organizations[0] = organizations.Organizations.find(org => (org.IsActive === isActive));
|
organization.Organizations[0] = organizations.Organizations.find(org => (org.IsActive === isActive));
|
||||||
@ -193,7 +185,7 @@ const getOrganization = async (sSrvRoot, headers, nInn, nKpp) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
//Получение ящика организации по ИНН/КПП контрагента
|
//Получение ящика организации по ИНН/КПП контрагента
|
||||||
const getOrganizationBoxId = async (sSrvRoot, headers, nInn, nKpp, sNumEdo) => {
|
const getOrganizationBoxId = async (sSrvRoot, headers, nInn, nKpp) => {
|
||||||
//Параметры запроса
|
//Параметры запроса
|
||||||
let rqpOptions;
|
let rqpOptions;
|
||||||
let serverResp;
|
let serverResp;
|
||||||
@ -213,9 +205,9 @@ const getOrganizationBoxId = async (sSrvRoot, headers, nInn, nKpp, sNumEdo) => {
|
|||||||
serverResp = await rqp(rqpOptions);
|
serverResp = await rqp(rqpOptions);
|
||||||
try {
|
try {
|
||||||
//Получим организацию не в роуминге (или единственную организацию в роуминге)
|
//Получим организацию не в роуминге (или единственную организацию в роуминге)
|
||||||
serverResp = getOrganizations(serverResp, sNumEdo);
|
serverResp = getOrganizations(serverResp);
|
||||||
if (!serverResp?.Organizations[0]) {
|
if (!serverResp?.Organizations[0]) {
|
||||||
throw Error(`Не удалось получить ящик получателя для контрагента с ${sNumEdo ? `кодом участника ЭДО: ${sNumEdo}, ` : ""}ИНН: ${nInn} и КПП: ${nKpp}`);
|
throw Error(`Не удалось получить ящик получателя для контрагента с ИНН: ${nInn} и КПП: ${nKpp}`);
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
//Получим головную организацию по ИНН/КПП
|
//Получим головную организацию по ИНН/КПП
|
||||||
@ -337,7 +329,7 @@ const beforeMessagePost = async prms => {
|
|||||||
throw Error(`Ошибка при получении ящика текущей организации: ${e.message}`);
|
throw Error(`Ошибка при получении ящика текущей организации: ${e.message}`);
|
||||||
}
|
}
|
||||||
//Получим ящик получателя
|
//Получим ящик получателя
|
||||||
organization = await getOrganizationBoxId(prms.service.sSrvRoot, buildHeaders(sAPIClientId, sToken), optionsData.inn_cs, optionsData.kpp_cs, optionsData.num_cs);
|
organization = await getOrganizationBoxId(prms.service.sSrvRoot, buildHeaders(sAPIClientId, sToken), optionsData.inn_cs, optionsData.kpp_cs);
|
||||||
obj.ToBoxId = organization.BoxId;
|
obj.ToBoxId = organization.BoxId;
|
||||||
//Если не заполнен идентификатор подразделения и при получении ящика удалось его подобрать
|
//Если не заполнен идентификатор подразделения и при получении ящика удалось его подобрать
|
||||||
if ((!obj.ToDepartmentId) && (organization.DepartmentId)) {
|
if ((!obj.ToDepartmentId) && (organization.DepartmentId)) {
|
||||||
@ -852,9 +844,9 @@ const afterDepartmentIdGet = async prms => {
|
|||||||
try {
|
try {
|
||||||
try {
|
try {
|
||||||
//Получим организацию не в роуминге (или единственную организацию в роуминге)
|
//Получим организацию не в роуминге (или единственную организацию в роуминге)
|
||||||
organization = getOrganizations(JSON.parse(prms.queue.blResp.toString()), optionsData.sNumEdo);
|
organization = getOrganizations(JSON.parse(prms.queue.blResp.toString()));
|
||||||
if (!organization) {
|
if (!organization) {
|
||||||
throw Error(`Не удалось получить ящик для контрагента с ${optionsData.sNumEdo ? `кодом участника ЭДО: ${optionsData.sNumEdo}, ` : ""}ИНН: ${optionsData.nINN} и КПП: ${optionsData.nKPP}`);
|
throw Error(`Не удалось получить ящик для контрагента с ИНН: ${optionsData.nINN} и КПП: ${optionsData.nKPP}`);
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
//Получим ключ разработчика
|
//Получим ключ разработчика
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user