Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def imd_knyazh_daily(from_date, to_date, cc_sql):
- q_id_list = [195]
- bnum_patterns = [r'^[78]?(0800308585)$', r'^[78]?(0800305858)$', r'^[78]?(0800305588)$', r'^[78]?(0443326556)$', r'^[78]?(0443326557)$',
- r'^0080000009600$']
- bnum_patterns_all = [r'^([78]|008)?(0800308585)$', r'^([78]|008)?(0800305858)$', r'^([78]|008)?(0800305588)$',
- r'^([78]|008)?(0443326556)$', r'^([78]|008)?(0443326557)$', r'^0080000009600$']
- bnums = [r'^0800308585', r'0800305858', r'0800305588', r'0443326556', r'0443326557', 'site_calls']
- bnums_missed = [r'^0080800308585$', r'^0080800305858$', r'^0080800305588$', r'^0080443326556$', r'^0080000009600$', r'^0080443326557$']
- for i, bnum_pattern in enumerate(bnum_patterns):
- if i == 0:
- out_report = standard_calls_report(from_date, to_date, 'OUT', r'.*', r'^(1658.*)$', cc_sql)
- if bnums[i] != 'site_calls':
- qcalls_miss_report = standard_qcalls_report(from_date, to_date, q_id_list, r'.*', bnums_missed[i], cc_sql,
- total_row=True)
- qcalls_report = standard_qcalls_report(from_date, to_date, q_id_list, r'.*', bnum_pattern, cc_sql, total_row=True)
- report_hours_avg = daily_report_custom(hours_avg, {}, from_date, to_date, q_id_list, r'.*', bnum_pattern, cc_sql,
- date_format='%Y.%m.%d')
- d_report = daily_report(from_date, to_date, q_id_list, r'.*', bnum_pattern, cc_sql)
- d_report_statuses = daily_report_custom(
- function=count_predifined_values_in_col,
- arguments={
- 'col': 'Результат звонка (ИМД - Княжий Двор)',
- 'values': ['Оформлен заказ', 'Заказ+кросс', 'Кросс', 'Инфо по коллекции', 'Инфо по заказу, доставке',
- 'Рекламация', 'Ошибка соединения'],
- 'append_empty': False
- },
- from_date=from_date, to_date=to_date, q_id_list=q_id_list, anum_pattern=r'.*',
- bnum_pattern=bnum_patterns_all[i], cc_sql=cc_sql, date_format='%Y.%m.%d'
- )
- rb = xlsx.ReportBook()
- rb.add_sheet('Итого')
- rb.add_sheet('Почасовая статистика')
- rb.add_block_to_sheet(d_report['count'], 'Итого', 'Количественные характеристики')
- rb.add_block_to_sheet(d_report['time'], 'Итого', 'Временные характеристики')
- rb.add_block_to_sheet(d_report['sl'], 'Итого', 'Service Level')
- rb.add_block_to_sheet(report_hours_avg['hours_avg_all'], 'Почасовая статистика', 'Среднее количество вызовов по часам (все вызовы)')
- rb.add_block_to_sheet(report_hours_avg['hours_avg_queue'], 'Почасовая статистика', 'Среднее количество вызовов по часам (вызовы, вставшие в очередь)')
- rb.add_block_to_sheet(d_report['billing'], 'Итого', 'Биллинг: входящие')
- rb.add_block_to_sheet(d_report_statuses['statuses'], 'Итого', 'Статусы')
- rb.add_block_to_sheet(d_report_statuses['unknown_statuses'], 'Итого', 'Неизвестные статусы')
- rb.add_calls_sheet(qcalls_report, 'Входящие')
- if i == 0:
- rb.add_calls_sheet(out_report, 'Исходящие')
- if bnums[i] != 'site_calls':
- rb.add_calls_sheet(qcalls_miss_report, 'Прозвон по пропущенным')
- rb.save('knyazh_daily_{}_{}.xlsx'.format(bnums[i], to_date.strftime('%Y%m%d')))
- return bnums
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement