Обобщение таблицы

Есть Таблица с записями всех звонков прошедших через станцию. На нашей станции (freeswith) каждый звонок имеет два плеча "inbound" и "outbound" и соответственно звонки разделены на 2 части. inbound - это звонок от "А" (вызывающего) абонента на станцию и outbound - это звонок со станции на "Б" (принимающего) абонента. соответственно в таблице они фигурируют как 2 звонка один inbound и второй outbound. Также на станции есть функция очереди звонков если все операторы заняты. Тогда звонок "как бы" пускается по кругу и станция "как бы звонит сама себе". и появляются еще дополнительные inbound и outbound.
Необходимо составить таблицу в которой строки будут обобщены, т.е. в каждой строке будет идти inbound и outbound. при этом бывают ситуации когда на один inbound может приходится несколько outbound (это возникает при переводе вызова на другого сотрудника).
База данных postgress
в таблице имеются множество колонок. для обработки понадобятся след. колонки
first_uuid
fifo_originate_uuid
sip_call_id
billsec
примерно последовательность запросов по одному звонку
1. получение всех inbound в которых поле sip_call_id не пустое и получение из этих строу параметра first_uuid и fifo_originate_uuid и запись в таблицу
2. получаем все outbound с найденными first_uuid в которых есть значение sip_call_id и есть значение в billsec ненулевое и дописываем в таблицу к inbound в эту же строку
3. берем из inbound значение fifo_originate_uuid (смотри пункт 1) и ищем по нему все возможные записи с уникальными first_uuid (это будут звонки из очереди или переведенные). Не забываем связать вновь полученные first_uuid с первичным
4. получаем по новым first_uuid звонки с outbound в которых есть значение sip_call_id и есть значение в billsec не нулевое и дописываем в таблицу к inbound (первичному) в эту же строку. если записей outbound будет несколько - дописываем их в порядке начала разговора по полю start_stamp. сначала запись с более ранним временем старта.

нужна именно 1 строка с inbound и outbound (отбаундов может быть до 4). Нужна минимизация запросов в базу данных (т.е. цикличность не комильфо). Без транзитных таблиц в базе (через кэш). Выборка по базе в файлике.

Скачать файл


Бюджет: 1500 руб.
Компания: ООО телеком вист
Вид предложения: Удаленная работа
Категория: Программирование

Добавлено: 11.06.2018 в 16:07




Сделайте предложение по проекту:


Для того чтобы ответить на предложение, вам необходимо авторизоваться или зарегистрироваться на сайте


Комментарии:
Армен Айвазян    16.06.2018   10:01:53     

Здравствуйте, я занимаюсь разработкой приложений, могу написать быстро и качественно софт выполняющий данную работу
Валерий Кузнецов    13.06.2018   13:30:00     

Здравствуйте. Я по поводу вашего проекта. Работаю качественно и цены адекватны. Срок минимальный. Я сейчас свободна, могу вам помочь. Пишите и все обсудим.