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/ |