forum.bitel.ru
http://forum.bitel.ru/

Не корректно строится отчет по направлениям модуль Phone (CRM)
http://forum.bitel.ru/viewtopic.php?f=10&t=10391
Страница 1 из 1

Автор:  neon [ 09 апр 2015, 02:34 ]
Заголовок сообщения:  Не корректно строится отчет по направлениям модуль Phone

Добрый день!
Быть может вопрос в кривых руках но не корректно строится отчет по направлениям модуля phone, он не в одну цифру не совпадает с отчетом DECT по количеству звонков. Отчет DECT выверил, на основе собранных логов из data все попало в session, из этого можно сделать вывод, что DECT считает корректно. Пример кривого отчета в сравнение с DECT:
Изображение
Изображение
Изображение
В детализации на договорах все отображается корректно, название направления, код цена.
В отчете из модуля отчетов коды с 000 цена не корректна количество не корректно и не совпадает с отчетом DECT.
Версия BG:
Код:
Информация о версии:

  Клиент: вер. 6.1.842 / 31.03.2015 18:02:43
    os: Windows 7; java: Java HotSpot(TM) Client VM, v.1.8.0_31
    ВНИМАНИЕ: Спецификация версии 1.8 не рекомендуется
  Сервер: вер. 6.1.1061 / 03.04.2015 15:11:09
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_67

  bill: вер. 6.1.257 / 20.03.2015 15:47:58
  card: вер. 6.1.205 / 11.03.2015 20:02:46
  inet: вер. 6.1.685 / 03.04.2015 15:11:32
  npay: вер. 6.1.189 / 03.04.2015 15:11:33
  phone: вер. 6.1.250 / 23.03.2015 19:26:46
  reports: вер. 6.1.199 / 30.03.2015 17:25:55
  ru.bitel.bgbilling.plugins.cladr: вер. 6.1.115 / 08.02.2015 20:45:26

Окружение:

  Клиент:
    os: Windows 7 x86, 6.1
    java: Java HotSpot(TM) Client VM, v.1.8.0_31
    jre home: C:\Program Files (x86)\Java\jre1.8.0_31
    default tz: 08.04.2015 23:32 MSK +0300 (Europe/Moscow)
    user tz: 08.04.2015 23:32 AST +0300 (Asia/Baghdad)
    locale: ru_RU
  Сервер:
    os: Linux amd64, 3.2.0-4-amd64
    java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_67
    jre home: /opt/java/jdk1.7.0_67/jre
    default tz: 08.04.2015 23:16 MSK +0300 (Europe/Moscow)
    locale: ru_RU

Автор:  stark [ 09 апр 2015, 11:12 ]
Заголовок сообщения:  Re: Не корректно строится отчет по направлениям модуль Phone

напишите лучше в helpdesk. Это надо на вашей базе смотреть. В одном отчете горуппировка идет по услугам :
Код:
SELECT service.title, log.sid, COUNT(log.id), SUM(log.session_time), SUM(log.round_session_time), SUM(log.cost) FROM service
LEFT JOIN log_session_73_200907 AS log ON service.id=log.sid
LEFT JOIN contract ON contract.id=log.cid
GROUP BY log.sid


во втором по направлениям:
Код:
SELECT session.dest_id, dest.title, codes.code, COUNT(session.id) as cnt,
SUM(session.round_session_time) as round_session_time, SUM(session.cost) as cost
FROM log_session_73_200907 as session
LEFT JOIN contract ON session.cid=contract.id
LEFT JOIN phone_dest_73 as dest ON session.dest_id=dest.id
LEFT JOIN phone_geographic_code_73
 as codes ON codes.dest_id=dest.id
GROUP BY dest_id


Вот и вся разница если вы фильтры одинаковые задали..Можете сравнить эти 2 запроса.
Тут скорее ошибка в данных, а не в отчетах. Да и не понятно по вашему скриншоту, в отчете по направлениям вроде 5 столбцов, а у вас 4.

Автор:  neon [ 09 апр 2015, 15:17 ]
Заголовок сообщения:  Re: Не корректно строится отчет по направлениям модуль Phone

Колонку отрезал просто с ценой, спасибо за запросы буду дальше ковырять. Странно в каком месте может быть ошибка в данных если по геогр кодам в детальке на договоре все разбирается корректно.

Автор:  stark [ 09 апр 2015, 15:21 ]
Заголовок сообщения:  Re: Не корректно строится отчет по направлениям модуль Phone

neon писал(а):
Колонку отрезал просто с ценой, спасибо за запросы буду дальше ковырять. Странно в каком месте может быть ошибка в данных если по геогр кодам в детальке на договоре все разбирается корректно.


ну надо запустить запросы вручную и выяснить откуда разница идет .

Автор:  neon [ 09 апр 2015, 18:25 ]
Заголовок сообщения:  Re: Не корректно строится отчет по направлениям модуль Phone

Да. сегодня этим займусь. Попробую выяснить по каким кодам из таблицы с сессиями идет не совпадения и уже от этого буду отталкиваться.

Автор:  neon [ 09 апр 2015, 23:45 ]
Заголовок сообщения:  Re: Не корректно строится отчет по направлениям модуль Phone

Не уверен, что в данных косяк. Делаю запрос:
Код:
SELECT session.dest_id, dest.title, codes.code, COUNT(session.id) as cnt,
SUM(session.round_session_time) as round_session_time, SUM(session.cost) as cost

FROM bgbilling.log_session_4_201504 as session
LEFT JOIN bgbilling.contract ON session.cid=contract.id
LEFT JOIN bgbilling.phone_dest_4 as dest ON session.dest_id=dest.id
LEFT JOIN bgbilling.phone_geographic_code_4
 as codes ON codes.dest_id=dest.id
GROUP BY dest_id


Получаю результат как в клиенте. Первое что бросается в глаза строка:
837 Москва (mob) - Билайн 790300 86840 16976700 556786.10
При всем желании не может быть столько звонков так как в таблице:
bgbilling.log_session_4_201504 всего около 5К записей, но не страшно смотрим дальше.
Узнаем по коду 790300 dist_id
Код:
select *
from bgbilling.phone_geographic_code_4
where code=790300

Получаем значение
837
И теперь считаем сколько на самом деле в таблице с сессиями у нас таких звонков по этому коду
Код:
SELECT count(id)
FROM bgbilling.log_session_4_201504
where dest_id='837'
#codes='790300'
;

Получаем число 668.
Это реальное количество звонков на номера с этим кодом.

Автор:  neon [ 10 апр 2015, 01:05 ]
Заголовок сообщения:  Re: Не корректно строится отчет по направлениям модуль Phone

Я кажется понял из-за чего это происходит, если выполнить запрос:
Код:
select dest_id,code
from bgbilling.phone_geographic_code_4
where dest_id=837
;

То мы получим множество кодов, соответственен при объединение они все вылезают. В связи с этим вопрос у каждого кода не индивидуальный dest_id ? Наверное нет,
тк таблицы
bgbilling.phone_dest_4 и bgbilling.phone_geographic_code_4
Связаны 1 к 1 по ID<>DEST_ID
Но в таблице bgbilling.phone_geographic_code_4
Может быть несколько кодов с одним DEST_ID (группы геогр кодов), наверное исходя из этого строится красивое дерево геогр кодов в модуле Phone.
Итого как строится отчет по DEST_ID если он для сессии однозначно не определен.

Автор:  stark [ 10 апр 2015, 12:19 ]
Заголовок сообщения:  Re: Не корректно строится отчет по направлениям модуль Phone

neon писал(а):
Я кажется понял из-за чего это происходит, если выполнить запрос:
Код:
select dest_id,code
from bgbilling.phone_geographic_code_4
where dest_id=837
;

То мы получим множество кодов, соответственен при объединение они все вылезают. В связи с этим вопрос у каждого кода не индивидуальный dest_id ? Наверное нет,
тк таблицы
bgbilling.phone_dest_4 и bgbilling.phone_geographic_code_4
Связаны 1 к 1 по ID<>DEST_ID
Но в таблице bgbilling.phone_geographic_code_4
Может быть несколько кодов с одним DEST_ID (группы геогр кодов), наверное исходя из этого строится красивое дерево геогр кодов в модуле Phone.
Итого как строится отчет по DEST_ID если он для сессии однозначно не определен.


ясно.. Т.е у одного разные коды могут попадать на одно и то направление. Например все дочерние коды в Архангельской области привязаны к одному и тому же направлению. Это хорошо видно если запустить запрос
Код:
select group_concat(gc.code), gc.dest_id, count(*) as cc, dest.title from phone_geographic_code_73  as gc
left join phone_dest_73 as dest on gc.dest_id=dest.id
group by dest_id having cc > 1



У меня выводит (часть информации)
Код:
781830,781831,781832,781833,781834,781835,781836,781837,781838,781839,781840,781841,781842,781843,781844,781845,781846,781847,781848,781849,781850,781851,781852,781854,781855,781856,781858,781859   164011   28   Архангельская область/ Ненецкий АО {1}
78173,78174,78175   164023   3   Вологодская область {1}
....

Получается что отчет расчитан на случай: одно направление-один код.. Проблема в том, что в сессии не хранится код, а только направление. А по направлению нельзя однозначно определить код в общем случае. В качеств быстрого решения проблемы вижу - столбец убрать "код" из вывода и запроса, так как он имеет смысла в данном случае..Либо не пользоваться этим отчетом.

Автор:  stark [ 10 апр 2015, 12:27 ]
Заголовок сообщения:  Re: Не корректно строится отчет по направлениям модуль Phone

Забавно. Этот отчет и был изначально без этого столбца.. И в документации он без него:
http://bgbilling.ru/v6.1/doc/ch31s07.html

Но кто-то, видимо, попросил этот столбце и его добавили 10.03.2011 в ветку 6.1.

Автор:  neon [ 10 апр 2015, 13:10 ]
Заголовок сообщения:  Re: Не корректно строится отчет по направлениям модуль Phone

Да, я вам об этом и говорил. Но странно, что он рассчитан на одно направление - один код. Так как если грузить дерево геогр кодов, то оно автоматически разбирается по направлениям и при всем желании сложно сделать один код одно направление и вообще какой смысл тогда в направлении. Быть может вообще убрать в новом релизе колонку, так как мне кажется оно не у кого нормально не строится. Но мб оно никому и не надо. Без колонки вроде строится корректно, следующим запросом(мб кому пригодится)
Код:
SELECT session.dest_id, dest.title, COUNT(session.id) as cnt,
SUM(session.round_session_time) as round_session_time, SUM(session.cost) as cost

FROM bgbilling.log_session_4_201504 as session
LEFT JOIN bgbilling.contract ON session.cid=contract.id
LEFT JOIN bgbilling.phone_dest_4 as dest ON session.dest_id=dest.id

GROUP BY session.dest_id


Автор:  georgdts [ 10 апр 2015, 14:04 ]
Заголовок сообщения:  Re: Не корректно строится отчет по направлениям модуль Phone

Спасибо за решение, тоже с этим столкнулись!

UPD:
Хотя нет, коды тоже нужны...

Автор:  stark [ 10 апр 2015, 16:41 ]
Заголовок сообщения:  Re: Не корректно строится отчет по направлениям модуль Phone

Убрали столбце код, теперь отчет будет работать верно. В следующем обновлении будет

Автор:  neon [ 10 апр 2015, 17:11 ]
Заголовок сообщения:  Re: Не корректно строится отчет по направлениям модуль Phone

Спасибо!

Автор:  neon [ 10 апр 2015, 22:33 ]
Заголовок сообщения:  Re: Не корректно строится отчет по направлениям модуль Phone

Обновился, все работает. Теперь можно переходить к отладке модуля Voice )))

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/