Диплом: Автоматизация обработки заявок отделом техподдержки «Центральная клиническая больница гражданской авиации»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
134
DBEdit7: TDBEdit;
Label8: TLabel;
DBEdit8: TDBEdit;
Label9: TLabel;
DBEdit9: TDBEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
DBMemo1: TDBMemo;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmRequisite: TfmRequisite;
implementation
uses DMUnit, DB;
{$R *.dfm}
procedure TfmRequisite.FormShow(Sender: TObject);
begin
DM.tbRequisite.Open;
end;
procedure TfmRequisite.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
DM.tbRequisite.Close;
end;
procedure TfmRequisite.BitBtn1Click(Sender: TObject);
begin
if DM.tbRequisite.State = dsEdit then
DM.tbRequisite.Post;
Close;
end;
procedure TfmRequisite.BitBtn2Click(Sender: TObject);
begin
DM.tbRequisite.Cancel;
Close;
end;
end.
135
unit StaffUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Grids, DBGrids, DBCtrls, StdCtrls, Buttons;
type
TfmStaff = class(TForm)
DBGrid1: TDBGrid;
Panel1: TPanel;
bbtPrint: TBitBtn;
DBNavigator1: TDBNavigator;
BitBtn1: TBitBtn;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure bbtPrintClick(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmStaff: TfmStaff;
implementation
uses DMUnit, ReportsUnit, ADODB, OrderListUnit, OrderUnit;
{$R *.dfm}
procedure TfmStaff.FormShow(Sender: TObject);
begin
DM.tbStaff.Open;
end;
procedure TfmStaff.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//Набор данных закрывается, если он не используется в других формах:
if (not fmOrderList.Showing) and (not fmOrder.Showing) then
DM.tbStaff.Close;
end;
procedure TfmStaff.bbtPrintClick(Sender: TObject);
begin
Rep_Any(DBGrid1, 3, Self.Caption);
end;
136
//Сортировка данных в таблице по выбранному столбцу:
procedure TfmStaff.DBGrid1TitleClick(Column: TColumn);
begin
try
(DBGrid1.DataSource.DataSet as TADOTable).Sort := Column.FieldName;
except
Application.MessageBox('Сортировка по данному полю невозможна',
'Информация', MB_OK+MB_ICONINFORMATION)
end;
end;
procedure TfmStaff.BitBtn1Click(Sender: TObject);
begin
Close;
end;
end.
unit StatDiagrUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Buttons, DBCtrls, ExtCtrls, TeEngine,
Series, TeeProcs, Chart, DbChart, TeePrevi;
type
TfmStatDiagr = class(TForm)
Panel1: TPanel;
bbtPrint: TBitBtn;
bbtExit: TBitBtn;
DBChart1: TDBChart;
HorizBarSeries1: TBarSeries;
DBChart2: TDBChart;
PieSeries1: THorizBarSeries;
DBChart3: TDBChart;
Series1: TPieSeries;
DBChart5: TDBChart;
LineSeries1: TBarSeries;
DBChart4: TDBChart;
PieSeries2: TPieSeries;
procedure bbtPrintClick(Sender: TObject);
procedure bbtExitClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmStatDiagr: TfmStatDiagr;
137
implementation
uses DMUnit, ReportsUnit;
{$R *.dfm}
procedure TfmStatDiagr.bbtPrintClick(Sender: TObject);
begin
//В зависимости от активной закладки выводится в режим просмотра перед
печатью
//выбранная диаграмма:
if DBChart1.Visible then
ChartPreview(Self, DBChart1)
else if DBChart2.Visible then
ChartPreview(Self, DBChart2)
else if DBChart3.Visible then
ChartPreview(Self, DBChart3)
else if DBChart4.Visible then
ChartPreview(Self, DBChart4)
else
ChartPreview(Self, DBChart5)
end;
procedure TfmStatDiagr.bbtExitClick(Sender: TObject);
begin
Close;
end;
end.
unit StatUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Buttons, DBCtrls, ExtCtrls, TeEngine,
Series, TeeProcs, Chart, DbChart, TeePrevi;
type
TfmStat = class(TForm)
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
RadioButton5: TRadioButton;
Label1: TLabel;
dtpDate1: TDateTimePicker;
Label2: TLabel;
dtpDate2: TDateTimePicker;
bbtGo: TBitBtn;
bbtCancel: TBitBtn;
138
procedure FormCreate(Sender: TObject);
procedure bbtGoClick(Sender: TObject);
procedure bbtCancelClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmStat: TfmStat;
implementation
uses DMUnit, ReportsUnit, StatDiagrUnit;
{$R *.dfm}
procedure TfmStat.FormCreate(Sender: TObject);
begin
dtpDate1.Date := Date;
dtpDate2.Date := Date;
end;
procedure TfmStat.bbtGoClick(Sender: TObject);
begin
//Формируется выбранная диаграмма:
if RadioButton1.Checked then
begin
//Выполненные объемы работ / услуг помесячно:
DM.dstStatOrderSum.Close;
DM.dstStatOrderSum.Parameters.ParamByName('pDate1').Value := dtpDate1.Date;
DM.dstStatOrderSum.Parameters.ParamByName('pDate2').Value := dtpDate2.Date;
DM.dstStatOrderSum.Open;
with fmStatDiagr do
begin
DBChart1.Title.Text.Strings[0] := 'Выполненные объемы работ / услуг
помесячно с ' +
DateToStr(dtpDate1.Date) + ' по ' + DateToStr(dtpDate2.Date);
DBChart1.Visible := True;
DBChart2.Visible := False;
DBChart3.Visible := False;
DBChart4.Visible := False;
DBChart5.Visible := False;
end;
end
else if RadioButton2.Checked then
begin
//Выполненные объемы работ / услуг в разрезе видов работ:
DM.dstStatJobs.Close;
DM.dstStatJobs.Parameters.ParamByName('pDate1').Value := dtpDate1.Date;
DM.dstStatJobs.Parameters.ParamByName('pDate2').Value := dtpDate2.Date;
139
DM.dstStatJobs.Open;
with fmStatDiagr do
begin
DBChart2.Title.Text.Strings[0] := 'Выполненные объемы работ / услуг в
разрезе видов работ c ' +
DateToStr(dtpDate1.Date) + ' по ' + DateToStr(dtpDate2.Date);
DBChart1.Visible := False;
DBChart2.Visible := True;
DBChart3.Visible := False;
DBChart4.Visible := False;
DBChart5.Visible := False;
end;
end
else if RadioButton3.Checked then
begin
//Выполненные объемы работ / услуг в разрезе работников:
DM.dstStatEmp.Close;
DM.dstStatEmp.Parameters.ParamByName('pDate1').Value := dtpDate1.Date;
DM.dstStatEmp.Parameters.ParamByName('pDate2').Value := dtpDate2.Date;
DM.dstStatEmp.Open;
with fmStatDiagr do
begin
DBChart3.Title.Text.Strings[0] := 'Выполненные объемы работ / услуг в
разрезе работников c ' +
DateToStr(dtpDate1.Date) + ' по ' + DateToStr(dtpDate2.Date);
DBChart1.Visible := False;
DBChart2.Visible := False;
DBChart3.Visible := True;
DBChart4.Visible := False;
DBChart5.Visible := False;
end;
end
else if RadioButton4.Checked then
begin
//Выполненные объемы работ / услуг в разрезе клиентов:
DM.dstStatClientSum.Close;
DM.dstStatClientSum.Parameters.ParamByName('pDate1').Value :=
dtpDate1.Date;
DM.dstStatClientSum.Parameters.ParamByName('pDate2').Value :=
dtpDate2.Date;
DM.dstStatClientSum.Open;
with fmStatDiagr do
begin
DBChart4.Title.Text.Strings[0] := 'Выполненные объемы работ / услуг в
разрезе клиентов с ' +
DateToStr(dtpDate1.Date) + ' по ' + DateToStr(dtpDate2.Date);
DBChart1.Visible := False;
DBChart2.Visible := False;
DBChart3.Visible := False;
DBChart4.Visible := True;
DBChart5.Visible := False;
end;
140
end
else
begin
//Объемы заказа комплектующих поставщикам помесячно:
DM.dstStatSupOrderSum.Close;
DM.dstStatSupOrderSum.Parameters.ParamByName('pDate1').Value :=
dtpDate1.Date;
DM.dstStatSupOrderSum.Parameters.ParamByName('pDate2').Value :=
dtpDate2.Date;
DM.dstStatSupOrderSum.Open;
with fmStatDiagr do
begin
DBChart5.Title.Text.Strings[0] := 'Объемы заказа комплектующих
поставщикам помесячно с ' +
DateToStr(dtpDate1.Date) + ' по ' + DateToStr(dtpDate2.Date);
DBChart1.Visible := False;
DBChart2.Visible := False;
DBChart3.Visible := False;
DBChart4.Visible := False;
DBChart5.Visible := True;
end;
end;
fmStatDiagr.ShowModal;
end;
procedure TfmStat.bbtCancelClick(Sender: TObject);
begin
Close;
end;
end.
unit StoreUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Grids, DBGrids, DBCtrls, StdCtrls, Buttons;
type
TfmStore = class(TForm)
DBGrid1: TDBGrid;
Panel1: TPanel;
bbtPrint: TBitBtn;
DBNavigator1: TDBNavigator;
BitBtn1: TBitBtn;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure bbtPrintClick(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
procedure BitBtn1Click(Sender: TObject);
private
141
{ Private declarations }
public
{ Public declarations }
end;
var
fmStore: TfmStore;
implementation
uses DMUnit, ReportsUnit, ADODB;
{$R *.dfm}
procedure TfmStore.FormShow(Sender: TObject);
begin
DM.tbStore.Open;
DM.tbStore.Sort := 'Наименование';
end;
procedure TfmStore.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DM.tbStore.Close;
end;
procedure TfmStore.bbtPrintClick(Sender: TObject);
begin
Rep_Any(DBGrid1, 6, Self.Caption);
end;
//Сортировка данных в таблице по выбранному столбцу:
procedure TfmStore.DBGrid1TitleClick(Column: TColumn);
begin
try
(DBGrid1.DataSource.DataSet as TADOTable).Sort := Column.FieldName;
except
Application.MessageBox('Сортировка по данному полю невозможна',
'Информация', MB_OK+MB_ICONINFORMATION)
end;
end;
procedure TfmStore.BitBtn1Click(Sender: TObject);
begin
Close;
end;
end.
unit SumStringUnit;
//Модуль для перевода числового представления суммы в строковое
interface
142
uses
SysUtils, StrUtils;
function SumToTxt(Value: String) : string; //Функция для перевода (аргумент -
строка, содержащая сумму)
implementation
const a:array[0..8,0..9] of string=(
('','один ','два ','три ','четыре ','пять ','шесть ','семь ','восемь ','девять '),
('','','двадцать ','тридцать ','сорок ','пятьдесят ','шестьдесят ','семьдесят
','восемьдесят ','девяносто '),
('','сто ','двести ','триста ','четыреста ','пятьсот ','шестьсот ','семьсот ','восемьсот
','девятьсот '),
('тысяч ','тысяча ','две тысячи ','три тысячи ','четыре тысячи ','пять тысяч ','шесть
тысяч ','семь тысяч ',
'восемь тысячь ','девять тысячь '),
('','','двадцать ','тридцать ','сорок ','пятьдесят ','шестьдесят ','семьдесят
','восемьдесят ','девяносто '),
('','сто ','двести ','триста ','четыреста ','пятьсот ','шестьсот ','семьсот ','восемьсот
','девятьсот '),
('миллионов ','один миллион ','два миллиона ','три миллиона ','четыре миллиона
','пять миллионов ',
'шесть миллионов ','семь миллионов ','восемь миллионов ','девять миллионов '),
('','','двадцать ','тридцать ','сорок ','пятьдесят ','шестьдесят ','семьдесят
','восемьдесят ','девяносто '),
('','сто ','двести ','триста ','четыреста ','пятьсот ','шестьсот ','семьсот ','восемьсот
','девятьсот '));
b:array[0..9] of string=
('десять ','одинадцать ','двенадцать ','тринадцать ','четырнадцать ','пятнадцать
','шестнадцать ',
'семнадцать ','восемнадцать ','девятнадцать ');
function SumToStrin(Value : String) : string;
var s,t:string;
p,pp,i,k:integer;
begin
s:=value;
if s='0' then
t:='Ноль '
else begin
p:=length(s);
pp:=p;
if p>1 then
if (s[p-1]='1') and (s[p]>'0') then begin
t:=b[strtoint(s[p])];
pp:=pp-2;
end;
i:=pp;
while i>0 do begin
if (i=p-3) and (p>4) then
if s[p-4]='1' then begin
143
t:=b[strtoint(s[p-3])]+'тысяч '+t;
i:=i-2;
end;
if (i=p-6) and (p>7) then
if s[p-7]='1' then begin
t:=b[strtoint(s[p-6])]+'миллионов '+t;
i:=i-2;
end;
if i>0 then begin
k:=strtoint(s[i]);
t:=a[p-i,k]+t;
i:=i-1;
end;
end;
end;
Result := t;
end;
//Разделяет сумму на рубли и копейки:
procedure get2str(value:string;var hi,lo:string);
var p:integer;
begin
p:=pos(',',value);
lo:='';hi:='';
if p=0 then
p:=pos('.',value);
if p<>0 then
delete(value,p,1);
if p=0 then begin
hi:=value;
lo:='00';
end;
if p>length(value) then begin
hi:=value;
lo:='00';
end;
if p=1 then begin
hi:='0';
lo:=value;
end;
if (p>1) and (p<length(value)) then begin
hi:=copy(value,1,p-1);
lo:=copy(value,p,length(value));
end;
end;
function SumToTxt(value: string):string;
var hi,lo:string;
pr,er:integer;
begin
get2str(value,hi,lo);
if (hi='') or (lo='') then begin

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

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