Диплом: Исследование и разработка информационной системы приема и анализа заявок технической поддержки на примере Администрации г. Новый Уренгой

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
89
Идентификатор поля
Описание поля
Тип поля
Размер
поля
Значен
ие по
умолча
нию
Условие на
значение
Ключ
или
индекс
login
Логин
VARCHAR
50
password
Пароль
VARCHAR
30
NOT NULL
status_sotr
Статус
VARCHAR
22
zaiavki (Заявки)
kod_sotr
Код сотрудника,
создавшего
заявку
INT
NOT NULL
kod_sotr_support
Код сотрудника
закрывшего
заявку
INT
kod_zaiavki
Код заявки
INT
Счетчик
Уникальное
NOT NULL
ПК,
Индекс
krat_name
Наименование
заявки
VARCHAR
100
NOT NULL
opis
Полное
описание заявки
LONG
TEXT
status
Статус заявки
VARCHAR
45
NOT NULL
date_open
Дата создания
заявки
DATE
NOT NULL
date_close
Дата закрытия
заявки
DATE
job
Описание
выполненной
работы
специалистом
LONG
TEXT
chat (Чат)
kod_zaiavki
Код заявки
INT
NOT NULL
kod_message_
Код сообщения
INT
Счетчик
Уникальное
NOT NULL
ПК,
Индекс
kod_sotr
Код сотрудника,
написавшего
сообщения
INT
NOT NULL
message_
Сообщение
VARCHAR
255
NOT NULL
status_operat
Статус
(прочтено, не
прочтено)
сообщений от
оператора,
адресованных
тех
специалисту.
VARCHAR
1
NOT NULL
status_tehsupport
Статус
сообщений от
техспециалиста
адресованных
оператору.
VARCHAR
1
NOT NULL
90
Рисунок 14. ER–модель базы данных
В приложении 1 приводится скрипт создания базы данных. В созданной
базе данных поддерживается механизм целостности данных благодаря
триггерам. Целостность поддерживается между родительскими и
подчиненными таблицами: каскадное обновление и каскадное обновление
данных. Связь между таблицами осуществляется по полю "kod_otdela".
Таблица "otdel" является родительской по отношению к таблице "sotr" .
Связь между родительской и дочерними таблицами один-ко-многим. В свою
очередь, таблица " sotr " является родительской таблице по отношению к
таблице "zaiavki" и "chat". Связь между таблицами один-ко-многим
осуществляется посредством использования ключевого поля "kod_sotr".
91
2.4.3. Структурная схема пакета (дерево вызова программных
модулей)
Структурная схема пакета представлена в таблице 8.
Таблица 8
Структурная схема пакета
п/п
Наименование модуля
Функции модуля
1
Модуль главной формы
приложения "mdi"
Содержит объявления глобальных переменных,
которые используются в других модулях
программы. Из данного модуля вызываются
остальные модули приложения.
2
Модуль «log»
Содержит описание и предопределенные
процедуры формы. Модуль предназначен для
проведения авторизации пользователя.
3
Модуль «sotr»
Содержит описание и предопределенные
процедуры формы. Модуль предназначен для
ведения списка отделов и сотрудников в каждом
отделе организации.
4
Модуль «operat»
Содержит описание и предопределенные
процедуры формы. Модуль представляет собой
личный кабинет оператора.
5
Модуль «support_»
Содержит описание и предопределенные
процедуры формы. Модуль представляет собой
личный кабинет специалиста службы
технической поддержки.
6
Модуль «close»
Содержит описание и предопределенные
процедуры формы подтверждения закрытия
заявки.
7
Модуль «delete»
Содержит описание формы для вывода
предупреждения о предстоящем удалении записи
из базы данных.
8
Модуль «message_»
Содержит описание формы для вывода
сообщений программы.
92
2.4.4. Описание программных модулей
Ниже представлена блок-схема работы программы.
93
94
95
Ниже приводится описание основных программных модулей.
Описание модуля главной формы mdi:
unit mdi;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Menus, Data.DB, Data.Win.ADODB,
Vcl.ComCtrls;
type
TfrmMDI = class(TForm)
MainMenu1: TMainMenu;
mnuLKtehsupport: TMenuItem;
mnuExit: TMenuItem;
mnuLog: TMenuItem;
mnuAdmin: TMenuItem;
mnuSotr: TMenuItem;
ADOConnection1: TADOConnection;
StatusBar1: TStatusBar;
mnuLKklient: TMenuItem;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure mnuExitClick(Sender: TObject);
procedure mnuSotrClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure mnuOrgClick(Sender: TObject);
96
procedure FormShow(Sender: TObject);
procedure mnuLogClick(Sender: TObject);
procedure mnuLKklientClick(Sender: TObject);
procedure mnuLKtehsupportClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmMDI: TfrmMDI;
PathBD: string; //Глобальная переменная, содержащая путь к базе данных
TekPapka: string; // Путь к текущей папке
BooleanModal: boolean;
//BooleanFind: boolean;
sLogin: String; //Логин сотрудника, зашедшего в систему
sFIOSotr: String; //ФИО сотрудника, вошедшего в систему
iKodSotr: Integer; //Код сотрудника, вошедшего в систему
sDolgnost: String; //Должность сотрудника, вошедшего в систему
sStatussotr: String; //Уровень доступа, вошедшего в систему (статус
сотрудника)
implementation
{$R *.dfm}
uses sotr, operat, log, support_;
procedure TfrmMDI.FormClose(Sender: TObject; var Action: TCloseAction);
97
begin
ADOConnection1.Close;
action:=caFree;
end;
procedure TfrmMDI.FormCreate(Sender: TObject);
begin
TekPapka:=getcurrentdir;
ADOConnection1.Close;// Закрываем соединение с БД
ADOConnection1.ConnectionString:='Provider=MSDASQL.1;Persist Security
Info=False;Extended Properties="Driver=MySQL ODBC 5.1
Driver;SERVER=127.0.0.1;UID=root;password=123;DATABASE=tehsupport;PO
RT=3306;charset=cp1251;COLUMN_SIZE_S32=1"'; // Прописываем строку
соединения
ADOConnection1.Open; // Открываем соединение
//Изначально, при создании формы прячем все строки меню
frmMDI.mnuAdmin.Visible:=false;
frmMDI.mnuLKklient.Visible:=false;
frmMDI.mnuLKtehsupport.Visible:=false;
frmMDI.mnuLog.Visible:=false;
frmMDI.mnuExit.Visible:=false;
end;
procedure TfrmMDI.FormShow(Sender: TObject);
begin
Application.CreateForm(TfrmLog,frmLog);
{frmMDI.mnuAdmin.Visible:=false;
frmMDI.mnuMaterial.Visible:=false;
frmMDI.mnuTesting.Visible:=false;
98
frmMDI.mnuStat.Visible:=false;
frmMDI.mnuLog.Visible:=false;
frmMDI.mnuExit.Visible:=false;
if sStatus='Администратор' then //Если найденный логин является
администратором, то
begin
frmMDI.mnuAdmin.Visible:=true;
frmMDI.mnuMaterial.Visible:=true;
frmMDI.mnuTesting.Visible:=true;
frmMDI.mnuStat.Visible:=true;
frmMDI.mnuLog.Visible:=true;
frmMDI.mnuExit.Visible:=true;
end;
if sStatus='Управляющий' then //Если найденный логин является
управляющий, то
begin
frmMDI.mnuAdmin.Visible:=false;
frmMDI.mnuMaterial.Visible:=false;
frmMDI.mnuTesting.Visible:=false;
frmMDI.mnuStat.Visible:=true;
frmMDI.mnuLog.Visible:=true;
frmMDI.mnuExit.Visible:=true;
end;
if sStatus='Рабочий' then //Если найденный логин является рабочий, то
begin
frmMDI.mnuAdmin.Visible:=false;
frmMDI.mnuMaterial.Visible:=true;
frmMDI.mnuTesting.Visible:=true;

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран