BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 04 май 2024, 23:45

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




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Подробный отчёт по inet
СообщениеДобавлено: 05 дек 2013, 17:14 
Не в сети
Клиент

Зарегистрирован: 21 фев 2013, 19:00
Сообщения: 133
Карма: 0
Хочу сделать отчёт. Что-то типа расширенного отчёта по трафикам, но столбцы дожны быть:
номер договора, входящий трафик, исходящий трафик, суммарный трафик, сумма денег, тариф(?)

Фильтры как в расширенном отчёте по трафикам.

Где можно найти описание bitel.billing.server.reports.BGCSVReport.ReportResult result
В http://bgbilling.ru/v6.0/javadoc/index.html не нашел.

Как правильно отлаживать код, запускать прям на сервере?

Явой владею слабо, но отступать некуда )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подробный отчёт по inet
СообщениеДобавлено: 05 дек 2013, 17:29 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
смотрите документацию, там все изложено. Код, да, к сожалению придется запускать на самом сервере, но я думаю тут sql запроса хватит.

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подробный отчёт по inet
СообщениеДобавлено: 06 дек 2013, 18:02 
Не в сети
Клиент

Зарегистрирован: 21 фев 2013, 19:00
Сообщения: 133
Карма: 0
Вопрос, по БД
В таблицах
inet_session_log_detail_{mid}_yyyyMM.amount
и
inet_session_log_account_{mid}_yyyyMM.amount

содержатся одинаковые значения при одинаковых sessionId
?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подробный отчёт по inet
СообщениеДобавлено: 06 дек 2013, 19:53 
Не в сети
Клиент

Зарегистрирован: 21 фев 2013, 19:00
Сообщения: 133
Карма: 0
Написал такой вот запрос:
Код:
SELECT
contract.title, /*название договора*/
contract.id, /*код договора*/
account.contractId, /*код устройства?*/
SUM(account.amount), /*наработка сессии в байтах/секундах*/
SUM(account.account) /*наработка сессии в рублях*/
FROM
   inet_session_log_account_2_201311 AS account /* наработка по услугам для завершенных сесиий*/
      LEFT JOIN inet_session_log_2_201311 AS session_log /*завершенные сессии */
         ON account.sessionId = session_log.id
      LEFT JOIN inet_serv_2 AS serv /*сервис*/
         ON session_log.servId = serv.id
      LEFT JOIN contract as contract /*договор*/
         ON serv.contractId   = contract.id
   GROUP BY contract.id
   WITH  ROLLUP;


Получил ответ:
title id contractId SUM(account.amount) SUM(account.account)
NULL NULL 7 7395906 14.09970
20131111 8 8 2875899799 5482.15660
20131119-01 11 11 31292779 74.55269
20131121-01 12 12 1523362085 2905.08904
20131121-02 13 13 1585210888 3023.27055
20131129-04 15 15 1474693748 2812.64713
20131129-07 18 18 12285738 23.40995
20131129-07 NULL 18 7510140943 14335.22566

Деньги вроде совпадают, с тем, что видно в клиенте, а вот трафик не очень.

Также непонятен столбец inet_session_log_account_{mid}_yyyyMM.contractId описанный в документации, как код устройства. Как видно из результата запроса, он совпадает с id договора, кроме тех случаев, где id договора NULL.

Знающие люди, прокомментируйте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подробный отчёт по inet
СообщениеДобавлено: 07 дек 2013, 11:49 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
http://dbinfo.bitel.ru/

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подробный отчёт по inet
СообщениеДобавлено: 09 дек 2013, 13:21 
Не в сети
Клиент

Зарегистрирован: 21 фев 2013, 19:00
Сообщения: 133
Карма: 0
skyb писал(а):
http://dbinfo.bitel.ru/


Краткость сестра таланта.

Если есть люди, способные развёрнуто пояснить нижеследующее, откликнитесь.

LёLik писал(а):
Также непонятен столбец inet_session_log_account_{mid}_yyyyMM.contractId описанный в документации, как код устройства. Как видно из результата запроса, он совпадает с id договора, кроме тех случаев, где id договора NULL.


Также интересно в чём разница между:
inet_session_log_detail_{mid}_yyyyMM.amount /*наработка сессии в байтах/минутах*/
inet_session_log_account_{mid}_yyyyMM.amount /*наработка сессии в байтах/секундах*/

Откуда правильнее брать данные.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подробный отчёт по inet
СообщениеДобавлено: 09 дек 2013, 13:52 
Не в сети
Клиент

Зарегистрирован: 21 фев 2013, 19:00
Сообщения: 133
Карма: 0
Люди глубоко понимающие SQL хелп!

Это "расширенный отчёт по траффикам"
Код:
SELECT * FROM (
   SELECT
      SUM(a.amount),
      contract.title as cttl,
      type.title,
      type.id AS tid,
      contract.id
   FROM
      inet_session_log_detail_2_201311 AS a
         LEFT JOIN inet_session_log_2_201311 AS log
            ON a.sessionId=log.id
       LEFT JOIN inet_serv_2 AS serv
          ON log.servId=serv.id
       LEFT JOIN inet_traffic_type_2 AS type
          ON a.trafficTypeId=type.id
       LEFT JOIN contract AS contract
          ON serv.contractId=contract.id 
   GROUP BY tid, contract.id WITH  ROLLUP)

AS pres ORDER BY pres.id DESC, pres.title DESC


Я его правлю, чтобы считал типы трафика вместе
Код:
SELECT * FROM (
   SELECT
      SUM(a.amount),
      contract.title as cttl,
      contract.id
   FROM
      inet_session_log_detail_2_201311 AS a /*детализация завершенных сессий*/
         LEFT JOIN inet_session_log_2_201311 AS log /*завершенные сессии*/
            ON a.sessionId=log.id
       LEFT JOIN inet_serv_2 AS serv /*сервис*/
          ON log.servId=serv.id
       LEFT JOIN contract AS contract
          ON serv.contractId=contract.id 
   GROUP BY contract.id WITH  ROLLUP)

AS pres ORDER BY pres.id DESC;


результаты разные 0_о
в родном отчёте в суммарном
20131129-07 12273551 12285738
20131129-04 1474637138 1474693748

Кто понимает, поясните.

ЗЫ: Выяснилось, что в базе есть записи вида

SUM(a.amount) cttl title tid id
12187 20131129-07 NULL NULL 18


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подробный отчёт по inet
СообщениеДобавлено: 09 дек 2013, 17:42 
Не в сети
Клиент

Зарегистрирован: 21 фев 2013, 19:00
Сообщения: 133
Карма: 0
SQL запрос, для получения искомой таблицы:

Код:
SELECT
   pres.title,
   pres.amount,
   money.account

FROM (
   SELECT
      SUM(a.amount) AS amount,
      contract.title AS title,
      contract.id
   FROM
      inet_session_log_detail_2_201311 AS a
       LEFT JOIN inet_session_log_2_201311 AS log
            ON a.sessionId=log.id
       LEFT JOIN inet_serv_2 AS serv
          ON log.servId=serv.id
       LEFT JOIN inet_traffic_type_2 AS type
          ON a.trafficTypeId=type.id
       LEFT JOIN contract AS contract
          ON serv.contractId=contract.id
       WHERE a.trafficTypeId IN (1,2)
   GROUP BY contract.id WITH  ROLLUP ) AS pres
LEFT JOIN (
   SELECT
      SUM(account.account) AS account,
      contract.title,
      contract.id
   FROM
      inet_session_log_account_2_201311  AS account
      LEFT JOIN inet_session_log_2_201311 AS log
         ON account.sessionId = log.id
      LEFT JOIN inet_serv_2 AS serv
         ON log.servId = serv.id
      LEFT JOIN contract AS contract
         ON serv.contractId=contract.id
      GROUP BY contract.id WITH  ROLLUP ) AS money
   ON pres.id = money.id

ORDER BY pres.id DESC


Фильтр и Java выложу, как доделаю, может пригодится кому.

Критика приветствуется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подробный отчёт по inet
СообщениеДобавлено: 15 янв 2014, 17:14 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
LёLik писал(а):
skyb писал(а):
http://dbinfo.bitel.ru/


Краткость сестра таланта.

Если есть люди, способные развёрнуто пояснить нижеследующее, откликнитесь.

LёLik писал(а):
Также непонятен столбец inet_session_log_account_{mid}_yyyyMM.contractId описанный в документации, как код устройства. Как видно из результата запроса, он совпадает с id договора, кроме тех случаев, где id договора NULL.




Опечатка там, исправлено.

LёLik писал(а):
Также интересно в чём разница между:
inet_session_log_detail_{mid}_yyyyMM.amount /*наработка сессии в байтах/минутах*/
inet_session_log_account_{mid}_yyyyMM.amount /*наработка сессии в байтах/секундах*/

Откуда правильнее брать данные.


detail - наработка в байтах в разрезе часов для каждой сессии.
account - наработка в байтах и в рублях в разрезе услуг для каждой сессии.

В общем случае могут не совпадать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подробный отчёт по inet
СообщениеДобавлено: 13 фев 2014, 15:22 
Не в сети
Клиент

Зарегистрирован: 21 фев 2013, 19:00
Сообщения: 133
Карма: 0
Сделано на коленке, поэтому код придётся немного править под себя.


Вложения:
inet_satis_account.rep.xml.txt [603 байт]
Скачиваний: 336
inet_satis_account.java.txt [5.31 КБ]
Скачиваний: 496
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

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


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

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


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

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