WEB 2.0

Сайт Владимира Потёмкина

База данных сотрудников предприятия N,
пользующихся услугами телефонной мобильной связи

Заказчик: предприятие N, Московская область

Исполнитель:Владимир Потемкин, Санкт Петербург

Программа обслуживания базы данных содержит 50 файлов, из них php-сценариев — 41 файл. Программа использует базу данных MySQL.

НАЗНАЧЕНИЕ

База данных (БД) предназначена для хранения информации о сотрудниках предприятия N, учета и контроля всех телефонных переговоров сотрудников предприятия с мобильных телефонов, а также о счетах, предъявленных предприятию N телефонной компанией МТС за услуги связи. Информация сохраняется за весь период действия соглашения о предоставлении услуг связи МТС предприятию N. Информация сохраняется в форме, удобной для ее просмотра, администрирования и составления отчетов.

ОПИСАНИЕ

Счета за предоставление услуг связи от МТС приходят предприятию N ежемесячно. Счет представляет из себя HTML-файл, в котором содержатся данные о тарифах, обслуживании и состоявшихся разговорах для всех мобильных телефонов предприятия N за отчетный период. Эти данные анализируются программой, производится их семантический разбор, далее они перерабатываются и сохраняются в БД.

Pic.1

Рис. 1. Фрагмент HTML—файла, содержащего счет предприятию N за предоставление услуг связи от телефонной компании МТС.

БД содержит таблицы «Абоненты», «Тарифные планы», «Счета», «Правила» и некоторые другие, вспомогательные. Таблица «Абоненты» содержит данные о владельце телефонного номера, а именно: фамилию, имя, отчество и занимаемую должность работника предприятия N, подразделение, в котором он работает и некоторые другие данные. Таблица «Тарифы» содержит сведения о всех тарифных планах, предоставляемых телефонной компанией работникам предприятия N. В таблице «Счета» находятся сведения о состоявшихся разговорах с каждого телефонного номера за все отчетные периоды действия соглашения о предоставлении услуг связи МТС предприятию N. Информация в этой таблице преобразована в форму, удобную для ее просмотра и редактирования. Таблица «Правила» содержит правила обработки, по которым информация о состоявшихся разговорах преобразуется перед ее сохранением в таблице «Счета». Правила обработки вырабатываются при разборе файла со счетом оператором (администратором БД) в процессе его интерактивной работы с программой.

Pic.2

Рис. 2. Выбор операции.

После ввода пароля и прохождения авторизации пользователь попадает на страницу, где ему предлагается выбрать одну из следующих операций (рис. 2):

Pic.3

Рис. 3. Выбор файла со счетом для разбора.

Выбрать файл для разбора можно в специальном диалоговом окне, в котором указывается имя файла, а также его размер, дата и время создания (рис. 3).

Pic.4

Рис. 4. При больших размерах файла со счетом его разбор производится за несколько последовательных этапов.

Время работы сценария на сервере ограничено. Поэтому при больших размерах файла со счетом (размер может достигать нескольких десятков Мб), чтобы не выйти за пределы отведенного времени, его разбор производится за несколько последовательных этапов (рис. 4). Количество записей, обрабатываемых за один этап, можно регулировать.

Pic.5

Рис. 5. Разбор файла. Оператору предлагается создать правило для занесения записи в БД.

Разбор файла со счетом заключается в следующем (рис. 5). Если в файле встречается телефонный номер, которого нет в БД, этот номер заносится в БД в таблицу «Абоненты». Для всех телефонных номеров проверяется поле с названием тарифного плана. Если для данного номера тарифный план изменился, в БД заносится его новое, более позднее значение. Если встречается тарифный план, которого ранее не было в БД, он запоминается в таблице «Тарифные планы».
Разнообразные записи о платежах и обслуживании, содержащиеся в файле со счетом, объединяются по смыслу в несколько групп, такие как SMS. MMS, GPRS, исходящие вызовы местной сети, междугородние вызовы, международные вызовы, роуминг и некоторые другие. Т.е. все многообразие записей из файла преобразуется в несколько записей, число которых равно числу групп. Для каждого телефонного номера поля «Период» и «Расценки» суммируются для всех записей внутри каждой группы. В процессе разбора для каждой записи из файла создается правило разбора, которое заносится в БД в специальную таблицу «Правила». В дальнейшем, если в файле попадается запись, для которой правило уже существует, эта запись на экран не выводится и обрабатывается программой автоматически. Таким образом, после разбора файла все его записи оказываются рассортированными по группам и создается система правил для сортировки записей. Эта система правил может быть применена для разбора других файлов счетов, а другие файлы могут дополнять систему новыми правилами.

Pic.6

Рис. 6. Таблица правил. Нажатие на галочку слева открывает окно редактирования или удаления соответствующего правила.

Pic.7

Рис. 7. Итоговая таблица разбора файла. Все записи рассортированы по группам.

Результат разбора файла заносится в таблицу «Сводные счета» (рис. 7). Запись в этой таблице создается для каждого телефонного номера за рассматриваемый отчетный период. Нажатие на галочку вверху слева позволяет просмотреть информацию об указанном номере или тарифном плане.

Pic.8

Рис. 8. Просмотр и редактирование таблицы «Абоненты».

В БД сохраняются данные о всех абонентах телефонной сети предприятия: фамилия, имя, отчество, должность и др. (рис. 8). В отдельной таблице сохраняется история данного телефонного номера, а именно фамилии, имена и отчества всех прежних владельцев данного номера с датами начала и окончания использования номера каждым владельцем (рис. 9).

Pic.9

Рис. 9. Таблица «История абонента». Нажатие на галочку слева открывает окно редактирования или удаления соответствующей записи.

Программа представляет несколько опций при составлении отчетов и подготовке их к печати.