[SE] [pivot] deleted unused code

This commit is contained in:
Aleksandr Nagaev
2024-01-08 22:37:57 +03:00
parent 14949f6ffe
commit 5d9c4e863f

View File

@ -1198,74 +1198,6 @@ function (window, undefined) {
}
}
return refError;
// 2 варианта поиска сводной таблицы:
// 1.Пройтись по всему bbox и вызывать getPivotTable пока не вернем true, иначе false
// 2.Проходиться по всем сводным таблицам и сравнивать их range с полученным на персечение(если пересекается то true иначе false)
// 1 вариант:
let isFound = false, pivot;
for (let row = bbox.r1; row <= bbox.r2; row++) {
if (isFound) {
break
}
for (let col = bbox.c1; col <= bbox.c2; col++) {
// todo проверить pivotTable на другой странице
pivot = ws.getPivotTable(col, row);
if (pivot) {
isFound = true;
break
}
}
}
if (!isFound) {
return refError;
}
// далее проходимся по заголовкам и сравниваем с первым аргументом
let fields = pivot.asc_getDataFields();
if (fields && fields.length > 0) {
for (let i = 0; i < fields.length; i++) {
let field = fields[i],
fieldName = field.name,
fld = field.fld;
if (fieldName.toLowerCase() !== looking_field.toLowerCase()) {
continue;
} else {
// Если мы нашли имя поля равное искомому, то вызываем функцию поиска
let rowColData = pivot.updateRowColItems();
let lookingOperationType = Object.keys(operationTypes).find(key => operationTypes[key] === field.subtotal);
// Функция поиска: если аргументов меньше 4 и таблица не имеет общего резульатата(grand total или single Columns или single Rows), то возвращаем ошибку
if (!pivot.colGrandTotals && !pivot.rowGrandTotals && arg.length === 2) {
return refError;
} else if ((pivot.colGrandTotals || pivot.rowGrandTotals) && arg.length === 2) {
// Вернуть значение grandTotal для поля по его имени
result = rowColData.dataRow.total[i][lookingOperationType.toLowerCase()];
// todo
// result = getGrandTotalByFieldName(fieldName);
} else if (arg.length > 2) {
let preparedItemsArray = prepareItemsArray(items_array);
if (!preparedItemsArray) {
return refError
}
// Необходимо доставать пары элементов из массива items_array и затем вернуть значение из таблицы, в зависимости от этих данных
// Пара элементов это имя поля и одно из значений в нем
// С помощью них нужно найти персечения в таблице и вернуть значение grandTotal(если такое существует для данного пересечения)
result = rowColData.dataRow.total[i][lookingOperationType.toLowerCase()];
// todo
// result = getGrandTotalOnSeveralFields(fieldName, items_array);
}
return new cNumber(result); // Временная заглушка для результата. Нужно обрабатывать все возможные типы
}
}
}
return refError;
};
const prepareItemsArray = function (array) {