eldhenn: (Default)
[personal profile] eldhenn
Антон просил писать меня о работе... Вот почему бы не написать?

Сейчас бьюсь над задачей отчётов по телефонным разговорам отдела техподдержки. Все звонки в компании проходят через корпоративную АТС, эта АТС пишет в базу данных информацию о звонках.
Пишет она довольно примитивные вещи - номер внутреннего абонента, номер внешнего абонента, тип вызова (поднятие трубки, переадресация), ну и длительность.
Засада номер раз - событие "звонок остался без ответа" помечается не всегда. Тем не менее, пропущенные звонки это очень важная часть статистики.
Засада номер два - не пишется на кого пришёл вызов. Таким образом, неизвестно, кто именно не поднял трубку. К сожалению, проблема неразрешимая, поэтому показываю пропущенные по всей компании.
Засада номер три - АТС не знает сущности "один входящий звонок". Или она злостно о ней умалчивает. А отличать два разговора от одного с переадресацией нужно. Переадресацию можно определить только по косвенным признакам.
Засада номер четыре. Есть разделение доступа - показ не всей статистики, а только разговоров одного отдела. Тем не менее нужно знать, от кого пришёл звонок (кто переадресовал) и куда ушёл.
Засада номер пять - требуется формировать отчёты за месяц. По запросу. Крайне желательно, чтобы оно думало меньше десяти минут.

В общем-то, интересно. Трёхэтажные запросы к базе с агрегирующими функциями пишу уже на лету, без заглядывания в документацию (последний раз подобные запросы я писал лет восемь назад).

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

PS Лучи ненависти людям, пишущим в базу NULL-ы без веской причины. COALESCE на каждый чих бесит писать, и очень засоряет код.
================
29.10.2010 Таки на запросе "десять человек и месяц" оно думало меньше десяти минут. Девять. Но всё равно конечно это безумно долго.

Date: 21 Sep 2010 21:46 (UTC)
From: [identity profile] kamarado-anton.livejournal.com
Спасибо, интересно). А программу АТС теоретически можно подкорректировать чтобы она, например, давала инфу "на кого пришел вызов"? Какая база данных используется?

Date: 28 Oct 2010 22:31 (UTC)
From: [identity profile] n0kk.livejournal.com
Вот это самая большая беда.
И в вашем конкретном случае она называется "отсутствие постановки задачи".

А какая станция? Авайя?

Date: 29 Oct 2010 07:12 (UTC)
From: [identity profile] n0kk.livejournal.com
Панас - это не АТС. Это натуральная "тамагоча".

Profile

eldhenn: (Default)
Элдхэнн

Tags

September 2022

S M T W T F S
    123
45678910
11121314151617
181920 21222324
252627282930 

Expand Cut Tags

No cut tags