Пример отчёта для модуля DialUp. CDR

Материал из BiTel WiKi

Перейти к: навигация, поиск

Простой отчёт для модуля DialUp. Позволяет вести поиск в таблице log_session по различным параметрам.

Форма отчёта создаётся в iReport.

Отчёт состоит из одного SQL запроса

select login_name, session_start, session_stop, session_time, session_cost, input_octets/1048576.0, output_octets/1048576.0,
from_number, inet_ntoa(ipaddr), status FROM log_session_1_$yy(month)$mm(month) WHERE session_start BETWEEN '$date(month)' AND 
'$date(days)' AND $(filter) like '%$(value)%' AND status=$(status) order by $(sort) $(order) limit 0,$(limit)

в который подставляются данные фильтра. Фильтр задается в соответсвующем этому отчёту xml файле, и выглядит следующим образом

<?xml version="1.0" encoding="windows-1251"?>
<report title="CDR">
<monthAndDays name1="month" name2="days" title="Месяц и дни"/>
<combo name="filter" title="Фильтровать" textBefore="по">
   <item id="login_name" title="Логин"/>
   <item id="from_number" title="Внутренний IP"/>
   <item id="inet_ntoa(ipaddr)" title="Внешний IP"/>
</combo>
<textField name="value" title="Фильтр"/>

<combo name="status" title="Поиск среди" textAfter="сессий">
	<item id="3" title="Всех"/>
	<item id="0" title="Активных"/>
	<item id="1" title="Завершённых"/>
	<item id="2" title="С ошибкой"/>
</combo>

<combo name="sort" title="Сортировать" textBefore="по">
   <item id="session_start" title="Началу сессии"/>
   <item id="session_stop" title="Завершению сессии"/>
   <item id="login_name" title="Логину"/>
   <item id="session_time" title="Длительности"/>
   <item id="session_cost" title="Стоимости"/>
   <item id="from_number" title="Внутреннему IP"/>
   <item id="ipaddr" title="Внешнему IP"/>
   <item id="input_octets" title="Вх. трафик"/>
   <item id="output_octets" title="Исх. трафик"/>
</combo>

<combo name="order" title="Упорядочить" textBefore="по">
   <item id="asc" title="Возрастанию"/>
   <item id="desc" title="Убыванию"/>
</combo>
<math><math>Вставьте сюда формулу
<combo name="limit" title="Максимум строк">
   <item id="100" title="100"/>
   <item id="200" title="200"/>
   <item id="500" title="500"/>
   <item id="1000" title="1000"/>
   <item id="100000000" title="Все"/>
</combo>

</report>

Значения фильтра передаются в отчёт, и доступны в нём через макросы. Подробнее http://bgbilling.ru/v4.4/doc/ch13s06.html

Загрузить отчёт

Личные инструменты