328 lines
8.3 KiB
ObjectPascal
328 lines
8.3 KiB
ObjectPascal
unit U_SysLogList;
|
||
|
||
interface
|
||
|
||
uses
|
||
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
||
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics, cxControls, cxLookAndFeels,
|
||
cxLookAndFeelPainters, cxStyles, cxCustomData,Vcl.Clipbrd,
|
||
cxFilter, cxData, cxDataStorage, cxEdit, cxNavigator, dxDateRanges,
|
||
dxScrollbarAnnotations, Data.DB, cxDBData, cxGridLevel, cxGridCustomTableView,
|
||
cxGridTableView, cxGridDBTableView, cxClasses, cxGridCustomView, cxGrid,
|
||
Vcl.StdCtrls, Vcl.ComCtrls, Vcl.ExtCtrls, Vcl.ToolWin, cxContainer,
|
||
cxDateUtils, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxCalendar,System.StrUtils ,
|
||
System.ImageList, Vcl.ImgList, cxImageList, Data.Win.ADODB, dxBarBuiltInMenu,
|
||
cxGridCustomPopupMenu, cxGridPopupMenu, Datasnap.DBClient, cxCheckBox,
|
||
Vcl.Menus, dxCore;
|
||
|
||
type
|
||
TfrmSysLogList = class(TForm)
|
||
Panel1: TPanel;
|
||
Label2: TLabel;
|
||
Label1: TLabel;
|
||
Label4: TLabel;
|
||
cxGrid1: TcxGrid;
|
||
tv1: TcxGridDBTableView;
|
||
tv1UOperator: TcxGridDBColumn;
|
||
tv1utime: TcxGridDBColumn;
|
||
tv1Utype: TcxGridDBColumn;
|
||
tv1UOperation: TcxGridDBColumn;
|
||
tv1UDetails: TcxGridDBColumn;
|
||
cxGridLevel1: TcxGridLevel;
|
||
begdate: TcxDateEdit;
|
||
enddate: TcxDateEdit;
|
||
edt_nr: TcxTextEdit;
|
||
cxImageList_bar: TcxImageList;
|
||
ADOQueryLog: TADOQuery;
|
||
DataSource1: TDataSource;
|
||
ADOConnection1: TADOConnection;
|
||
ToolBar1: TToolBar;
|
||
TQry: TToolButton;
|
||
Tclose: TToolButton;
|
||
tv1orderNo: TcxGridDBColumn;
|
||
tv1pieceNo: TcxGridDBColumn;
|
||
tv1Meter: TcxGridDBColumn;
|
||
tv1GrossWeight: TcxGridDBColumn;
|
||
tv1NetWeight: TcxGridDBColumn;
|
||
tv1C_name: TcxGridDBColumn;
|
||
tv1c_color: TcxGridDBColumn;
|
||
tv1FtyPCId: TcxGridDBColumn;
|
||
Label3: TLabel;
|
||
orderNo: TcxTextEdit;
|
||
cxGridPopupMenu1: TcxGridPopupMenu;
|
||
ToolButton1: TToolButton;
|
||
tv1batchNo: TcxGridDBColumn;
|
||
tv1CIID: TcxGridDBColumn;
|
||
tv1C_pattern: TcxGridDBColumn;
|
||
tv1C_colorNo: TcxGridDBColumn;
|
||
Tundo: TToolButton;
|
||
cds_loglist: TClientDataSet;
|
||
ADOQueryCmd: TADOQuery;
|
||
tv1ssel: TcxGridDBColumn;
|
||
PM_1: TPopupMenu;
|
||
N2: TMenuItem;
|
||
N3: TMenuItem;
|
||
N1: TMenuItem;
|
||
procedure TQryClick(Sender: TObject);
|
||
procedure TcloseClick(Sender: TObject);
|
||
procedure FormCreate(Sender: TObject);
|
||
procedure ToolButton1Click(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure edt_nrPropertiesChange(Sender: TObject);
|
||
procedure TundoClick(Sender: TObject);
|
||
procedure N2Click(Sender: TObject);
|
||
procedure N3Click(Sender: TObject);
|
||
procedure N1Click(Sender: TObject);
|
||
private
|
||
procedure DoQuery();
|
||
procedure DoFilter();
|
||
function undoDel():Boolean;
|
||
public
|
||
FMainid:string;
|
||
FSubId:string;
|
||
fModel:string;
|
||
end;
|
||
|
||
var
|
||
frmSysLogList: TfrmSysLogList;
|
||
|
||
implementation
|
||
uses
|
||
U_DataLink,U_globalVar,U_RTFun;
|
||
{$R *.dfm}
|
||
|
||
procedure TfrmSysLogList.FormCreate(Sender: TObject);
|
||
begin
|
||
cxGrid1.Align:=alClient;
|
||
begDate.Date :=date-2;
|
||
endDate.Date :=date;
|
||
with ADOConnection1 do
|
||
begin
|
||
Connected:=false;
|
||
ConnectionString:=DConString;
|
||
Connected:=true;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmSysLogList.FormShow(Sender: TObject);
|
||
begin
|
||
ReadCxGrid('<27><>װ<EFBFBD><D7B0>־<EFBFBD>б<EFBFBD>' + 'Tv1', TV1, gDllFileCaption);
|
||
if FMainid<>'' then
|
||
TQry.Click;
|
||
end;
|
||
|
||
procedure TfrmSysLogList.N1Click(Sender: TObject);
|
||
begin
|
||
Clipboard.SetTextBuf(PChar(Trim(cds_logList.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
|
||
end;
|
||
|
||
procedure TfrmSysLogList.N2Click(Sender: TObject);
|
||
begin
|
||
SelOKNoFiler(Tv1, True); //ȫѡ
|
||
end;
|
||
|
||
procedure TfrmSysLogList.N3Click(Sender: TObject);
|
||
begin
|
||
SelOKNoFiler(Tv1, false); //ȫѡ
|
||
end;
|
||
|
||
procedure TfrmSysLogList.TcloseClick(Sender: TObject);
|
||
begin
|
||
close;
|
||
end;
|
||
|
||
procedure TfrmSysLogList.ToolButton1Click(Sender: TObject);
|
||
begin
|
||
WriteCxGrid(trim('<27><>װ<EFBFBD><D7B0>־<EFBFBD>б<EFBFBD>') + 'Tv1', TV1, gDllFileCaption);
|
||
end;
|
||
|
||
procedure TfrmSysLogList.TQryClick(Sender: TObject);
|
||
begin
|
||
DoQuery();
|
||
end;
|
||
|
||
procedure TfrmSysLogList.TundoClick(Sender: TObject);
|
||
begin
|
||
try
|
||
begdate.SetFocus;
|
||
if not gIsCanDesign then
|
||
begin
|
||
application.MessageBox('û<>в<EFBFBD><D0B2><EFBFBD>Ȩ<EFBFBD><C8A8>!','<27><>ʾ<EFBFBD><CABE>Ϣ',0) ;
|
||
exit;
|
||
end;
|
||
|
||
cds_logList.DisableControls;
|
||
if not cds_logList.Locate('ssel;Utype',vararrayOf([true,'<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>']),[]) then
|
||
begin
|
||
application.MessageBox('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>ļ<EFBFBD>¼','<27><>ʾ<EFBFBD><CABE>Ϣ',0) ;
|
||
exit;
|
||
end;
|
||
if undoDel() then
|
||
begin
|
||
tqry.Click;
|
||
end;
|
||
finally
|
||
cds_logList.EnableControls ;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmSysLogList.DoQuery();
|
||
var
|
||
mbegdate,menddate:string;
|
||
|
||
begin
|
||
mbegdate:=formatDatetime('yyyy-MM-dd',begDate.Date); //
|
||
menddate:=formatDatetime('yyyy-MM-dd',endDate.Date+1);
|
||
try
|
||
cds_logList.DisableControls;
|
||
with ADOQueryLog do
|
||
begin
|
||
close;
|
||
sql.clear;
|
||
filtered:=false;
|
||
sql.add('select B.*,A.utime,A.Utype,A.UOperation,A.UOperator,A.UDetails');
|
||
sql.add(' from Trade_Need_Up A');
|
||
sql.add(' inner join Trade_Cloth_Inspect B on A.udataId=B.ciid');
|
||
|
||
if FMainid<>'' then
|
||
begin
|
||
sql.Add('where B.mainId='''+Trim(FMainid)+''' ');
|
||
end
|
||
else
|
||
begin
|
||
sql.Add('where UTime>='+quotedStr(mbegdate));
|
||
sql.Add('and UTime<'+quotedStr(menddate));
|
||
end;
|
||
if FSubId<>'' then
|
||
sql.Add('and B.subId='''+Trim(FSubId)+''' ');
|
||
|
||
sql.add('union all');
|
||
|
||
sql.add('select B.*,A.utime,A.Utype,A.UOperation,A.UOperator,A.UDetails');
|
||
sql.add(' from Trade_Need_Up A');
|
||
sql.add(' inner join Trade_Cloth_Inspect_del B on A.udataId like ''%''+rtrim(B.ciid)+'',%''');
|
||
|
||
if FMainid<>'' then
|
||
begin
|
||
sql.Add('where B.mainId='''+Trim(FMainid)+''' ');
|
||
end
|
||
else
|
||
begin
|
||
sql.Add('where UTime>='+quotedStr(mbegdate));
|
||
sql.Add('and UTime<'+quotedStr(menddate));
|
||
end;
|
||
|
||
if FSubId<>'' then
|
||
sql.Add('and B.subId='''+Trim(FSubId)+''' ');
|
||
// sql.Add('order by UOperator,UTime');
|
||
Open;
|
||
end;
|
||
SCreateCDS(ADOQueryLog, cds_logList);
|
||
SInitCDSData(ADOQueryLog, cds_logList);
|
||
finally
|
||
cds_logList.EnableControls ;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmSysLogList.edt_nrPropertiesChange(Sender: TObject);
|
||
begin
|
||
DoFilter();
|
||
end;
|
||
|
||
///////////////////////////////////////////////////////////
|
||
//
|
||
///////////////////////////////////////////////////////////
|
||
procedure TfrmSysLogList.DoFilter();
|
||
var
|
||
filterStr:string;
|
||
begin
|
||
if not ADOQueryLog.Active then exit;
|
||
|
||
filterStr:='';
|
||
//
|
||
if trim(orderNo.text)<>'' then
|
||
begin
|
||
filterStr:=' and orderNo like '+quotedStr('%'+trim(orderNo.text)+'%');
|
||
end;
|
||
if trim(edt_nr.text)<>'' then
|
||
begin
|
||
filterStr:=' and UDetails like '+quotedStr('%'+trim(edt_nr.text)+'%');
|
||
end;
|
||
|
||
try
|
||
cds_logList.DisableControls ;
|
||
if trim(filterStr)='' then
|
||
begin
|
||
ADOQueryLog.Filtered:=false;
|
||
exit;
|
||
end;
|
||
filterStr:=RightBStr(filterStr,length(filterStr)-4);
|
||
with ADOQueryLog do
|
||
begin
|
||
filtered:=false;
|
||
filter:=filterStr;
|
||
filtered:=true;
|
||
end;
|
||
cds_logList.EmptyDataSet;
|
||
SInitCDSData(ADOQueryLog, cds_logList);
|
||
finally
|
||
cds_logList.EnableControls;
|
||
end;
|
||
|
||
end;
|
||
|
||
//////////////////////////////////////////////////////////////////
|
||
///
|
||
function TfrmSysLogList.undoDel():Boolean;
|
||
var
|
||
MCIIDS:string;
|
||
begin
|
||
result:=false;
|
||
with cds_loglist do
|
||
begin
|
||
First;
|
||
while not Eof do
|
||
begin
|
||
if cds_loglist.FieldByName('SSel').AsBoolean = True then
|
||
begin
|
||
MCIIDS := MCIIDS + Trim(cds_loglist.fieldbyname('CIID').AsString) + ',';
|
||
end;
|
||
Next;
|
||
end;
|
||
end;
|
||
try
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('insert into Trade_Need_Up(UOperation,UType,UDataId) values(''<27><><EFBFBD><EFBFBD>'',''<27>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>'',' + quotedstr(MCIIDS) + ') ');
|
||
ExecSQL;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
Sql.Clear;
|
||
Sql.Add('exec P_Trade_Insp_Del_undo ');
|
||
Sql.Add('@CIIDS=' + quotedstr(Trim(MCIIDS)));
|
||
Sql.Add(',@DCode=' + Quotedstr(DCode));
|
||
Sql.Add(',@DName=' + Quotedstr(DName));
|
||
Open;
|
||
end;
|
||
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
|
||
begin
|
||
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
|
||
end;
|
||
|
||
|
||
ADOQueryCmd.Connection.CommitTrans;
|
||
result:=true;
|
||
except
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
application.MessageBox('<27>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
|
||
end;
|
||
end;
|
||
|
||
end.
|