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

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

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

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

PS Лучи ненависти людям, пишущим в базу NULL-ы без веской причины. COALESCE на каждый чих бесит писать, и очень засоряет код.
================
29.10.2010 Таки на запросе "десять человек и месяц" оно думало меньше десяти минут. Девять. Но всё равно конечно это безумно долго.
This account has disabled anonymous posting.
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

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