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.
|