080801

5) установим JasperServer на сервере
С помощью PuTTY подключаемся к терминалу.
Заходим в папку, в которую перенесли скачанный дистрибутив JasperServer. Для того, чтобы зайти в папку необходимо набрать команду: cd /имя_папки, допустим, если в нашем случае установочный bin-файл JasperServer был перенесен с помощью WinSCP в папку jserver, то необходимо набрать команду: cd /jserver
Даем необходимые права установочному файлу с помощью команды:
chmod a+x ./jasperreports-server-cp-4.0.0-linux-installer.bin
Помним, что jasperreports-server-cp-4.0.0-linux-installer.bin - это наш скачанный дистривутив.
Запускаем установку с помощью команды:
./jasperreports-server-cp-4.0.0-linux-installer.bin
При установке указываем порты для Apache-Tomcat (по умолчанию: 8080), MySQL (по умолчанию: 3036), указываем папку установки (для примера в папку /jserver).
Для управления установленным JasperServer (в том числе Apache-Tomcat, MySQL) используются следующие команды:
Заходим в папку, в которую установили JasperServer: cd /jserver
./jasperctl.sh start - запуск JasperServer
./jasperctl.sh stop - остановка JasperServer
./jasperctl.sh restart - перезапуск JasperServer
6) проверка установки
Заходим в браузере по адресу: http://urserver:8080/, 8080 - это порт Apache-Tomcat
Видим тестовую страницу Apache-Tomcat
7) настройка JasperServer для выдачи отчета: "Журнал дискретных значений"
Заходим в JasperServer: http://urserver:8080/jasperserver/login.html
Логин и пароль стандартные: jasperadmin
Заходим в папку "Reports", в ней будет лежать наш отчет
Для создания необходимых элементов, нужно нажимать на правую кнопку мыши на папке Reports и выбирать пункт: Add Resource. Далее в скобочках указано какой элемент создается.
Зайди в JasperServer, открой на редактирование каждый элемент и посмотри как там все настроено
Создаем соединение с базой данных (элемент Data Source) - JDBC Data Source
Создаем запрос к базе данных (элемент Query) - query (при создании выбираем элемент JDBC Data Source, то есть используем настроенное соединение)
Запрос следующий:
SELECT tstamp, value, case vf when "0" then "" when "1" then "#" end vf, hand, a_ext FROM dx WHERE code = $P{pCode} and tstamp between $P{pStart} and $P{pStop} ORDER BY 1
Запрос был взят из описания выполнения лабораторных работ. Например, тут: http://edunet.wikidot.com/begin:080801:51a:3:2:1
На основании входящих параметров происходит выборка по запросу из базы данных. Параметры следующие:
$P{pCode} - параметр "Код сигнала"
$P{pStart} - начало диапазона возможных значений
$P{pStop} - конец диапазона возможных значений
Создаем шаблон выдачи отчета (элемент File - JRXML) - file
Предварительно необходимо скачать с сайта sourceforge.net программу iReport, для создания JRXML-шаблонов отчетов. Установить ее на локальный компьютер и в ней разработать шаблон отчета.
Я тебе по аське скинул разработанный шаблон (файл file.jrxml)
При создании отчета необходимо использовать параметры $P{pCode}, $P{pStart} и $P{pStop} , а также перечень получаемых данных $F{tstamp}, $F{value}, $F{vf}, $F{hand}, $F{a_ext}.
Можешь скачать iReport и потестировать file.jrxml.
Создаем непосредственно сам отчет (элемент JasperReport) - Disisreport
При создании отчета на каждом шаге добавляем все созданные до этого элементы.
На вкладке Controls & Resources добавляем параметры отчета: $P{pCode}, $P{pStart} и $P{pStop}. При добавлении параметров указываем его имя и текстовое значение. Например, для параметра $P{pCode} указываем:
Prompt Text (required): Код дискретного сигнала
Parameter Name (read-only): pCode
Также при создании отчета должны быть указаны:
JRXML-шаблон (на шаге Set Up),
элемент соединения с базой данных (на шаге Data Source),
элемент с запросом (на шаге Query)
Когда отчет готов, можно проверить его работоспособность, для этого нужно открыть элемент Disisreport, ввести значения параметров и посмотреть результат.

Логика работы страницы index.php следующая:
1.При загрузке страницы автоматически загружается список возможных кодов. Загрузка этого списка производится посредствам отправки запроса к базе данных стандартными средствами PHP.

<?php
$db = mysql_connect("advanta.homeip.net", "userairs", "userairs"); // Соединяемся с базой данных
mysql_select_db("airs",$db);
$result = mysql_query("select code from svodcode where type='d' order by 1",$db); // Создаем запрос на выборку кодов
$code = mysql_fetch_array($result);
$codelist = '<option value="">Выберите код</option>'; // Вводим первое значение
do {
$codelist .= '<option value="'.$code['code'].'">'.$code['code'].'</option>'; // Заполняем в цикле выпадающий список значениями кодов, которые получены из запроса
}
while ($code = mysql_fetch_array($result));
?>

2.При выборе какого-либо кода дискретного сигнала в выпадающем списке, происходит событие change у данного элемента и срабатывает функция showPeriod(str), посылающая аяксовый GET-запрос к php-странице getperiod.php с передачей параметра в виде выбранного кода. Результат вносится в выпадающий список периодов «с» и «по».

3.При нажатии на кнопку «Готовый отчет» срабатывает функция openJasper(), с помощью которой отправляется POST-запрос в JasperServer со всеми выбранными параметрами в выпадающих списках. Обработчик запроса – страница репозитория JasperServer

http://rghost.ru/4963156
К сожалению тестовый период моего сервера вышел, поэтому разместил методическое пособие по выполняемой работе.