Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом_Волков.docx
Скачиваний:
51
Добавлен:
13.05.2015
Размер:
3.17 Mб
Скачать
      1. Модуль опроса базы данных

Для автоматического опроса базы данных разработан модуль опроса базы данных. Модуль в соответствии с параметрами, приходящими из модулей формирования подписки и модуля формирования запроса, периодически опрашивает сервер о наличии новых оповещений. В случае, когда появляются новые оповещения, модуль дает сигнал в модуль оперативного оповещения о том, что необходимо оповестить пользователя. Модуль содержит класс IdleHandler_MessageNotifications. Класс по созданному в подсистеме связи с СУБД соединению опрашивает каждую минуту сервер базы данных через хранимую процедуру get_data_requests_count о количестве необработанных запросов на коррекцию или дополнение данных и через хранимую процедуру get_new_events_count о новых Событиях. Если возвращаемое той или иной процедурой значение больше нуля, то отправляется соответствующий сигнал в модуль оперативного оповещения.

      1. Модуль оперативного оповещения

Для оперативного оповещения пользователя о Событиях в модуле используется класс EventNotifications. Класс описывает правила, в соответствии с которым требуется активировать графический элемент пользовательского интерфейса, а именно:

  • если количество событий находится от 1 до 8 включительно, то вывести в правом нижнем углу экрана значок в форме красного круга с цифрой в центре, соответствующей количеству событий;

  • если количество событий больше 9, то вывести в правом нижнем углу экрана значок в форме красного круга с символом «>9» в центре;

  • если курсор мыши наведен на графический элемент, то отразить рядом с курсором сообщение «ЭПОС: Оповещение о событиях».

Инициализация класса происходит только по сигналу из модуля опроса базы данных. Листинг класса EventNotifications представлен в приложении 1.

Для оперативного оповещения пользователя о запросах от отдела качества в модуле используется класс RequestNotifications. Класс описывает правила, в соответствии с которым требуется активировать графический элемент пользовательского интерфейса, а именно:

  • если количество запросов находится от 1 до 8 включительно, то вывести в правом нижнем углу экрана значок в форме красного квадрата с цифрой в центре, соответствующей количеству запросов;

  • если количество запросов больше 9, то вывести в правом нижнем углу экрана значок в форме красного квадрата с символом «>9» в центре;

  • если курсор мыши наведен на графический элемент, то отразить рядом с курсором сообщение «ЭПОС: Оповещение о запросах».

Инициализация класса происходит только по сигналу из модуля опроса базы данных. Листинг класса RequestNotifications представлен в приложении 2.

      1. Модуль формирования заявок

Для обеспечения возможности создания заявок на коррекцию и дополнение данных был разработан соответствующий модуль. Модуль содержит класс DKRequest_Edit. Класс позволяет создавать заявки на дополнение и коррекцию данных. На вход модуля со стороны пользователя поступает:

  • информация по отказу:

    • местоположение скважины (регион+месторождение+куст);

    • номер комплекта погружного оборудования;

    • дата отказа;

    • сервисное предприятие, осуществившее демонтаж;

  • параметры рассылки:

    • сервисное предприятие;

    • пользователь сервисного предприятия;

    • тип запроса (коррекция/дополнение);

    • статус (при создании запроса по умолчанию «новый»);

    • комментарий.

В результате работы модуля формируется запрос, который отправляется через модуль DataSet_OPR_Stop в подсистеме связи с СУБД в базу данных до востребования.