RtTool/Delphi7/开发档案/马国钢开发代码/ThreeFun/Form/U_SysLogHelp.pas

181 lines
4.1 KiB
ObjectPascal
Raw Permalink Normal View History

2024-12-23 17:08:59 +08:00
unit U_SysLogHelp;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter,
2025-01-08 11:55:07 +08:00
cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel,strUtils,
2024-12-23 17:08:59 +08:00
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
2025-01-08 11:55:07 +08:00
cxControls, cxGridCustomView, cxGrid, ADODB, StdCtrls, ExtCtrls, ImgList;
2024-12-23 17:08:59 +08:00
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
2025-01-08 11:55:07 +08:00
fModel,facction:string;
fOtherWhere:string;
2024-12-23 17:08:59 +08:00
end;
var
frmSysLogHelp: TfrmSysLogHelp;
implementation
uses
U_DataLink;
{$R *.dfm}
procedure TfrmSysLogHelp.TcloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmSysLogHelp.FormCreate(Sender: TObject);
begin
2025-01-08 11:55:07 +08:00
cxGrid1.Align :=alClient;
begDate.DateTime :=date-31;
endDate.DateTime :=date;
2024-12-23 17:08:59 +08:00
with ADOConnection1 do
begin
2025-01-08 11:55:07 +08:00
Connected:=false;
ConnectionString:=DConString;
Connected:=true;
end;
2024-12-23 17:08:59 +08:00
end;
/////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////
procedure TfrmSysLogHelp.DoQuery();
var
2025-01-08 11:55:07 +08:00
mbegdate,menddate:string;
2024-12-23 17:08:59 +08:00
begin
2025-01-08 11:55:07 +08:00
mbegdate:=formatDatetime('yyyy-MM-dd',begDate.Date); //
menddate:=formatDatetime('yyyy-MM-dd',endDate.Date+1);
2024-12-23 17:08:59 +08:00
try
with ADOQueryLog do
begin
close;
sql.clear;
2025-01-08 11:55:07 +08:00
filtered:=false;
2024-12-23 17:08:59 +08:00
sql.add('select A.* ');
sql.add('from SY_sysLog A');
if CheckBox1.Checked then
begin
2025-01-08 11:55:07 +08:00
sql.Add('where OperTime>='+quotedStr(mbegdate));
sql.Add('and OperTime<'+quotedStr(menddate));
2024-12-23 17:08:59 +08:00
end
else
begin
sql.Add('where 1=1');
end;
2025-01-08 11:55:07 +08:00
if trim(fModel)<>'' then
sql.add('and Model='+quotedStr(fModel));
if trim(facction)<>'' then
sql.add('and acction='+quotedStr(facction));
if trim(fOtherWhere)<>'' then
2024-12-23 17:08:59 +08:00
begin
sql.add(fOtherWhere);
end;
sql.Add('order by operOr,Opertime');
Open;
end;
finally
end;
end;
///////////////////////////////////////////////////////////
//
///////////////////////////////////////////////////////////
procedure TfrmSysLogHelp.DoFilter();
var
2025-01-08 11:55:07 +08:00
filterStr:string;
2024-12-23 17:08:59 +08:00
begin
2025-01-08 11:55:07 +08:00
filterStr:='';
2024-12-23 17:08:59 +08:00
//
2025-01-08 11:55:07 +08:00
if trim(edt_model.text)<>'' then
2024-12-23 17:08:59 +08:00
begin
2025-01-08 11:55:07 +08:00
filterStr:=' and model ='+quotedStr(trim(edt_model.text));
2024-12-23 17:08:59 +08:00
end;
2025-01-08 11:55:07 +08:00
if trim(edt_nr.text)<>'' then
2024-12-23 17:08:59 +08:00
begin
2025-01-08 11:55:07 +08:00
filterStr:=' and OpEvent like '+quotedStr('%'+trim(edt_nr.text)+'%');
2024-12-23 17:08:59 +08:00
end;
try
2025-01-08 11:55:07 +08:00
ADOQueryLog.DisableControls ;
if trim(filterStr)='' then
2024-12-23 17:08:59 +08:00
begin
2025-01-08 11:55:07 +08:00
ADOQueryLog.Filtered:=false;
2024-12-23 17:08:59 +08:00
exit;
end;
2025-01-08 11:55:07 +08:00
filterStr:=trim(RightBStr(filterStr,length(filterStr)-4));
2024-12-23 17:08:59 +08:00
with ADOQueryLog do
begin
2025-01-08 11:55:07 +08:00
filtered:=false;
filter:=filterStr;
filtered:=true;
2024-12-23 17:08:59 +08:00
end;
finally
ADOQueryLog.EnableControls;
end;
end;
2025-01-08 11:55:07 +08:00
2024-12-23 17:08:59 +08:00
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;
2025-01-08 11:55:07 +08:00
procedure TfrmSysLogHelp.FormClose(Sender: TObject;
var Action: TCloseAction);
2024-12-23 17:08:59 +08:00
begin
2025-01-08 11:55:07 +08:00
action:=cafree;
2024-12-23 17:08:59 +08:00
end;
end.