Диплом: Автоматизация документооборота отдела по работе с клиентами для ООО "РАСТР"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
108
For i:=0 To a.Count-1 Do
MySQL.Query(a[i], nil);
a.LoadFromFile('insert.sql');
For i:=0 To a.Count-1 Do
MySQL.Query(a[i], nil);
MySQL.Free;
a.Free;
end.
Dm.pas
unit dm;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Dialogs,
IBConnection, sqldb, db, ZConnection, ZDataset;
type
{ Tdm1 }
Tdm1 = class(TDataModule)
ibc1: TZConnection;
qLogin: TZQuery;
qNaryad: TZQuery;
qReport: TZQuery;
qDogovor: TZQuery;
qInet: TZQuery;
qTv: TZQuery;
qIp: TZQuery;
qClients: TZQuery;
qPersonal: TZQuery;
qUchastok: TZQuery;
qOplata: TZQuery;
qZayavka: TZQuery;
procedure DataModuleCreate(Sender: TObject);
109
procedure qClientsBeforePost(DataSet: TDataSet);
procedure qDogovorAfterPost(DataSet: TDataSet);
procedure qOplataAfterPost(DataSet: TDataSet);
procedure qPersonalAfterPost(DataSet: TDataSet);
procedure qPersonalBeforePost(DataSet: TDataSet);
procedure qZayavkaAfterPost(DataSet: TDataSet);
private
{ private declarations }
function ToStr(V: Extended): string;
public
{ public declarations }
end;
var
dm1: Tdm1;
implementation
{ Tdm1 }
Uses DateUtils, zayavka, naryad, oplata, uchastok;
//Правильное преобразование в строку
function Tdm1.ToStr(V: Extended): string;
Var
s: string;
Begin
Str(V:10:2, s);
ToStr:=Trim(s);
End;
//Выставление уровня доступа вновь введённому сотруднику
procedure Tdm1.qZayavkaAfterPost(DataSet: TDataSet);
begin
//Для формы Наряды
frmNaryad.DBGrid1.Columns.Items[1].PickList.Add(DataSet.FieldByName('z
ayavka_code').AsString);
qZayavka.Refresh;
110
end;
procedure Tdm1.DataModuleCreate(Sender: TObject);
Var
i: Integer;
query: string;
begin
ibc1.Database:='rastrnet.db3';
ibc1.Connect;
qNaryad.Open;
qInet.Open;
qTv.Open;
qIp.Open;
qClients.Open;
qPersonal.Open;
qUchastok.Open;
qOplata.Open;
qZayavka.Open;
qDogovor.Open;
//Снятие ежедневной абонентской платы
qDogovor.First;
For i:=0 To qDogovor.RecordCount-1 Do
Begin
If qDogovor.FieldByName('date_spisan').AsString<>DateToStr(Now) Then
Begin
qInet.Locate('tarif_code',
qDogovor.FieldByName('tarif_internet_code').Value, []);
query:='UPDATE dogovor SET schet=schet-';
query:=query+ToStr(qInet.FieldByName('abon_plata').AsFloat/DaysInMonth(Now));
query:=query+', date_spisan=CURRENT_DATE';
query:=query+' WHERE
dogovor_code='+qDogovor.FieldByName('dogovor_code').AsString;
111
ibc1.ExecuteDirect(query);
End;
qDogovor.Next;
End;
qDogovor.Refresh;
qReport.Open;
end;
procedure Tdm1.qClientsBeforePost(DataSet: TDataSet);
begin
frmZayavka.DBGrid1.Columns.Items[3].PickList.Add(DataSet.FieldByName('f
amily').AsString+' '+
DataSet.FieldByName('name').AsString+' '+
DataSet.FieldByName('name2').AsString);
end;
procedure Tdm1.qDogovorAfterPost(DataSet: TDataSet);
begin
frmOplata.DBGrid1.Columns.Items[1].PickList.Add(DataSet.FieldByName('do
govor_code').AsString);
qDogovor.Refresh;
end;
procedure Tdm1.qOplataAfterPost(DataSet: TDataSet);
Var
query: string;
begin
query:='UPDATE dogovor SET
schet=schet+'+DataSet.FieldByName('summ').AsString+
' WHERE
dogovor_code='+DataSet.FieldByName('dogovor_code').AsString;
ibc1.ExecuteDirect(query);
qDogovor.Refresh;
end;
procedure Tdm1.qPersonalAfterPost(DataSet: TDataSet);
112
begin
//Для формы заявок
frmZayavka.DBGrid1.Columns.Items[2].PickList.Add(DataSet.FieldByName('f
amily').AsString+' '+
DataSet.FieldByName('name').AsString);
//Для формы нарядов
frmNaryad.DBGrid1.Columns.Items[4].PickList.Add(DataSet.FieldByName('fa
mily').AsString+' '+
DataSet.FieldByName('name').AsString);
//Для формы Оплата
//Для формы Участки
frmUchastok.DBGrid1.Columns.Items[1].PickList.Add(DataSet.FieldByName('
family').AsString+' '+
DataSet.FieldByName('name').AsString);
end;
procedure Tdm1.qPersonalBeforePost(DataSet: TDataSet);
begin
If DataSet.FieldByName('doljnost').AsString = 'Администратор' Then
DataSet.FieldByName('accesslvl').AsInteger:= 1;
If DataSet.FieldByName('doljnost').AsString = 'Начальник отдела' Then
DataSet.FieldByName('accesslvl').AsInteger:= 2;
If DataSet.FieldByName('doljnost').AsString = 'Менеджер' Then
DataSet.FieldByName('accesslvl').AsInteger:= 3;
If DataSet.FieldByName('doljnost').AsString = 'Диспетчер' Then
DataSet.FieldByName('accesslvl').AsInteger:= 4;
If DataSet.FieldByName('doljnost').AsString = 'Монтажник' Then
DataSet.FieldByName('accesslvl').AsInteger:= 5;
end;
initialization
{$I dm.lrs}
end.
113
Dogovor.pas
unit dogovor;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
db, StdCtrls, ExtCtrls, ComCtrls, DbCtrls;
type
{ TfrmDogovor }
TfrmDogovor = class(TForm)
btnOk: TButton;
btnCancel: TButton;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
dsViewcli: TDatasource;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Label1: TLabel;
Label10: TLabel;
Label11: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Panel1: TPanel;
114
StatusBar1: TStatusBar;
procedure btnCancelClick(Sender: TObject);
procedure btnInetClick(Sender: TObject);
procedure btnIpClick(Sender: TObject);
procedure btnLoginClick(Sender: TObject);
procedure btnOkClick(Sender: TObject);
procedure btnPrintClick(Sender: TObject);
procedure btnTvClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
frmDogovor: TfrmDogovor;
implementation
Uses tarif, dm, ip, prints, clientlogin;
{ TfrmDogovor }
//Кнопка выбор тарифа Интернет
procedure TfrmDogovor.btnInetClick(Sender: TObject);
begin
If frmTarif.ShowModal=mrOk Then
Begin
//tarif.frmTarif.pcTarif.ActivePage:=tarif.frmTarif.tsInet;
dm1.ibc1.ExecuteDirect('UPDATE dogovor SET
tarif_internet_code='+dm1.qInet.FieldByName('tarif_code').AsString+
' WHERE
dogovor_code='+dm1.qDogovor.FieldByName('dogovor_code').AsString);
dm1.qDogovor.Refresh;
dm1.qDogovor.Last;
End;
115
end;
procedure TfrmDogovor.btnCancelClick(Sender: TObject);
begin
If Pos('Новый договор', frmDogovor.Caption)>0 Then
Begin
dm1.ibc1.ExecuteDirect('DELETE FROM dogovor WHERE
dogovor_code='+dm1.qDogovor.FieldByName('dogovor_code').AsString);
dm1.qDogovor.Refresh;
dm1.qDogovor.Last;
End;
frmDogovor.Hide;
end;
//Кнопка выбор IP
procedure TfrmDogovor.btnIpClick(Sender: TObject);
Var
query: string;
begin
If frmIp.ShowModal=mrOk Then
Begin
query:='UPDATE dogovor SET
ipadr="'+dm1.qIp.FieldByName('ip').AsString+'"'+
' WHERE
dogovor_code='+dm1.qDogovor.FieldByName('dogovor_code').AsString;
dm1.ibc1.ExecuteDirect(query);
dm1.qDogovor.Refresh;
dm1.qDogovor.Last;
dm1.qIp.Edit;
dm1.qIp.FieldByName('zanyato').AsInteger:=1;
dm1.qIp.Post;
End;
end;
procedure TfrmDogovor.btnLoginClick(Sender: TObject);
116
begin
frmClientlogin.edLogin.Text:=dm1.qDogovor.FieldByName('login').AsString;
frmClientlogin.edPass.Text:=dm1.qDogovor.FieldByName('pass').AsString;
If frmClientlogin.ShowModal=mrOk Then
Begin
dm1.ibc1.ExecuteDirect('UPDATE dogovor SET
login="'+frmClientlogin.edLogin.Text+'",'+
' pass="'+frmClientlogin.edPass.Text+'"'+
' WHERE
dogovor_code='+dm1.qDogovor.FieldByName('dogovor_code').AsString);
dm1.qDogovor.Refresh;
dm1.qDogovor.Last;
End;
end;
procedure TfrmDogovor.btnOkClick(Sender: TObject);
begin
frmDogovor.Hide;
end;
procedure TfrmDogovor.btnPrintClick(Sender: TObject);
begin
PrintDogovor;
end;
//Кнопка выбора тарифа ТВ
procedure TfrmDogovor.btnTvClick(Sender: TObject);
begin
//tarif.frmTarif.pcTarif.ActivePage:=tarif.frmTarif.tsTv;
If frmTarif.ShowModal=mrOk Then
Begin
dm1.ibc1.ExecuteDirect('UPDATE dogovor SET
tarif_tv_code='+dm1.qTv.FieldByName('tarif_code').AsString+
' WHERE
dogovor_code='+dm1.qDogovor.FieldByName('dogovor_code').AsString);
117
dm1.qDogovor.Refresh;
dm1.qDogovor.Last;
End;
end;
initialization
{$I dogovor.lrs}
end.
Ip.pas
unit ip;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
ExtCtrls, ComCtrls, StdCtrls, DBGrids, db;
type
{ TfrmIp }
TfrmIp = class(TForm)
btnOk: TButton;
btnCancel: TButton;
dsIp: TDatasource;
DBGrid1: TDBGrid;
Panel1: TPanel;
StatusBar1: TStatusBar;
procedure FormShow(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
frmIp: TfrmIp;

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

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