Я работаю на платформе отчетности, которая использует Spring, BIRT, jQuery и hibernate.
Этот инструмент может отображать множество различных отчетов для пользователей, каждый отчет отображается в виде HTML-таблицы (которая создается с использованием излучателя BIRT).
Очень важная функция, которую мы поддерживаем, - отображение и скрытие определенных столбцов в отчетах, пользователь может переключать каждый столбец, и его предпочтения сохраняются в базе данных. То, как мы выполняем эту задачу, не является оптимальным, требует много обслуживания и часто ломается.
Для каждого отчета (их много) у нас есть файл .properties
, в котором перечислены все столбцы отчета. Это свойство читается, и с его помощью мы генерируем диалог со списком всех столбцов и флажков рядом с ними, когда пользователи выбирают / отменяют выбор столбцов и нажимают «сохранить», мы создаем массивы 0 и 1 (например, 0011111111, здесь первые 2 столбцы скрыты, и последние 8 отображаются), передайте этот массив в BIRT, чтобы сгенерировать новую HTML-таблицу с соответствующими столбцами, показанными или скрытыми, и мы также сохраняем этот массив с нулями и единицами в качестве пользовательских настроек в нашей базе данных.
Кто-нибудь может предложить лучший подход к решению этой проблемы?
Я хочу, чтобы вам не приходилось обновлять все пользовательские настройки в БД и файле отчета .properties
каждый раз, когда мы добавляем / удаляем / обновляем столбцы в отчете (это нужно сделать, потому что это изменится) расположение 0 и 1 в массиве).