192 lines
4.5 KiB
ObjectPascal
192 lines
4.5 KiB
ObjectPascal
unit U_SysLogHelp2;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter,
|
||
cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, strUtils,
|
||
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
|
||
cxControls, cxGridCustomView, cxGrid, ADODB, StdCtrls, ExtCtrls, ImgList,
|
||
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator;
|
||
|
||
type
|
||
TfrmSysLogHelp2 = class(TForm)
|
||
ToolBar1: TToolBar;
|
||
TQry: TToolButton;
|
||
Tclose: TToolButton;
|
||
ADOQueryLog: TADOQuery;
|
||
DataSource1: TDataSource;
|
||
ADOConnection1: TADOConnection;
|
||
cxGrid1: TcxGrid;
|
||
tv1: TcxGridDBTableView;
|
||
tv1OperMan: TcxGridDBColumn;
|
||
tv1jopertime: TcxGridDBColumn;
|
||
tv1Model: TcxGridDBColumn;
|
||
tv1acction: TcxGridDBColumn;
|
||
cxGridLevel1: TcxGridLevel;
|
||
tv1Opevent: TcxGridDBColumn;
|
||
tv1Result: TcxGridDBColumn;
|
||
Panel1: TPanel;
|
||
Label2: TLabel;
|
||
Label1: TLabel;
|
||
begDate: TDateTimePicker;
|
||
endDate: TDateTimePicker;
|
||
Label3: TLabel;
|
||
edt_model: TEdit;
|
||
CheckBox1: TCheckBox;
|
||
Label4: TLabel;
|
||
edt_nr: TEdit;
|
||
ThreeImgList: TImageList;
|
||
ToolButton1: TToolButton;
|
||
procedure TcloseClick(Sender: TObject);
|
||
procedure FormCreate(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure TQryClick(Sender: TObject);
|
||
procedure edt_modelChange(Sender: TObject);
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure ToolButton1Click(Sender: TObject);
|
||
private
|
||
procedure DoQuery();
|
||
procedure DoFilter();
|
||
public
|
||
fModel, facction: string;
|
||
fOtherWhere: string;
|
||
end;
|
||
|
||
var
|
||
frmSysLogHelp2: TfrmSysLogHelp2;
|
||
|
||
implementation
|
||
|
||
uses
|
||
U_DataLink, U_Fun;
|
||
{$R *.dfm}
|
||
|
||
procedure TfrmSysLogHelp2.TcloseClick(Sender: TObject);
|
||
begin
|
||
close;
|
||
end;
|
||
|
||
procedure TfrmSysLogHelp2.FormCreate(Sender: TObject);
|
||
begin
|
||
cxGrid1.Align := alClient;
|
||
begDate.DateTime := date - 31;
|
||
endDate.DateTime := date;
|
||
with ADOConnection1 do
|
||
begin
|
||
Connected := false;
|
||
ConnectionString := DConString;
|
||
Connected := true;
|
||
end;
|
||
end;
|
||
/////////////////////////////////////////////////////////
|
||
//
|
||
////////////////////////////////////////////////////////
|
||
|
||
procedure TfrmSysLogHelp2.DoQuery();
|
||
var
|
||
mbegdate, menddate: string;
|
||
begin
|
||
mbegdate := formatDatetime('yyyy-MM-dd', begDate.Date); //
|
||
menddate := formatDatetime('yyyy-MM-dd', endDate.Date + 1);
|
||
try
|
||
with ADOQueryLog do
|
||
begin
|
||
close;
|
||
sql.clear;
|
||
filtered := false;
|
||
sql.add('select A.* ');
|
||
sql.add('from SY_sysLog A');
|
||
if CheckBox1.Checked then
|
||
begin
|
||
sql.Add('where OperTime>=' + quotedStr(mbegdate));
|
||
sql.Add('and OperTime<' + quotedStr(menddate));
|
||
end
|
||
else
|
||
begin
|
||
sql.Add('where 1=1');
|
||
end;
|
||
if trim(fModel) <> '' then
|
||
sql.add('and Model=' + quotedStr(fModel));
|
||
if trim(facction) <> '' then
|
||
sql.add('and acction=' + quotedStr(facction));
|
||
if trim(fOtherWhere) <> '' then
|
||
begin
|
||
sql.add(fOtherWhere);
|
||
end;
|
||
sql.Add('order by operOr,Opertime');
|
||
Open;
|
||
end;
|
||
finally
|
||
end;
|
||
end;
|
||
///////////////////////////////////////////////////////////
|
||
//
|
||
///////////////////////////////////////////////////////////
|
||
|
||
procedure TfrmSysLogHelp2.DoFilter();
|
||
var
|
||
filterStr: string;
|
||
begin
|
||
filterStr := '';
|
||
//
|
||
if trim(edt_model.text) <> '' then
|
||
begin
|
||
filterStr := ' and model =' + quotedStr(trim(edt_model.text));
|
||
end;
|
||
if trim(edt_nr.text) <> '' then
|
||
begin
|
||
filterStr := ' and OpEvent like ' + quotedStr('%' + trim(edt_nr.text) + '%');
|
||
end;
|
||
|
||
try
|
||
ADOQueryLog.DisableControls;
|
||
if trim(filterStr) = '' then
|
||
begin
|
||
ADOQueryLog.Filtered := false;
|
||
exit;
|
||
end;
|
||
filterStr := trim(RightBStr(filterStr, length(filterStr) - 4));
|
||
with ADOQueryLog do
|
||
begin
|
||
filtered := false;
|
||
filter := filterStr;
|
||
filtered := true;
|
||
end;
|
||
finally
|
||
ADOQueryLog.EnableControls;
|
||
end;
|
||
|
||
end;
|
||
|
||
procedure TfrmSysLogHelp2.FormShow(Sender: TObject);
|
||
begin
|
||
DoQuery();
|
||
end;
|
||
|
||
procedure TfrmSysLogHelp2.TQryClick(Sender: TObject);
|
||
begin
|
||
DoQuery();
|
||
end;
|
||
|
||
procedure TfrmSysLogHelp2.edt_modelChange(Sender: TObject);
|
||
begin
|
||
DoFilter();
|
||
end;
|
||
|
||
procedure TfrmSysLogHelp2.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
Action := cafree;
|
||
end;
|
||
|
||
procedure TfrmSysLogHelp2.ToolButton1Click(Sender: TObject);
|
||
begin
|
||
if ADOQueryLog.IsEmpty then
|
||
exit;
|
||
TcxGridToExcel('<27><>Ʒ<EFBFBD><C6B7>Ϣ<EFBFBD><EFBFBD>', cxGrid1);
|
||
end;
|
||
|
||
end.
|
||
|