080801 Тарасова Яна (ПИ-52)

Лабораторная работа №1-Разработка журнала недостоверных значений в среде xmlp. Проектирование пользовательского WEB-интерфейса для журнала недостоверных значений.

Журнал недостоверных значений

1) Регистрируемся в среде XMLP
2) Создаем папку "Мои папки" в среде пользователя и внутри неё создать новую папку для отчетов с именем invalid.
3) Внутри созданной папки создаем пустой пока проект отчёта
4) Конфигурируем проект, для этого нужно щелкнуть "Изменить"
5) Создаем четыре подпроекта: h2,h3,h4,h5. Подпроекты используют статический SQL с параметрами, относящимися к критерию отбора, WHERE. Они различаются только в части, имеющей отношение к опции FROM. Отрабатываем один подпроект h2. остальные проектируются по аналогии с ним.
Для получения данных при формировании отчета используется параметризованный SQL запрос.

SELECT
  s.code, s.name, s.unit, 
  h.a_val 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'

Данный запрос производит выборку данных из таблицы H2(часовой интервал времени). В запрос передаются следующие параметры:
- pType - тип сигнала;
- pServ- номер сервера
- pStamp-доступные времянные ряды;

6)В разделе проекта "Список значений" создаем необходимые списки и связываем их с параметрами из раздела "Параметры":
- Создаём список типов сигналов pTypeList. Соединяем параметр pType со списком pTypeList
- Создаём список групп оборудования pServList. Соединяем параметр pServ со списком pServList
- Создаём список временных рядов pStampList. Соединяем параметр pStamp со списком pStampLis
7) С помощью функции "Автоматическое создание макета" проектируем внешний вид отчета.
8) Нажимаем просмотр

Создание интерфейса
Для создания пользовательского интерфейса воспользуемся готовым скриптом,где необходимо изменить логин,пароль и адрес сервера Oracle Bi Publisher.
Отчет генерируется на конкретный момент времени,поэтому на сервер необходимо передать штамп времени. Технология JSONP позволяет загрузить данные с удалённого хоста, и вызвать для них обработчик. Для реализации загрузки временных рядов с сервера используется скрипт на языке Jython.
Данные из БД помещаются в массив в и по циклу создаются меню в JavaScript и в пользовательском интерфейсе при нажатии на "Получить временные ряды" получим меню.

Интерфейс пользователя