dropmefiles.com/173991
Код программы в самом низу
uses
Forms,
UnMenu in ’UnMenu.pas' {FmMenu},
UnLogin in ’UnLogin.pas’ {FmLogin}, UnZayavkain 'UnZayavka.pas' {FmZayavka}, UnDM in 'UnDM.pas' {DM: TDataModule},
UnDisZ in 'UnDisZ.pas' {FmDisZ},
UnDisp in 'UnDisp.pas' {FmDisp},
L’nlsp in ’Unlsp.pas’ {Fmlsp},
UnStatus in 'UnStatus.pas' {FmStatus},
UnPeriod in UnPeriod.pas' {FmPeriod},
UnZPeriod in ’UnZPeriod.pas' {FmZPcriod},
UnZIsp in 'UnZIsp.pas' {FmZlsp};
{SR *.res}
begin
Application.Initializc;
Application.CreateForm(TFmMcnu, FmMenu); Application.CreatcForm(TFmLogin, FmLogin); Application.CreateForm(TFmZayavka, FmZayavka); Application.CreateForm(TDM. DM); Application.CreateForm(TFmDisZ, FmDisZ); Application.CreateForm(TFmDisp, FmDisp); Application.CreateForm(TFmIsp, Fmlsp); Application.CreateForm(TFmStatus, FmStatus); Application.CreateForm(TFmPcriod, FmPeriod); Application.CreateForm(TFmZPeriod, FmZPeriod); Application.CreateForm(TFmZIsp, FmZlsp); Application.Run;
end.
unit UnDisp:
interface uses
Windows. Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, Grids, DBGrids, DBCtrls, StdCtrls, Buttons;
type
TFmDisp = class(TForm)
Panel 1: TPanel;
Panel2: TPanel;
BitBtnl: TBitBtn;
DBNavigatorl: TDBNavigator;
DBGridl: TDBGrid;
private
{ Private declarations } public
{ Public declarations } end;
var
FmDisp: TFmDisp;
implementation
uses UnDM;
{$R*.
end.
unit UnDisZ;
interface
uses
Windows, Messages, SysUtils, Variants, Classes. Graphics, Controls, Forms, Dialogs, ComCtrls, ToolWin, ActnMan, ActnCtrls, ActnMenus, ActnList, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, Buttons;
type
TFmDisZ = class(TForm)
ActionManagerl: TActionManager;
ToolBarl: TToolBar:
Panel 1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
DBNavigatorl: TDBNavigator;
DBGridl: TDBGrid;
RadioGroupl: TRadioGroup;
BitBtnl: TBitBtn;
Panel5: TPanel;
Panel6: TPanel;
Label 1: TLabel;
DBN avigator2: 'I'D BN a v i gator;
DBGrid2: TDBGrid;
Button 1: TButton;
Button2: TButton;
Button3: TButton;
ActZPeriod: TAction;
BitBtn2: TBitBtn;
ActlspPer: TAction;
ActionMainMenuBarl: TActionMainMcnuBar; procedure RadioGroup 1 Cliek(Sender: TObject); procedure BitBtnl Click(Sender: TObject); procedure Button 1 Click(Scnder: TObject); procedure Button2Click(Scnder: TObject); procedure Button3Click(Scndcr: TObject); procedure ActZPeriodExecute(Scndcr: TObject); procedure ActIspPerExecute(Sender: TObject);
private
{ Private declarations } public
{ Public declarations } end;
var
FmDisZ: TFmDisZ:
implementation
uses UnDM, DB, unDisp, Unlsp, IJnStatus, IJnPeriod;
{$R*.dfm}
procedure TFmDisZ.RadioGrouplC’lick(Sender: TObject);
var str: string:
begin
DM.TbZayavkaDis.Filtered := false;
Case RadioGroupl.Itcmlndcx of//Фильтр
0: str//Все заявки
1: str := ’id_disp = ’+QuotedStr(DM.QAccess.FieldByName('id').AsString);
2: str := ’id disp = O':
//Заявка текущего пользователя
end;
DM.TbZayavkaDis.Filter := str;
DM.TbZayavkaDis.Filtered := true;
end;
procedure TFmDisZ.BitBtnlClick(Sender: TObject);
begin
DM .TbZayavkaD i s. Edit;
DM.TbZayavkaDis.FicldByName('id_disp').AsInteger := DM.QAccess.FieldByName('id').AsInteger;
DM.TbZayavkaDi$.FieldByName('date_begin').AsDateTiine := Now(); DM.TbZayavkaDis.Post:
end;
procedure TFmDisZ.ButtonlClick(Sender: TObject);
begin
FmDisp.ShowModal;
end;
procedure TFmDisZ.Button2Click(Sendcr: TObject):
begin
Fmlsp.ShowModal;
end;
procedure TFmDisZ,Butlon3Click(Sender: TObject);
begin
FmStatus.ShovvModal;
end;
procedure TFmDisZ.ActZPeriodExecute(Sendcr: TObject);
begin
FmPeriod.Caption := 'Заявки за заданный период времени'; FmPcriod.ShowModal;
end;
procedure TFmDisZ.ActIspPerExecute(Sender: TObject);
begin
FmPeriod.Caption := 'Работа исполнителей за заданный период времени'; FmPcriod.ShowModal; end;
end.
unit UnDM;
interface uses
SysUtils, Classes, DB, ADODB:
type
TDM = class(TDataModule)
ADOC: TADOConnection;
TbZayavkaCl: TADOTablc; TbZayavkaClid: TAutoIncField; TbZayavkaCIFio: TWideStringField; TbZayavkaCl Datez: TDateTimeField; TbZayavkaClProblcm: TWideStringField; TbZayavkaClid_status: TIntegerField; TbZayavkaClDate_bcgin: TDateTimeField; TbZayavkaClDate_end: TDateTimeField; TbZayavkaClAdress: TWideStringField; TbZayavkaCITel: TWideStringField; TbZayavkaCINote: TWideStringField; TbZayavkaClid_disp: TIntegerField; DSZayavkaCl: TDataSource;
TbStatus: TADOTable;
TbStatusid: TAutoIncField;
TbStatusStatus: TWideStringField; DSStatus: TDataSource;
TbDisp: TADOTable;
DSDisp: TDataSource;
DSIsp: TDataSource;
DSWork: TDataSource;
Tblsp: TADOTable;
TbDispID: TAutoIncField;
TbDispLogin: TWideStringField; TbDispPass: TWideStringField;
TbDispFio: TWideStringField;
TbDispNote: TWideStringField;
TbZayavkaClDisp: TStringField;
TbZayavkaC 1 Status: TStringField;
TbWork: TADOTable;
TbZayavkaDi$: TADOTab I e;
Tblspid: TWordField;
TblspFio: TWideStringField;
TblspNote: TWideStringField;
TbWorkid: TWordField;
TbWorkid uchct: TIntegerField;
TbWorkidisp: TWordField;
TbWorkname: TWideStringField;
TbWorkCost: TRCDField;
TbWorkNote: TWideStringField;
DSZayavkaDis: TDataSource;
TbZayavkaDisid: TAutolncField;
TbZayavkaDisFio: TWideStringField; TbZayavkaDisAdrcss: TWideStringField; TbZayavkaDisTel: TWideStringField;
TbZayavkaDisid disp: TIntegerField; TbZayavkaDisDatez: TDateTimeFicld; TbZavavkaDisProblem: TWideStringField; TbZayavkaDisid status; TIntegerField; TbZayavkaDisDate begin: TDatcTimeField; TbZayavkaDisDate_end: TDatcTimeField;
TbZayavkaDisNote: T WideStringField;
QAccess: TADOQuery;
QAccessid: TAutolncField;
TbZayavkaDisDisp: TStringField;
TbZayavkaDisStatus: TStringField;
QAccessfio: TWideStringField;
TbWorklsp: TStringField;
QZpcriod: TADOQuery;
DSZPeriod: TDataSource;
DSZIsp: TDataSource;
QZpcrioddispetcher_Fio: TWideStringField; QZperiodStatus: TWideStringField;
QZperioduchet_Fio: TWideStringField; QZperiodAdress: TWideStringField;
QZpcriodDatc_z: TDatcTimeField;
QZperiodProblcm: TWideStringField;
QZIsp: TADOQuery;
QZIspCountidisp: TIntegerField;
QZIspFio: TWideStringField;
QZIspNote: TWideStringField;
QZIspid: TAutolncField;
QZIspDatebegin: TDateTimeField;
QZIspDate_end: TDateTimeField;
procedure TbZayavkaClAflerInsert(DataSet: TDataSet);
private
{ Private declarations} public
{ Public declarations} end;
var
DM: TDM;
implementation
{$R *.dfm}
procedure TDM.TbZavavkaClAfterInsert(DataSet: TDataSet): begin
DM.TbZayavkaCLFieldByName('Dale_z').AsDateTimeNow; end;
end.
unit Unlsp;
interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, DBCtrls, StdCtrls, Buttons, ExtCtrls;
type
TFmlsp = class(TForm)
Panel 1: TPanel;
BitBtnl: TBitBtn;
Panel2: TPanel;
DBNavigatorl: TDBNavigator;
DBGridf: TDBGrid;
private
{ Private declarations } public
{ Public declarations } end;
var
Fmlsp: TFmlsp;
implementation uses UnD.M; {$R*.dfm}
end.
unit UnLogin;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms. Dialogs, StdCtrls, Buttons;
type
TFmLogin = class(TForm)
EditLog: TEdit;
EditPass: TEdit;
BitBtnOK: TBitBtn;
BitBtnCancel: TBitBtn;
procedure BitBtnCancelC1iek(Sender: TObject); procedure BitBtnOKClick(Sender: TObject);
private
{ Private declarations } public
{ Public declarations } end;
var
FmLogin: TFmLogin; implementation
uses UnDM, UnDisZ;
{$R *.dfm}
procedure TFmLogin.BitBtnCancelClick(Scndcr: TObject);
begin
Close;
end;
procedure TFmLogin.BitBtnOKClick(Sender: TObject);
begin
DM.QAccess.Close;
DM.QAccess.ParametersfO].Value := EditLog.Text;
DM.QAccess.Parameters[l],Value := EditPass.Tcxt;
DM.QAcccss.Open; /.•'Запрос по логину и паролю
if DM.QAccess.FieldByName('id').AsString — " then begin
ShowMessage('HeBepHbm логин/пароль!'); end
else
begin
FmLogin.IIidc;
FmDisZ.Caption := 'Работа в системе | '+DM.QAccess.FieldByName('fio').AsString; FmDisZ.ShowModal;
end;
end;
end.
unit UnMcnu;
interface
uses
Windows, Messages. SysUtils, Variants. Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;
type
TFmMenu = class(TForm)
BitBtnl: TBitBtn;
BitBtn2: TBitBtn;
procedure BitBtn2Click(Sender: TObject); procedure BitBtnlClick(Scndcr: TObject);
private
{ Private declarations } public
{ Public declarations } end;
var
FmMenu: TFmMenu;
implementation
uses UnLogin, UnZayavka;
{$R *.dfmy
procedure TFmMenu.BitBtn2Click(Sender: TObject); begin
FmLogin.Show;
end;
procedure TFmMenu.BitBtnlClick(Sender: TObject); begin
FmZayavka.ShowModal; end;
end.
unit UnPeriod;
interface
uses
Windows, Messages, SyslJtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ComCtrls;
type
TFmPeriod = class(TForm)
DateTimePickerl: TDatcTimePicker;
DateTimePicker2: TDateTimePicker;
Label 1: TLabel;
Label2: TLabel;
BitBtnl: TBitBtn;
procedure BitBtn lClick(Sendcr: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
EmPeriod: TFmPeriod:
implementation
uses UnDM, UnZPeriod, UnZIsp;
{SR *.dfm{
procedure TFmPeriod.BitBtn 1 Click(Sender: TObject);
var i: integer;
begin
If FmPeriod.Caption = ’Заявки за заданный период времени' then begin
I)M.QZperiod.Active := false:
DM.QZperiod.Parameters[0].Value := DateTimePickerl .Date: DM.QZperiod.Paramcters[lJ.Value := DateTimcPickcr2.Date;
DM.QZperiod.Active := true:
FmZPeriod.Caption := 'Заявки за период c ’-Date IoStr(DateTimePickcrl .Date)+' no ’+DateToStr(DateTimePicker2.Date);
FmZPeriod.ShowModal;
end;
If FmPeriod.Caption = 'Работа исполнителей за заданный период времени' then begin
DM.QZIsp.Active := false;
D\l.QZIsp.Parameters[O].Value := DateTimePickerl .Date;
DM.QZIsp.Paramctcrs[lJ.Value := DateTimePicker2.Datc;
DM.QZIsp.Active := true;
FmZIsp.Caption := 'Работа исполнителей за период с '+DateToStr(DatcTimcPickerl.Date)+ 1по '•DateToStr(DatcTimePicker2.Date);
FmZIsp.DBChartl .SeriesfO].Clear; //Удалем все имеющиеся диаграммы FmZIsp.DBChartl.Тп1е.ТсхтС1еаг;//Удаляем текст
FmZIsp.DBChartl.Tille.Text.Add(’Ko.4H4ecTBO выполненных работ исполнителем’) DM.QZIsp. First;
for i := 0 to DM.QZIsp.RecordCount -1 do .7 begin
FmZIsp.DBChartl.Series[0].Add(DM.QZIsp.FieldByName(’Count-id_isp'). Value, DM.QZIsp.FicldByName('Eio’).AsString -#13 .);
//Вывод значений и подписей в цикле,
DM.QZIsp.Next;
end;
FmZIsp.DBChartl .Repaint; FmZIsp.Sho wModal:
end;
end;
end.
unit UnStatus;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics. Controls. Forms. Dialogs, Grids, DBGrids, DBClrls, StdCtrls, Buttons, ExtCtrls;
type
TFmStatus = class(TForm)
Panel 1: TPanel;
BitBtnl: TBitBtn;
Panel2: TPanel;
DBNavigatorl: TDBNavigator; DBGridl: TDBGrid;
private
{ Private declarations } public
{ Public declarations } end;
var
FmStatus: TFmStatus;
implementation uses UnDM;
{$R *.dfin}
end.
unit UnZayavka;
interface
uses
Windows, Messages. SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DBCtrls, ExtCtrls. Grids, DBGrids, StdCtrls. DB;
type
TFmZayavka = class(TForni)
Panel 1: TPancl;
Panel2: IPanel;
DBNavigatorl: TDBNavigator;
DBGridl: TDBGrid;
Panel3: TPanel;
Panel4: TPancl;
RadioGroupl: TRadioGroup;
EditFind: TEdit;
Label LTLabel;
RadioGroup2: TRadioGroup:
EditFilter: TEdit;
Labcl2: TLabcl;
CheckBox 1: TCheckBox;
procedure EditFindChange(Sender: TObject);
procedure EditFilterChange(Sender: TObjcct);
procedure CheckBox lClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction):
private
{ Private declarations } public
{ Public declarations} end;
var
FmZayavka: TFmZayavka;
implementation
uses UnDM;
{SR *.dfm}
procedure TFmZayavka.EditFindChangc(Scnder: TObjcct):
begin
Case RadioGroupl. Itemlndex of//Поиск по различным криетериям О: DM.TbZayavkaCl.LocatefFio’, EditFind.Text,[loCaseInsensitive, loPartialKey]);
1 :DM.TbZayavkaCl. I,ocate('Adress\ EditFind.Text,[loCaseIn$ensitive, loPartialKey]);
2: DM.TbZayavkaCl.Locate(Tel', EditFind.TcxtJloCascInscnsitivc, loPartialKey]): end;
end;
procedure TFmZayavka.EditFilterChange(Sender: TObject);
var str: string;
begin
DM.TbZayavkaCl.Filtered := false: if EditFilter.Text о " then begin
Case RadioGroup2.Itemlndex of //Поиск по различным криетериям О: str := 'Fio LIKE '+QuotedStr(EditFilter.Text+'*');
1: str := 'Adress LIKE '+QuotedStr(EditFilter.Text+'*');
2: str := 'Tel LIKE '+QuotedStr(EditFilter.Text+'*'); end;
DM.TbZayavkaCl. Filter := str;
DM.TbZayavkaCl.Filtered true; end;
end;
procedure TFmZayavka.ChcckBox 1 Click(Sender: TObject);
begin
if Checkbox 1.Checked then begin
RadioGroup2.Enabled := false;
EditFilter.Enabled false:
EditFilter.Color := clMcnu;
Label2.Enabled := false;
DM.TbZayavkaCl.Filtercd := false;
DM. TbZayavkaCl. Filter ";
DM.TbZayavkaCl.Filtcred := true;
end
else
begin
RadioGroup2.Enabled := true;
EditFilter.Enabled := true;
EditFilter.Color := cl Window;
Label2.Enabled := true;
EditFilter.OnChange(Sclf);
end;
end;
procedure TFmZayavka.FormClose(Sender: TObject; var Action: TClose Action); begin
DM .TbZayavkaCl. СI ose;
DM .TbZayavkaCl.Open:
end;
end.
unit UnZIsp;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics. Controls, Forms, Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, TeeProcs, TeEngine, Chart, DbChart, Series;
type
TFmZIsp = class(TFomi)
Panel 1: TPanel;
Panel2: TPanel;
DBGridl: TDBGrid; DBNavigatorl: TDBNavigator; DBChartl: TDBChart;
Series 1: TPieSeries;
private
{ Private declarations } public
{ Public declarations} end;
var
FmZIsp: TFmZIsp;
implementation uses UnDM;
{SR. *.dfm{
end.
unit UnZPeriod;
interface
Powered by Victor Lyuft
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms. Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids;
type
TFmZPeriod = class(TForm)
DBNavigatorl: TDBNavigator;
DBGridl: TDBGrid;
private
{ Private declarations } public
{ Public declarations} end;
var
FmZPeriod: TFmZPeriod;
implementation
uses UnDM;
{$R *.dfm}
end.
|
|||||||||||
|
|||||||||||
|