forked from CITKParus/P8-ExchangeService
ЦИТК-999 - ДИАДОК - исправлена проблема конвертации ИНН в число с последующим исчезновением лидирующего нуля
This commit is contained in:
parent
54988da32c
commit
80f50d43a3
@ -296,6 +296,8 @@ const beforeMessagePost = async prms => {
|
|||||||
}
|
}
|
||||||
//Если не достали из контекста токен доступа - значит нет аутентификации на сервере
|
//Если не достали из контекста токен доступа - значит нет аутентификации на сервере
|
||||||
if (!sToken) return { bUnAuth: true };
|
if (!sToken) return { bUnAuth: true };
|
||||||
|
//Получим параметры запроса
|
||||||
|
const optionsData = await toJSON(prms.queue.sOptions);
|
||||||
//Конвертируем XML из "Парус 8" в JSON
|
//Конвертируем XML из "Парус 8" в JSON
|
||||||
let obj = await toJSON(prms.queue.blMsg.toString());
|
let obj = await toJSON(prms.queue.blMsg.toString());
|
||||||
//Формируем запрос для получения FromBoxId
|
//Формируем запрос для получения FromBoxId
|
||||||
@ -313,7 +315,7 @@ const beforeMessagePost = async prms => {
|
|||||||
//Получим идентификатор организации по ИНН/КПП поставщика документа
|
//Получим идентификатор организации по ИНН/КПП поставщика документа
|
||||||
for (let i in serverResp.Organizations) {
|
for (let i in serverResp.Organizations) {
|
||||||
//Если найдена подходящая организация - запомним идентификатор и выходим из цикла
|
//Если найдена подходящая организация - запомним идентификатор и выходим из цикла
|
||||||
if (serverResp.Organizations[i].Inn == prms.options.inn_pr && serverResp.Organizations[i].Kpp == prms.options.kpp_pr) {
|
if (serverResp.Organizations[i].Inn == optionsData.inn_pr && serverResp.Organizations[i].Kpp == optionsData.kpp_pr) {
|
||||||
//Сохраняем полученный ответ
|
//Сохраняем полученный ответ
|
||||||
obj.FromBoxId = serverResp.Organizations[i].Boxes[0].BoxId;
|
obj.FromBoxId = serverResp.Organizations[i].Boxes[0].BoxId;
|
||||||
break;
|
break;
|
||||||
@ -321,13 +323,13 @@ const beforeMessagePost = async prms => {
|
|||||||
}
|
}
|
||||||
//Не удалось получить ящик отправителя
|
//Не удалось получить ящик отправителя
|
||||||
if (!obj.FromBoxId) {
|
if (!obj.FromBoxId) {
|
||||||
throw new Error(`Не удалось получить ящик текущей организации с ИНН: ${prms.options.inn_pr} и КПП: ${prms.options.kpp_pr}`);
|
throw new Error(`Не удалось получить ящик текущей организации с ИНН: ${optionsData.inn_pr} и КПП: ${optionsData.kpp_pr}`);
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
throw Error(`Ошибка при получении ящика текущей организации: ${e.message}`);
|
throw Error(`Ошибка при получении ящика текущей организации: ${e.message}`);
|
||||||
}
|
}
|
||||||
//Получим ящик получателя
|
//Получим ящик получателя
|
||||||
organization = await getOrganizationBoxId(prms.service.sSrvRoot, buildHeaders(sAPIClientId, sToken), prms.options.inn_cs, prms.options.kpp_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)) {
|
||||||
@ -454,6 +456,8 @@ const beforeEvent = async prms => {
|
|||||||
}
|
}
|
||||||
//Если не достали из контекста токен доступа - значит нет аутентификации на сервере
|
//Если не достали из контекста токен доступа - значит нет аутентификации на сервере
|
||||||
if (!sToken) return { bUnAuth: true };
|
if (!sToken) return { bUnAuth: true };
|
||||||
|
//Получим параметры запроса
|
||||||
|
const optionsData = await toJSON(prms.queue.sOptions);
|
||||||
//Формируем запрос для получения BoxId
|
//Формируем запрос для получения BoxId
|
||||||
let rqpOptions = {
|
let rqpOptions = {
|
||||||
uri: buildMyOrganizationURL(prms.service.sSrvRoot),
|
uri: buildMyOrganizationURL(prms.service.sSrvRoot),
|
||||||
@ -466,7 +470,7 @@ const beforeEvent = async prms => {
|
|||||||
//Получим идентификатор организации по ИНН/КПП контрагента организации
|
//Получим идентификатор организации по ИНН/КПП контрагента организации
|
||||||
for (let i in serverResp.Organizations) {
|
for (let i in serverResp.Organizations) {
|
||||||
//Если найдена подходящая организация - запомним идентификатор и выходим из цикла
|
//Если найдена подходящая организация - запомним идентификатор и выходим из цикла
|
||||||
if (serverResp.Organizations[i].Inn == prms.options.inn && serverResp.Organizations[i].Kpp == prms.options.kpp) {
|
if (serverResp.Organizations[i].Inn == optionsData.inn && serverResp.Organizations[i].Kpp == optionsData.kpp) {
|
||||||
//Сохраняем полученный ответ
|
//Сохраняем полученный ответ
|
||||||
sBoxId = serverResp.Organizations[i].Boxes[0].BoxId;
|
sBoxId = serverResp.Organizations[i].Boxes[0].BoxId;
|
||||||
//Если задано подразделение
|
//Если задано подразделение
|
||||||
@ -493,7 +497,7 @@ const beforeEvent = async prms => {
|
|||||||
}
|
}
|
||||||
//Не удалось получить ящик текущей организации
|
//Не удалось получить ящик текущей организации
|
||||||
if (!sBoxId) {
|
if (!sBoxId) {
|
||||||
throw new Error(`Не удалось получить ящик текущей организации с ИНН: ${prms.options.inn} и КПП: ${prms.options.kpp}`);
|
throw new Error(`Не удалось получить ящик текущей организации с ИНН: ${optionsData.inn} и КПП: ${optionsData.kpp}`);
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
throw Error(`Ошибка при получении ящика текущей организации: ${e.message}`);
|
throw Error(`Ошибка при получении ящика текущей организации: ${e.message}`);
|
||||||
@ -833,6 +837,8 @@ const beforeDepartmentIdGet = async prms => {
|
|||||||
const afterDepartmentIdGet = async prms => {
|
const afterDepartmentIdGet = async prms => {
|
||||||
let resu = null;
|
let resu = null;
|
||||||
let organization = {};
|
let organization = {};
|
||||||
|
//Получим параметры запроса
|
||||||
|
const optionsData = await toJSON(prms.queue.sOptions);
|
||||||
//Действие выполнено успешно
|
//Действие выполнено успешно
|
||||||
if (prms.optionsResp.statusCode == 200) {
|
if (prms.optionsResp.statusCode == 200) {
|
||||||
try {
|
try {
|
||||||
@ -840,7 +846,7 @@ const afterDepartmentIdGet = async prms => {
|
|||||||
//Получим организацию не в роуминге (или единственную организацию в роуминге)
|
//Получим организацию не в роуминге (или единственную организацию в роуминге)
|
||||||
organization = getOrganizations(JSON.parse(prms.queue.blResp.toString()));
|
organization = getOrganizations(JSON.parse(prms.queue.blResp.toString()));
|
||||||
if (!organization) {
|
if (!organization) {
|
||||||
throw Error(`Не удалось получить ящик для контрагента с ИНН: ${prms.options.nINN} и КПП: ${prms.options.nKPP}`);
|
throw Error(`Не удалось получить ящик для контрагента с ИНН: ${optionsData.nINN} и КПП: ${optionsData.nKPP}`);
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
//Получим ключ разработчика
|
//Получим ключ разработчика
|
||||||
@ -848,7 +854,7 @@ const afterDepartmentIdGet = async prms => {
|
|||||||
//Считаем токен доступа из контекста сервиса
|
//Считаем токен доступа из контекста сервиса
|
||||||
let sToken = prms.service.sCtx;
|
let sToken = prms.service.sCtx;
|
||||||
//Получим головную организацию по ИНН/КПП
|
//Получим головную организацию по ИНН/КПП
|
||||||
organization = await getOrganization(prms.service.sSrvRoot, buildHeaders(sAPIClientId, sToken), prms.options.nINN, prms.options.nKPP);
|
organization = await getOrganization(prms.service.sSrvRoot, buildHeaders(sAPIClientId, sToken), optionsData.nINN, optionsData.nKPP);
|
||||||
};
|
};
|
||||||
//Преобразуем JSON ответ сервиса "ДИАДОК" в XML, понятный "Парус 8"
|
//Преобразуем JSON ответ сервиса "ДИАДОК" в XML, понятный "Парус 8"
|
||||||
resu = toXML({ root: organization });
|
resu = toXML({ root: organization });
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user