181 lines
4.1 KiB
ObjectPascal
181 lines
4.1 KiB
ObjectPascal
unit U_SysLogHelp;
|
|
|
|
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;
|
|
|
|
type
|
|
TfrmSysLogHelp = 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;
|
|
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);
|
|
private
|
|
procedure DoQuery();
|
|
procedure DoFilter();
|
|
public
|
|
fModel,facction:string;
|
|
fOtherWhere:string;
|
|
end;
|
|
|
|
var
|
|
frmSysLogHelp: TfrmSysLogHelp;
|
|
|
|
implementation
|
|
uses
|
|
U_DataLink;
|
|
{$R *.dfm}
|
|
|
|
procedure TfrmSysLogHelp.TcloseClick(Sender: TObject);
|
|
begin
|
|
close;
|
|
end;
|
|
|
|
procedure TfrmSysLogHelp.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 TfrmSysLogHelp.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 TfrmSysLogHelp.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 TfrmSysLogHelp.FormShow(Sender: TObject);
|
|
begin
|
|
DoQuery();
|
|
end;
|
|
|
|
procedure TfrmSysLogHelp.TQryClick(Sender: TObject);
|
|
begin
|
|
DoQuery();
|
|
end;
|
|
|
|
procedure TfrmSysLogHelp.edt_modelChange(Sender: TObject);
|
|
begin
|
|
DoFilter();
|
|
end;
|
|
|
|
procedure TfrmSysLogHelp.FormClose(Sender: TObject;
|
|
var Action: TCloseAction);
|
|
begin
|
|
action:=cafree;
|
|
end;
|
|
|
|
end.
|