Диплом: Автоматизация системы контроля и учета заявок абонентов на подключение к сети интернет для Комитета по образованию администрации Зиминского района

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
64
procedure TfmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
fmLogin.Close;
end;
end.
Программный модуль ManagerUnit.pas
unit ManagerUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Grids, DBGrids, DBCtrls, StdCtrls, Buttons;
type
TfmManagers = class(TForm)
DBGrid1: TDBGrid;
Panel1: TPanel;
DBNavigator1: TDBNavigator;
BitBtn1: TBitBtn;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmManagers: TfmManagers;
implementation
uses DMUnit, OrderListUnit, OrderUnit;
{$R *.dfm}
procedure TfmManagers.FormShow(Sender: TObject);
begin
DM.tbManagers.Open;
end;
procedure TfmManagers.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//Набор данных закрывается, если он не используется в других формах:
if (not fmOrderList.Showing) and (not fmOrder.Showing) then
DM.tbManagers.Close;
end;
procedure TfmManagers.BitBtn1Click(Sender: TObject);
begin
Close;
end;
end.
Программный модуль OrderListUnit.pas
unit OrderListUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Grids, DBGrids, DBCtrls, StdCtrls, Buttons, ComCtrls;
type
TfmOrderList = class(TForm)
DBGrid1: TDBGrid;
Panel1: TPanel;
bbtPrint: TBitBtn;
GroupBox1: TGroupBox;
chbDate1: TCheckBox;
65
chbDate2: TCheckBox;
dtpDate1: TDateTimePicker;
dtpDate2: TDateTimePicker;
chbClient: TCheckBox;
chbManager: TCheckBox;
dblcbClient: TDBLookupComboBox;
dblcbManager: TDBLookupComboBox;
BitBtn4: TBitBtn;
BitBtn1: TBitBtn;
DBNavigator2: TDBNavigator;
chbStatus: TCheckBox;
dblcbStatus: TDBLookupComboBox;
bbtNewOrder: TBitBtn;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure bbtPrintClick(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
procedure chbDate1Click(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure bbtNewOrderClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmOrderList: TfmOrderList;
implementation
uses DMUnit, ReportsUnit, ADODB, MainUnit, OrderUnit;
{$R *.dfm}
procedure TfmOrderList.FormShow(Sender: TObject);
begin
DM.dstOrders.Open;
dtpDate1.Date := Date;
dtpDate2.Date := Date;
chbDate1Click(Self);
end;
procedure TfmOrderList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DM.dstOrders.Close;
end;
procedure TfmOrderList.bbtPrintClick(Sender: TObject);
begin
Rep_Any(DBGrid1, 7, Self.Caption);
end;
//Сортировка данных в таблице по выбранному столбцу:
procedure TfmOrderList.DBGrid1TitleClick(Column: TColumn);
begin
if Column.FieldName = 'Клиент' then
DM.dstOrders.Sort := 'КлиентID'
else if Column.FieldName = 'Менеджер' then
DM.dstOrders.Sort := 'МенеджерID'
else if Column.FieldName = 'Работник' then
DM.dstOrders.Sort := 'РаботникID'
else if Column.FieldName = 'Статус' then
DM.dstOrders.Sort := 'СтатусID'
else if Column.FieldName = 'Телефоны' then
DM.dstOrders.Sort := 'КлиентID'
else
DM.dstOrders.Sort := Column.FieldName;
end;
procedure TfmOrderList.chbDate1Click(Sender: TObject);
var
Filter: string;
begin
Filter := '';
if chbDate1.Checked then
begin
if Filter <> '' then
66
Filter := Filter + ' and ';
Filter := Filter + 'ДатаПриема >= ' + QuotedStr(DateToStr(dtpDate1.Date));
end;
if chbDate2.Checked then
begin
if Filter <> '' then
Filter := Filter + ' and ';
Filter := Filter + 'ДатаПриема <= ' + QuotedStr(DateToStr(dtpDate2.Date));
end;
if chbClient.Checked and (dblcbClient.KeyValue <> Null) then
begin
if Filter <> '' then
Filter := Filter + ' and ';
Filter := Filter + 'КлиентID = ' + IntToStr(dblcbClient.KeyValue);
end;
if chbManager.Checked and (dblcbManager.KeyValue <> Null) then
begin
if Filter <> '' then
Filter := Filter + ' and ';
Filter := Filter + 'МенеджерID = ' + IntToStr(dblcbManager.KeyValue);
end;
if chbStatus.Checked and (dblcbStatus.KeyValue <> Null) then
begin
if Filter <> '' then
Filter := Filter + ' and ';
Filter := Filter + 'СтатусID = ' + IntToStr(dblcbStatus.KeyValue);
end;
if Filter <> '' then
begin
DM.dstOrders.Filter := Filter;
DM.dstOrders.Filtered := True;
end
else
DM.dstOrders.Filtered := False;
end;
procedure TfmOrderList.DBGrid1DblClick(Sender: TObject);
begin
fmOrder.Show;
end;
procedure TfmOrderList.FormCreate(Sender: TObject);
begin
dtpDate1.Date := Date;
dtpDate2.Date := Date;
end;
procedure TfmOrderList.BitBtn1Click(Sender: TObject);
begin
Close;
end;
procedure TfmOrderList.bbtNewOrderClick(Sender: TObject);
begin
DM.dstOrders.Insert;
fmOrder.Show;
end;
end.
Программный модуль OrderUnit.pas
unit OrderUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DBCtrls, ExtCtrls, Grids, DBGrids, Mask;
type
TfmOrder = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Splitter2: TSplitter;
DBGrid2: TDBGrid;
Label1: TLabel;
67
DBEdit1: TDBEdit;
Label2: TLabel;
DBEdit2: TDBEdit;
Label3: TLabel;
DBEdit3: TDBEdit;
Label7: TLabel;
dbedSum: TDBEdit;
Label8: TLabel;
DBLookupComboBox1: TDBLookupComboBox;
Label9: TLabel;
DBLookupComboBox2: TDBLookupComboBox;
Label10: TLabel;
DBLookupComboBox3: TDBLookupComboBox;
DBNavigator1: TDBNavigator;
Panel4: TPanel;
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton3: TRadioButton;
RadioButton2: TRadioButton;
RadioButton4: TRadioButton;
RadioButton5: TRadioButton;
bbtGo: TBitBtn;
bbtCalc: TBitBtn;
DBNavigator2: TDBNavigator;
BitBtn1: TBitBtn;
Label4: TLabel;
DBLookupComboBox4: TDBLookupComboBox;
bbtSelectClient: TBitBtn;
RadioButton6: TRadioButton;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure bbtCalcClick(Sender: TObject);
procedure DBGrid2Enter(Sender: TObject);
procedure bbtGoClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure bbtSelectClientClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmOrder: TfmOrder;
implementation
uses DMUnit, ReportsUnit, DB, ClientUnit;
{$R *.dfm}
procedure TfmOrder.FormShow(Sender: TObject);
begin
DM.dstJobs.Open;
DM.dstMat.Open;
DM.tbPrice.Sort := 'Работа';
DM.tbStore.Sort := 'Наименование';
end;
procedure TfmOrder.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DM.dstJobs.Close;
DM.dstMat.Close;
end;
//Пересчет итоговой суммы по заказу с учетом скидки:
procedure TfmOrder.bbtCalcClick(Sender: TObject);
var
Sum1, Sum2: Currency;
begin
DM.dstOrderJobSum.Parameters.ParamByName('pOrderNum').Value :=
DM.dstOrders.FieldByName('NЗаказа').Value;
DM.dstOrderMatSum.Parameters.ParamByName('pOrderNum').Value :=
DM.dstOrders.FieldByName('NЗаказа').Value;
DM.dstOrderJobSum.Open; //Запрос суммы работ
DM.dstOrderMatSum.Open; //Запрос суммы материалов
try
if not DM.dstOrderJobSum.FieldByName('Sum1').IsNull then
Sum1 := DM.dstOrderJobSum.FieldByName('Sum1').Value
68
else
Sum1 := 0;
if not DM.dstOrderMatSum.FieldByName('Sum1').IsNull then
Sum2 := DM.dstOrderMatSum.FieldByName('Sum1').Value
else
Sum2 := 0;
DM.dstOrders.Edit;
DM.dstOrders.FieldByName('Сумма').Value := Sum1 + Sum2;
DM.dstOrders.Post;
finally
DM.dstOrderJobSum.Close;
DM.dstOrderMatSum.Close;
end;
end;
//Подключение Навигатора к источнику данных, с которым в текущий момент работает
//пользователь:
procedure TfmOrder.DBGrid2Enter(Sender: TObject);
begin
DBNavigator2.DataSource := (Sender As TDBGrid).DataSource;
//Сохранение нового заказа перед добавлением работ или расх. материалов по нему:
if DM.dstOrders.State = dsInsert then
DM.dstOrders.Post;
end;
//Печать выбранного документа:
procedure TfmOrder.bbtGoClick(Sender: TObject);
begin
if RadioButton1.Checked then
begin
Rep_Contract;
Rep_Order;
end
else if RadioButton2.Checked then
Rep_Bill
else if RadioButton3.Checked then
Rep_Act
else if RadioButton4.Checked then
Rep_Fact
else if RadioButton5.Checked then
Rep_Nar
else
begin
Rep_Contract;
Rep_Order;
Rep_Act;
Rep_Bill;
Rep_Fact;
Rep_Nar;
end;
end;
procedure TfmOrder.BitBtn1Click(Sender: TObject);
begin
Close;
end;
//При нажатии кнопки "..." на экран выводится справочник клиентов для выбора и добавления из списка:
procedure TfmOrder.bbtSelectClientClick(Sender: TObject);
begin
fmClients.bbtGo.Visible := True;
if fmClients.ShowModal = mrOK then
begin
if not (DM.dstOrders.State in [dsEdit, dsInsert]) then
DM.dstOrders.Edit;
DM.dstOrders.FieldByName('КлиентID').AsInteger := DM.tbClients.FieldByName('ID').AsInteger;
end;
fmClients.bbtGo.Visible := False;
end;
end.
Программный модуль PostUnit.pas
unit PostUnit;
interface
69
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Grids, DBGrids, DBCtrls, StdCtrls, Buttons;
type
TfmPost = class(TForm)
DBGrid1: TDBGrid;
Panel1: TPanel;
DBNavigator1: TDBNavigator;
BitBtn1: TBitBtn;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmPost: TfmPost;
implementation
uses DMUnit;
{$R *.dfm}
procedure TfmPost.FormShow(Sender: TObject);
begin
DM.tbSpec.Open;
end;
procedure TfmPost.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DM.tbSpec.Close;
end;
procedure TfmPost.BitBtn1Click(Sender: TObject);
begin
Close;
end;
end.
Программный модуль PriceUnit.pas
unit PriceUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Grids, DBGrids, DBCtrls, StdCtrls, Buttons;
type
TfmPrice = 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
fmPrice: TfmPrice;
implementation
uses DMUnit, ReportsUnit, ADODB;
70
{$R *.dfm}
procedure TfmPrice.FormShow(Sender: TObject);
begin
DM.tbPrice.Open;
DM.tbPrice.Sort := 'Работа';
end;
procedure TfmPrice.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DM.tbPrice.Close;
end;
procedure TfmPrice.bbtPrintClick(Sender: TObject);
begin
Rep_Any(DBGrid1, 5, Self.Caption);
end;
//Сортировка данных в таблице по выбранному столбцу:
procedure TfmPrice.DBGrid1TitleClick(Column: TColumn);
begin
try
(DBGrid1.DataSource.DataSet as TADOTable).Sort := Column.FieldName;
except
Application.MessageBox('Сортировка по данному полю невозможна', 'Информация',
MB_OK+MB_ICONINFORMATION)
end;
end;
procedure TfmPrice.BitBtn1Click(Sender: TObject);
begin
Close;
end;
end.
Программный модуль StatUnit.pas
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;
procedure FormCreate(Sender: TObject);
procedure bbtGoClick(Sender: TObject);
procedure bbtCancelClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmStat: TfmStat;
implementation
71
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;
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;
72
DBChart2.Visible := False;
DBChart3.Visible := False;
DBChart4.Visible := True;
DBChart5.Visible := False;
end;
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.
Программный модуль StoreUnit.pas
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
{ 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
73
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.

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

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