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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
129
procedure TfrmOperat.cmdSaveClick(Sender: TObject);
begin
if ADOQuery1.State=dsinsert then
begin
ADOQuery1.Post;
//ADOQuery1.Refresh;
ADOQuery1.Last;
end;
if ADOQuery1.State=dsEdit then ADOQuery1.Post;
end;
procedure TfrmOperat.cmdSendClick(Sender: TObject);
begin
ADOCommandApend.CommandText:='insert into chat (kod_zaiavki, kod_sotr,
message_, Status_operat, status_tehsupport) VALUES
(:pKod_zaiavki, :pKod_sotr, :pMessage_, "0", "1")';
ADOCommandApend.Parameters.ParamByName('pkod_zaiavki').Value:=ADOQu
ery1.FieldByName('kod_zaiavki').AsInteger;
ADOCommandApend.Parameters.ParamByName('pKod_sotr').Value:=iKodSotr;
ADOCommandApend.Parameters.ParamByName('pMessage_').Value:=txtSend.T
ext ;
ADOCommandApend.Execute;
ADOQuery2.Requery();
ADOQuery2.Last;
txtSend.Text:='';
end;
130
end.
unit support_;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DBCtrls, Mask, Buttons, DB, ADODB, Vcl.Grids,
Vcl.DBGrids, Vcl.ComCtrls, frxClass, frxDBSet, frxChart;
type
TfrmSupport = class(TForm)
Panel1: TPanel;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
cmdRefresh: TBitBtn;
cmdClose: TBitBtn;
cmdJob: TBitBtn;
Label_Kol_Zap: TLabel;
Panel2: TPanel;
Panel3: TPanel;
Label_Find: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
txtFind: TEdit;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
131
RadioButton3: TRadioButton;
Label4: TLabel;
DBGrid1: TDBGrid;
Label2: TLabel;
Label5: TLabel;
txtDateClose: TDBText;
Label6: TLabel;
cmdSend: TBitBtn;
Label1: TLabel;
txtOpis: TDBMemo;
DBGrid2: TDBGrid;
DataSource2: TDataSource;
ADOQuery2: TADOQuery;
txtSend: TMemo;
ADOQuery1krat_name: TWideStringField;
ADOQuery1fio: TWideStringField;
ADOQuery1name_otdela: TWideStringField;
ADOQuery1status: TWideStringField;
ADOQuery1kod_sotr: TIntegerField;
ADOQuery1kod_zaiavki: TAutoIncField;
ADOQuery1opis: TWideMemoField;
Label7: TLabel;
txtNameOtdela: TDBText;
Label3: TLabel;
ADOCommand1: TADOCommand;
ADOCommand2: TADOCommand;
ADOCommandApend: TADOCommand;
ADOQuery2kod_zaiavki: TIntegerField;
ADOQuery2kod_message_: TAutoIncField;
132
ADOQuery2message_: TWideStringField;
ADOQuery2status_operat: TWideStringField;
ADOQuery2status_tehsupport: TWideStringField;
ADOQuery2fio: TWideStringField;
ADOQuery1job: TWideMemoField;
txtJob: TMemo;
RadioButton4: TRadioButton;
Label8: TLabel;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
lblOt: TLabel;
lblDo: TLabel;
Label17: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
txtFIOSupportClose: TLabel;
ADOQuery3: TADOQuery;
ADOQuery1kod_sotr_support: TIntegerField;
frxReport1: TfrxReport;
ADOQuery4: TADOQuery;
frxDBDataset1: TfrxDBDataset;
ADOQuery1date_open: TDateField;
ADOQuery1date_close: TDateField;
frxChartObject1: TfrxChartObject;
procedure Label_FindMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
133
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure Label9Click(Sender: TObject);
procedure Label10Click(Sender: TObject);
procedure Label11Click(Sender: TObject);
procedure Panel3MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure cmdCloseKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure cmdSendClick(Sender: TObject);
procedure DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure cmdRefreshClick(Sender: TObject);
procedure cmdJobClick(Sender: TObject);
procedure DBGrid2CellClick(Column: TColumn);
procedure txtSendClick(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure cmdCloseClick(Sender: TObject);
procedure Label8Click(Sender: TObject);
procedure Label_FindClick(Sender: TObject);
procedure Label17MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Label12MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Label13MouseMove(Sender: TObject; Shift: TShiftState; X,
134
Y: Integer);
procedure Label17Click(Sender: TObject);
procedure Label12Click(Sender: TObject);
procedure Label13Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmSupport: TfrmSupport;
implementation
uses mdi, message_, delete, close_;
{$R *.dfm}
procedure TfrmSupport.Label_FindClick(Sender: TObject);
var
Date1: string; //Начальная дата
Date2: string; //Конечная дата
begin
if Label_Find.Caption='Найти' then
begin
if RadioButton1.Checked then
135
begin
Date1:=DateToStr(DateTimePicker1.date);//FormatDateTime('dd.mm.yyyy',
MaskEditDate1.Text);
Date2:=DateToStr(DateTimePicker2.date);//FormatDateTime('dd.mm.yyyy',
MaskEditDate2.Text);
ADOQuery1.Filtered:=false;
ADOQuery1.Filter:='date_open>='+Date1+' and '+'date_open<='+Date2;
ADOQuery1.Filtered:=true;
Label_Find.Caption:='Отключить фильтр';
end;
if RadioButton2.Checked then
if txtFind.Text<>'' then
begin
adoQuery1.Filtered:=false;
adoQuery1.Filter:='krat_name '+ ' LIKE ' + #39 + '%' + txtFind.Text + '%' + #39;
adoQuery1.Filtered:=true;
Label_Find.Caption:='Отключить фильтр';
end;
if RadioButton3.Checked then
if txtFind.Text<>'' then
begin
adoQuery1.Filtered:=false;
adoQuery1.Filter:='fio '+ ' LIKE ' + #39 + '%' + txtFind.Text + '%' + #39;
adoQuery1.Filtered:=true;
Label_Find.Caption:='Отключить фильтр';
end;
136
if RadioButton4.Checked then
if txtFind.Text<>'' then
begin
adoQuery1.Filtered:=false;
adoQuery1.Filter:='status '+ ' LIKE ' + #39 + '%' + txtFind.Text + '%' + #39;
adoQuery1.Filtered:=true;
Label_Find.Caption:='Отключить фильтр';
end;
end else
begin
adoQuery1.Filtered:=false;
Label_Find.Caption:='Найти';;
end;
end;
procedure TfrmSupport.Label_FindMouseMove(Sender: TObject; Shift:
TShiftState;
X, Y: Integer);
begin
Label_Find.Font.Color:=clAqua;
end;
procedure TfrmSupport.Panel3MouseMove(Sender: TObject; Shift: TShiftState;
X,
Y: Integer);
begin
Label_Find.Font.Color:=clBlue;
end;
137
procedure TfrmSupport.txtSendClick(Sender: TObject);
begin
ADOCommand2.CommandText:='UPDATE chat SET status_operat="1"';
//Меняем во всех записях статус на 1, то есть прочитано
ADOCommand2.execute;
ADOQuery2.Requery(); //Обновляем измененный набор
ADOQuery2.Last; //Переходим в конец сообщений
end;
procedure TfrmSupport.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Label_Find.Font.Color:=clBlue;
Label12.Font.Color:=clwhite;
Label13.Font.Color:=clwhite;
Label17.Font.Color:=clwhite;
end;
procedure TfrmSupport.FormCreate(Sender: TObject);
begin
frmMDI.mnuLKtehsupport.Enabled:=false;
txtFind.Text:='';
//ADOQuery1.Parameters.ParamByName('kodsotr').Value:=ikodsotr;
ADOQuery3.Open;
ADOQuery1.Open;//Открываем набор данных
ADOQuery1.Last;
ADOQuery2.Open;
ADOQuery2.Last;
DateTimePicker1.Date:=Now;
138
DateTimePicker2.Date:=Now;
end;
procedure TfrmSupport.DataSource1DataChange(Sender: TObject; Field: TField);
var
sStatus: string;
begin
Label_Kol_Zap.Caption:='Запись '+inttostr(adoQuery1.Recno)+' из
'+inttostr(adoQuery1.RecordCount);
txtJob.Text:=ADOQuery1.FieldByName('job').AsString;
//Проверяем, если статус у записи "В работе", то переписка в чате доступная,
//иначе нет
sStatus:=ADOQuery1.FieldByName('status').AsString;
if sStatus='В работе' then
begin
txtSend.Enabled:=true;
cmdSend.Enabled:=true;
cmdClose.Enabled:=true;
cmdJob.Enabled:=false;
txtJob.ReadOnly:=true;
end else begin
txtSend.Enabled:=false;
cmdSend.Enabled:=false;
cmdClose.Enabled:=false;
if sStatus='Открыта' then cmdJob.Enabled:=true;
if sStatus='Закрыта' then cmdJob.Enabled:=false;
txtJob.ReadOnly:=false;
end;
//Ищем ФИО закрывшего заявку сотрудника

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

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