Лабораторная работа 2 - Коротаев Борис Алексеевич

Разработка журнала недостоверных значений в среде xmlp

Целью второй лабораторной работы является создание параметризованного отчёта по недостоверным значениям в системе АИРС.
Для построения отчётов воспользуемся Oracle BI Publisher

Этапы работы:

  • Заходим в систему под учетной записью Администратора и создаем папку invalid в Моих папках
  • Создаем отчеты с названиями: h2, h3, h4, h5 (эти значения обозначают имена таблиц по которым составляются отчеты)
  • Отчет - Модель данных - Источник данных - mysql

в окне Запрос SQL :

SELECT
s.code, s.name, s.unit,
FORMAT(h.a_val, 4) a_val, h.a_count
FROM
airs.svodcode s
LEFT OUTER JOIN h2 h ON (s.code = h.code)
WHERE
s.type = :pType AND s.nserv = :pServ
AND h.tstamp = :pStamp AND h.a_stat = '1'

Далее добавляем параметры отчета:

  • pH - Масштаб времени (для шапки отчета создаем параметр pHName)
  • pServ - Имя сервера (для шапки отчета создаем параметр pServName)
  • pStamp - Штамп времени (для шапки отчета создаем параметр pStampName)
  • pType - Тип сигнала (для шапки отчета создаем параметр pTypeName)

Дополнительные параметры необходимы для "человеческого" отображения параметров в шапке отчета.

Далее добавляем список значений для разрабатываемого отчета (list of values):

  • typelist - имеет тип Fixed Data, значения: а (аналоговые), d(дискретные), m(расчетные)
  • tservlist - имеет тип Fixed Data, значения: 0 (общестанционный сервер), 1 (сервер блока №1), 2 (сервер блока №2), 3 (сервер блока №3)
  • tstamplist - имеет тип SQL Query, значение:
select distinct tstamp from h2 order by 1 desc (в данном случае для отчета h2 - для h3, h4, h5 меняется соответственно)
  • levlist - имеет тип Fixed Data, значения: h2 (часовой уровень), h3 (сменный уровень), h4 (суточный уровень), h5 (месячный уровень)

Создание шаблона отчета для журнала недостоверных значений:

Шаблоны отчетов хранятся в формате rtf (rich text file), так как этот формат является "универсальным" для передачи текста из одной программы в другую - поэтому можно "на лету" менять формат вывода конечного результата (отчета).

Выбираем любой из отчетов - нажимаем вкладку просмотр. Выбираем формат "данные" и нажимаем экспорт - сохраняем данные в xml.

В MS Word создаем текстовый документ в формате .rtf - помещаем в отчет переменные для отображения (через надстройку Oracle BI загружаем данные из файла xml - на вкладке Insert нажимаем insert all field и получаем отчет без шапки). В таблице переменные для результатов таблиц, в шапке созданные ранее параметры для удобных названий параметров.

<?param@begin:pTypeName?>
<?param@begin:pServerName?>
<?param@begin:pStampName?>
<?param@begin:pHName?>

Тип сигнала: <?$pTypeName?>
Сервер <?$pServerName?>
Время регистрации: <?$pStampName?>
Масштаб времени: <?$pHName?>

Называем отчет ivalid и загружаем в созданные ранее отчеты h2, h3, h4, h5.

Так как jasper-сервер принимает шаблоны для отчетов в формате rtf, поэтому наиболее удобными редакторами для создания таких отчетов являются MS Word и OpenOffice Writer, так как они обладают наибольшими возможностями по редактированию и форматированию текста.

В разрабатываемом шаблоне для отчета необходимо выбирать шрифты, установленные на сервере - для корректного их отображения. Рекомендуется шрифт Аrial.

Разработанные отчёты:

Журнал недостоверных значений (часовой уровень)
Журнал недостоверных значений (сменный уровень)
Журнал недостоверных значений (суточный уровень)
Журнал недостоверных значений (месячный уровень)


Мой XMLP-каталог на advanta.homeip.net


Предыдущая Вернуться Следующая


Замечания

  1. Отсутствует отчет* - детальное описание работы
    • структура БД
    • предметная область
    • технология разработки отчетов
    • технические проблемы и способы их решения
  • Примерно 200 строк релевантного текста
  • select tstamp, value, hand, a_ext from h0 where code=$P{pCode}

and tstamp between $P{pStart} and $P{pStop} order by tstamp desc;