Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def planetacash_hourly(from_date, to_date, cc_sql):
- form_name = '61.Planetacash'
- q_id_lst = [cc_sql.get_form_id(form_name)]
- status_col = 'Результат звонка(61.Planetacash)'
- bnum_pattern = r'^[78]?(8005004000)$'
- bnum_pattern_all = r'^([78]|008)?(8005004000)$'
- bnum_pattern_missed = r'^008(8005004000)$'
- bnum_pattern_out = r'^610[0-9]*'
- statuses = {
- 'col': status_col,
- 'values': cc_sql.get_answers_variants_for_question(form_name, status_col),
- 'append_empty': False, 'append_unknown': True, 'append_oper_empty': True
- }
- d_report = daily_report(from_date, to_date, q_id_lst, r'.*', bnum_pattern, cc_sql)
- d_report_missed = daily_report(from_date, to_date, q_id_lst, r'.*', bnum_pattern_missed, cc_sql)
- d_report_all = daily_report(from_date, to_date, q_id_lst, r'.*', bnum_pattern_all, cc_sql)
- calls_report = standard_qcalls_report(from_date, to_date, q_id_lst, r'.*', bnum_pattern, cc_sql, total_row=True)
- calls_report_missed = standard_qcalls_report(from_date, to_date, q_id_lst, r'.*', bnum_pattern_missed, cc_sql,
- total_row=True)
- calls_report_out = standard_qcalls_report(from_date, to_date, q_id_lst, r'.*', bnum_pattern_out, cc_sql,
- total_row=True, calls_type='OUT')
- stat_report = daily_report_custom(count_predifined_values_in_col, statuses, from_date, to_date, q_id_lst, '.*',
- bnum_pattern_all, cc_sql=cc_sql, date_format='%Y.%m.%d', type='IN')
- out_recall_report = cc_sql.get_outbound_calls_tries(from_date, to_date)
- report_hours_avg = daily_report_custom(hours_avg, {}, from_date, to_date, q_id_lst, r'.*', bnum_pattern, cc_sql,
- date_format='%Y.%m.%d')
- report_missed_stat = daily_report_custom(missed_calls_stat, {'recall_report_dict': out_recall_report}, from_date,
- to_date, q_id_lst, r'^[0-9]{10}$', bnum_pattern, cc_sql,
- date_format='%Y.%m.%d')
- d_report_recalc = total_missed_cover(d_report, report_missed_stat)
- rb = xlsx.ReportBook()
- rb.add_sheet('Итого')
- rb.add_block_to_sheet(d_report['count_opername'], 'Итого', 'Количественные характеристики')
- rb.add_block_to_sheet(d_report_recalc['count'], 'Итого', 'Количественные характеристики с учетом обратных звонков')
- rb.add_block_to_sheet(report_missed_stat['missed_stat'], 'Итого', 'Данные по пропущенным вызовам')
- rb.add_block_to_sheet(d_report['time_minutes'], 'Итого', 'Временные характеристики')
- 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_total_all'], 'Итого', 'Количество вызовов по часам')
- rb.add_joined_daily_block(
- [d_report['billing'], d_report_missed['billing'],
- d_report_all['billing']],
- 'Итого', 'Биллинг',
- first_header=['Дата', 'Входящие вызовы, мин', 'Прозвон по пропущенным, мин', 'Обработка заказов с сайта, мин',
- 'Заказ обратного звонка, мин', 'Общий, мин']
- )
- rb.add_block_to_sheet(d_report['operators'], 'Итого', 'Операторы')
- rb.add_block_to_sheet(stat_report['statuses'], 'Итого', 'Статусы')
- rb.add_calls_sheet(calls_report, 'Входящие звонки')
- rb.add_calls_sheet(calls_report_missed, 'Прозвон по пропущенным')
- rb.add_calls_sheet(calls_report_out, 'Исходящие')
- rb.save('planetacash_hourly_{}.xlsx'.format(to_date.strftime('%Y%m%d')))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement