Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Создание базы данных и формы администратора для приёма заявок от сотрудников банка






Приём и хранение принятых сервером сообщений будет осуществляться при помощи базы данных созданной в Microsoft Access, хранящейся в формате.mdb. Для этого создадим базу данных для хранения следующих данных:

1. Номер заявки – кажой заявки присваивается личный идентификатор, по которому можно легко её найти, является первичным ключом.

2. Приоритет – сообщает о важности сообщений и помогает определиться с очередностью выполнения заявок.

3. Фамилия, имя, отчество – личные данные отправителя заявки.

4. Кабинет – место, где необходимо выполнить заявку.

5. Номер телефона – телефон, по которому можно связаться с составителем заявки.

6. Тип проблемы, подробности, описание проблемы – в данных ячейках хранятся переданные пользователем данные о проблеме.

7. Время поступления заявки – время, в которое была получена заявка.

На созданной форме разместим необходимые нам компоненты:

1. Memo – отображает информацию о принятых сообщения.

2. ADOConnection, ADOTable, DataSource – невизуальные компоненты необходимые для корректного отображения базы данных и работы с ней.

3. DBGrid – визуальный компонент, который позволяет отображать нашу базу данных.

4. ServerSocket – не визуальный компонент, отвечающий за приём сообщений от клиента в технологии Socket.

5. Button – кнопки выполняющие функции открытия форм базы сотрудников, выделения специалиста, заявки в исполнении, закрытые заявки.

В первую очередь необходимо настроить визуальное отображение нашей базы данных в компоненте DBGrid. Для этого необходимо указать в свойстве ConnectionString компонента ADOConnection путь к нашей базе данных и в меню выбора поставщика данных выбрать Microsoft Jet 4.0 OLE DB Provider, который отвечает за работу с базами данных созданных в программе Microsoft Access. Затем в свойствах Connection и TableName компонента ADOTable указать связь между компонентами ADOConnection и ADOTable, выбрать отображаемую таблицу из нашей базы данных. Затем с помощью компонента DataSource начать визуальное отображение нашей таблице в окне DBGrid указав в свойстве DataSet связь с компонентом ADOTable1 и поменять содержимое свойства Active компонента ADOTable на True. Таким путём мы настроили визуальное отображение нашей таблицы на форме.

После этого необходимо осуществить приём сообщений от клиента путём настройки компонента ServerSocket. Для этого необходимо создать процедуру OnClientRead. Код процедуры:

procedure TFormAdmin.ServerSocket1ClientRead(Sender: TObject;

Socket: TCustomWinSocket);

var

j: integer;

Tip1, Tip, Podr, Opisanie, NomerKlienta: string;

begin

WorkDate: = Now;

begin

ansistring(tip1): =ServerSocket1.Socket.Connections[0].ReceiveText;

PacketList.Clear;

ExtractStrings([#13], [], PChar(tip1), PacketList);

Tip: =PacketList[0];

Podr: =PacketList[1];

Opisanie: =PacketList[2];

NomerKlienta: =PacketList[3];

memo1.Lines.Add('Получено'+Tip+Podr+Opisanie+NomerKlienta);

end;.

Данный код выполняет функцию приёма сообщений. Осуществляется это путём парсинга получаемой строки от сервера, в которой содержится следующая информация:

1. тип проблемы;

2. её подробности;

3. описание проблемы;

4. номер учётной записи отправителя.

Приняв и распределив полученные данные осуществляется создание ячейки в нашей базе данных. Добавляя к помученной информации: приоритет, фамилию, имя, отчество, кабинет, номер телефона, время поступления из нашей базы данных клиентов.

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

Рисунок 7. Выделение специалиста

Код процедуры, выполняемый в момент выделения специалиста:

procedure TFormSpec.Button1Click(Sender: TObject);

begin

if ComboBoxSpec.Text='Специалисты' then

begin

Label1.Font.Color: =clRed;

Label1.Caption: ='Вы не выбрали специалиста'

end

else

begin

WorkDate: =Now;

Label1.Font.Color: =clBlack;

Label1.Caption: ='Выберите специалиста';

begin

FormRabota.ADOTable1.Insert;

FormRabota.DataSource1.DataSet.FieldByName('Номер заявки').AsString: =FormAdmin.DataSource1.DataSet.Fields.Fields[0].Value;

FormRabota.DataSource1.DataSet.FieldByName('Фамилия').AsString: =FormAdmin.DataSource1.DataSet.Fields.Fields[2].Value;

FormRabota.DataSource1.DataSet.FieldByName('Имя').AsString: =FormAdmin.DataSource1.DataSet.Fields.Fields[3].Value;

FormRabota.DataSource1.DataSet.FieldByName('Отчество').AsString: =FormAdmin.DataSource1.DataSet.Fields.Fields[4].Value;

FormRabota.DataSource1.DataSet.FieldByName('Кабинет').AsString: =FormAdmin.DataSource1.DataSet.Fields.Fields[5].Value;

FormRabota.DataSource1.DataSet.FieldByName('Номер телефона').AsString: =FormAdmin.DataSource1.DataSet.Fields.Fields[6].Value;

FormRabota.DataSource1.DataSet.FieldByName('Тип проблемы').AsString: =FormAdmin.DataSource1.DataSet.Fields.Fields[7].Value;

FormRabota.DataSource1.DataSet.FieldByName('Подробности').AsString: =FormAdmin.DataSource1.DataSet.Fields.Fields[8].Value;

FormRabota.DataSource1.DataSet.FieldByName('Описание').AsString: =FormAdmin.DataSource1.DataSet.Fields.Fields[9].Value;

FormRabota.DataSource1.DataSet.FieldByName('Приоритет').AsString: =FormAdmin.DataSource1.DataSet.Fields.Fields[1].Value;

FormRabota.DataSource1.DataSet.FieldByName('Время поступления').AsDateTime: =FormAdmin.DataSource1.DataSet.Fields.Fields[10].AsDateTime;

FormRabota.DataSource1.DataSet.FieldByName('Время начала выполнения').AsString: =DateToStr(WorkDate)+TimeToStr(WorkDate);

FormRabota.DataSource1.DataSet.FieldByName('Специалист').AsString: =ComboBoxSpec.Text;

FormRabota.ADOTable1.Post;

end;

FormAdmin.ADOTable1.Delete;

FormSpec.Close;

end;

end;

После выделения специалиста статус заявки будет изменен с поступившей на находящейся в исполнении. Так же она будет перенесена из текущей базы данных в бузу данных содержащую заявки в исполнении. Переход к данной базе данных осуществляется нажатием кнопки «Заявки в исполнении».

В результате удалось создать данную форму администратора (рисунок 8):

Рисунок 8. Форма администратора






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.