BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 17 июн 2025, 18:13

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 19 ] 
Автор Сообщение
 Заголовок сообщения: Операторские отчеты
СообщениеДобавлено: 26 май 2016, 12:43 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Здравствуйте, а есть ли возможность сделать в биллинге отчет, в котором будут следующие поля: Кол-во вызовов, Количество минут , Начисления Абонентам за Услуги связи Мегафон в рублях (без НДС), Общая стоимость за трафик ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Операторские отчеты
СообщениеДобавлено: 26 май 2016, 13:16 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
есть :)
смотрите модуль Reoprts, создание собственных отчётов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Операторские отчеты
СообщениеДобавлено: 30 май 2016, 18:50 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Код фильтра
Код:
<?xml version="1.0" encoding="UTF-8"?>
<report title="Отчет для Мегафон" type="java">
  <month name="month" title="Месяц"/>
  <contracts name="contracts"/>
</report>



Код табличного отчета:
Код:
public void fillReport( con, filter, bitel.billing.server.reports.BGCSVReport.ReportResult result )
{
  query = " SELECT * from contract ";

  ps = con.prepareStatement( query );
  data = new ArrayList( 1000 );

  rs = ps.executeQuery();

  while( rs. next() )
  {
    title = rs.getString("title");
    comment = rs.getString("comment");

    map = new HashMap();
    map.put( "title", title );
    map.put( "comment", comment );
    data.add( map );
  }

  result.setData( data );
}


Ошибка
Код:
https://10.0.0.101:8443/bgbilling/executer?module=reports&report_month=01.05.2016&report_mid=6&action=Report&report_id=phone_megafon&contentType=binary&mid=9&report_class=&
java.lang.NullPointerException
        at bitel.billing.module.services.reports.ViewReportPanel.showReport(ViewReportPanel.java:191)
        at bitel.billing.module.services.reports.BGReportsPanel.showReport(BGReportsPanel.java:492)
        at bitel.billing.module.services.reports.BGReportsPanel.generateReport(BGReportsPanel.java:407)
        at bitel.billing.module.services.reports.BGReportsPanel$3.actionPerformed(BGReportsPanel.java:95)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6297)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3275)
        at java.awt.Component.processEvent(Component.java:6062)
        at java.awt.Container.processEvent(Container.java:2039)
        at java.awt.Component.dispatchEventImpl(Component.java:4660)
        at java.awt.Container.dispatchEventImpl(Container.java:2097)
        at java.awt.Component.dispatchEvent(Component.java:4488)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4236)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166)
        at java.awt.Container.dispatchEventImpl(Container.java:2083)
        at java.awt.Window.dispatchEventImpl(Window.java:2489)
        at java.awt.Component.dispatchEvent(Component.java:4488)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:674)
        at java.awt.EventQueue.access$400(EventQueue.java:81)
        at java.awt.EventQueue$2.run(EventQueue.java:633)
        at java.awt.EventQueue$2.run(EventQueue.java:631)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
        at java.awt.EventQueue$3.run(EventQueue.java:647)
        at java.awt.EventQueue$3.run(EventQueue.java:645)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:644)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Что не так? Делал все как написано в доке и код брал из примера


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Операторские отчеты
СообщениеДобавлено: 30 май 2016, 21:46 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
как минимум, не хватает импортов в коде отчёта. и еще непонятно что вы сделали с кодом фильтра и кодом табличного отчёта, в смысле куда их засунули. и версию биллинга не указали. помните, правильно заданный вопрос содержит половину ответа.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Операторские отчеты
СообщениеДобавлено: 30 май 2016, 22:52 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
возможно, вы что-то упускаете

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Операторские отчеты
СообщениеДобавлено: 31 май 2016, 12:02 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Фильтр - phone_megafon.rep.xml - и табличный отчет - phone_megafon.java - я поместил в папку reports в папке биллинга
Добавил импорт классов в табличный отчет
Код:
import bitel.billing.server.phone.bean.*;
import bitel.billing.common.TimeUtils;
import ru.bitel.common.Utils;
import java.util.*;


Открываю отчет в биллинге, нажимаю кнопку генерации и выкидывает ошибку
Код:
https://10.0.0.101:8443/bgbilling/executer?module=reports&report_month=01.04.2016&report_mid=6&action=Report&report_id=phone_megafon&contentType=binary&mid=9&report_contracts=507&report_class=&
java.lang.NullPointerException
        at bitel.billing.module.services.reports.ViewReportPanel.showReport(ViewReportPanel.java:191)
        at bitel.billing.module.services.reports.BGReportsPanel.showReport(BGReportsPanel.java:492)
        at bitel.billing.module.services.reports.BGReportsPanel.generateReport(BGReportsPanel.java:407)
        at bitel.billing.module.services.reports.BGReportsPanel$3.actionPerformed(BGReportsPanel.java:95)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6297)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3275)
        at java.awt.Component.processEvent(Component.java:6062)
        at java.awt.Container.processEvent(Container.java:2039)
        at java.awt.Component.dispatchEventImpl(Component.java:4660)
        at java.awt.Container.dispatchEventImpl(Container.java:2097)
        at java.awt.Component.dispatchEvent(Component.java:4488)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4236)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166)
        at java.awt.Container.dispatchEventImpl(Container.java:2083)
        at java.awt.Window.dispatchEventImpl(Window.java:2489)
        at java.awt.Component.dispatchEvent(Component.java:4488)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:674)
        at java.awt.EventQueue.access$400(EventQueue.java:81)
        at java.awt.EventQueue$2.run(EventQueue.java:633)
        at java.awt.EventQueue$2.run(EventQueue.java:631)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
        at java.awt.EventQueue$3.run(EventQueue.java:647)
        at java.awt.EventQueue$3.run(EventQueue.java:645)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:644)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Операторские отчеты
СообщениеДобавлено: 31 май 2016, 12:12 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Гадание на кофейной гуще простите :)
Прикрепите сюда файлы отчета.

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Операторские отчеты
СообщениеДобавлено: 31 май 2016, 12:19 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Прикрепил
Вложение:
Desktop.rar [1.56 КБ]
Скачиваний: 174


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Операторские отчеты
СообщениеДобавлено: 31 май 2016, 13:21 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Из доки
Код:
<report title="Test" type="java">
  <address title="Адрес" cityName="cityId" streetName="streetId" houseName="house"/>
  <combo name="status" title="Статус">
    <item id="-1" title="любой"/>
    <item id="0" title="активен"/>
    <item id="4" title="приостановлен"/>
    <item id="3" title="закрыт"/>
  </combo>
  <fields>
    <item id="title" title="Имя"/>
    <item id="comment" title="Комментарий"/>
  </fields>
</report>

У вас же я вижу
Код:
    map.put( "title", title );
    map.put( "comment", comment );

но не вижу перечисления в fields

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Операторские отчеты
СообщениеДобавлено: 31 май 2016, 14:42 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Сделал копи паст из доки в файлы
Все равно ошибку выдает
Код:
https://10.0.0.101:8443/bgbilling/executer?module=reports&report_=-1&report_status=-1&report_cityId=-1&report_mid=6&action=Report&report_streetId=-1&report_id=phone_megafon&contentType=binary&mid=9&re
port_class=&
java.lang.NullPointerException
        at bitel.billing.module.services.reports.ViewReportPanel.showReport(ViewReportPanel.java:191)
        at bitel.billing.module.services.reports.BGReportsPanel.showReport(BGReportsPanel.java:492)
        at bitel.billing.module.services.reports.BGReportsPanel.generateReport(BGReportsPanel.java:407)
        at bitel.billing.module.services.reports.BGReportsPanel$3.actionPerformed(BGReportsPanel.java:95)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6297)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3275)
        at java.awt.Component.processEvent(Component.java:6062)
        at java.awt.Container.processEvent(Container.java:2039)
        at java.awt.Component.dispatchEventImpl(Component.java:4660)
        at java.awt.Container.dispatchEventImpl(Container.java:2097)
        at java.awt.Component.dispatchEvent(Component.java:4488)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4236)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166)
        at java.awt.Container.dispatchEventImpl(Container.java:2083)
        at java.awt.Window.dispatchEventImpl(Window.java:2489)
        at java.awt.Component.dispatchEvent(Component.java:4488)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:674)
        at java.awt.EventQueue.access$400(EventQueue.java:81)
        at java.awt.EventQueue$2.run(EventQueue.java:633)
        at java.awt.EventQueue$2.run(EventQueue.java:631)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
        at java.awt.EventQueue$3.run(EventQueue.java:647)
        at java.awt.EventQueue$3.run(EventQueue.java:645)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:644)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)


Версия биллинга 5.1.
Вложение:
Desktop2.rar [842 байт]
Скачиваний: 176


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Операторские отчеты
СообщениеДобавлено: 31 май 2016, 14:54 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
если убрать вторую строку с query+, то всё работает.
комрад, еще не исправили ошибку, а уже правите отчёт. нехорошо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Операторские отчеты
СообщениеДобавлено: 31 май 2016, 15:51 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
barguzin2 писал(а):
если убрать вторую строку с query+, то всё работает.
комрад, еще не исправили ошибку, а уже правите отчёт. нехорошо.

Разобрался, спасибо


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Операторские отчеты
СообщениеДобавлено: 31 май 2016, 18:12 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Как распарсить дату? Мне надо выдернуть год и месяц
Код:
 String date = filter.getStringParam( "month" ).toString(); //возвращает дату в формате 01.05.2016
  date = date.replace(".", ",");
  String[] arr_date = date.split(",");
  String year = arr_date[2]; //год
  String month = arr_date[1]; //месяц


Так не работает. Выдает опять ту же ошибку

И как сделать, чтобы в отчете в биллинге вместо кракозябр были русские символы? (параметр service)
Вложение:
Desktop3.rar [1.16 КБ]
Скачиваний: 165


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Операторские отчеты
СообщениеДобавлено: 31 май 2016, 18:17 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Видел костыли ))))))))))))))) Но такой :D
Код:
Calendar cal = filter.getCalendarParam("month");
int year= cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);

Вроде как то так

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Операторские отчеты
СообщениеДобавлено: 31 май 2016, 18:20 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Правда учтите что java.util.Calendar считает месяцы с НУЛЯ.
Т.е. январь == 0
февраль == 1 и т.д.

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Операторские отчеты
СообщениеДобавлено: 31 май 2016, 18:51 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
query = "SELECT SUM(ses.round_session_time DIV 60) AS min, SUM(ses.cost) AS cost, COUNT(*) AS calls FROM log_session_6_"+year+month+" WHERE ses.sid = 36 AND ses.r..."
Теперь из за этой строки не работает ....
Из-за конкантенации year и Month


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Операторские отчеты
СообщениеДобавлено: 31 май 2016, 19:51 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
кажись, пошли вопросы за 100 :facepalm:
потому что, пилять, месяц в таблице c лидирующим нулём. ну неужели нельзя выводить в лог для отладки всякие query и прочую информацию и немного уже самому разбираться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Операторские отчеты
СообщениеДобавлено: 02 июн 2016, 13:02 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
barguzin2 писал(а):
кажись, пошли вопросы за 100 :facepalm:
потому что, пилять, месяц в таблице c лидирующим нулём. ну неужели нельзя выводить в лог для отладки всякие query и прочую информацию и немного уже самому разбираться.

Спасибо за идею, я не знал, что так можно
Все получилось. Скажите, как убрать кракозябры
Вложение:
Безымянный.png
Безымянный.png [ 7.99 КБ | Просмотров: 7228 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Операторские отчеты
СообщениеДобавлено: 02 июн 2016, 13:33 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
в 5.1, насколько помню, нужно в win-1251 писать код java-отчёта. iconv в помощь


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.098s | 55 Queries | GZIP : On ]