Загрузка данных
function uploadRegister() {
const validationResult = [];
let sentCount = 0;
const modelData = getSelectedFnsRows();
const rows = modelData && modelData.list ? modelData.list : [];
if (!rows.length) {
return;
}
rows.forEach(function(appData) {
const requestLabel = 'Запрос № ' + appData.request_number;
let uploadSucceeded = false;
function addMessage(message) {
validationResult.push({
messageType: 'info',
message: requestLabel + ': ' + message
});
}
if (!appData.model_file_id) {
addMessage('отсутствует файл запроса.');
return;
}
// Сначала выгружаем файл.
$.ajax({
url: "queryAction/action",
type: "POST",
async: false,
data: {
viewCode: '7K6FKG8e',
queryActionCode: 'DaizGytc',
record_id: appData.model_file_id,
unload_mode: 1
},
dataType: "json",
success: function(response) {
if (!response || response.result !== true) {
if (
response
&& response.messages
&& response.messages.length
) {
validationResult.push(...response.messages);
} else {
addMessage('операция выгрузки не подтверждена.');
}
return;
}
if (response.data === 0 || response.data === '0') {
uploadSucceeded = true;
} else if (
response.data === 1
|| response.data === '1'
) {
addMessage(
'файл с таким именем уже существует во внешнем хранилище. Новая отправка не подтверждена.'
);
} else {
addMessage(
'выгрузка не подтверждена. Код результата: '
+ response.data
);
}
},
error: function() {
addMessage(
'не удалось получить результат выгрузки. Проверьте состояние запроса перед повторной отправкой.'
);
}
});
if (!uploadSucceeded) {
return;
}
// После успешной выгрузки сохраняем статус.
$.ajax({
url: "queryAction/action",
type: "POST",
async: false,
data: {
viewCode: '7K6FKG8e',
queryActionCode: 'sr8LySCh',
model_file_to_verification_id: appData.model_file_id
},
dataType: "json",
success: function(response) {
if (response && response.result === true) {
sentCount++;
return;
}
addMessage(
'файл выгружен, но сохранение статуса «Отправлено в ФНС» не подтверждено.'
);
if (
response
&& response.messages
&& response.messages.length
) {
validationResult.push(...response.messages);
}
},
error: function() {
addMessage(
'файл выгружен, но не удалось получить результат сохранения статуса. Обновите журнал перед повторными действиями.'
);
}
});
});
if (sentCount > 0) {
validationResult.unshift({
messageType: 'info',
message: 'Отправлено в ФНС. Количество запросов: '
+ sentCount + '.'
});
}
fns_journal.reload();
showMessages(validationResult);
}