D10SZKaiXiYa/E02梭织经轴仓库/U_LogInput.pas

327 lines
7.7 KiB
ObjectPascal
Raw Normal View History

2025-11-16 11:44:23 +08:00
unit U_LogInput;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls,
ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient,
cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset,
RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit, cxPC,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu,
dxDateRanges, U_BaseHelp, U_BaseList, System.ImageList, Vcl.ImgList,
dxScrollbarAnnotations, dxSkinsCore, dxSkinsDefaultPainters;
type
TfrmLogInput = class(TfrmBaseHelp)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TbDel: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DS_1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
CDS_1: TClientDataSet;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
cxGrid2Level1: TcxGridLevel;
Label4: TLabel;
Acction: TEdit;
TbSaveFormat: TToolButton;
TbAdd: TToolButton;
TbSave: TToolButton;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
2026-01-14 17:32:54 +08:00
Tv1Acction: TcxGridDBColumn;
2025-11-16 11:44:23 +08:00
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TbDelClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure TbSaveFormatClick(Sender: TObject);
procedure AcctionChange(Sender: TObject);
procedure TbAddClick(Sender: TObject);
procedure Tv1DblClick(Sender: TObject);
procedure Tv1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure TbSaveClick(Sender: TObject);
private
canshu1, FSTKName, canshu3: string;
procedure InitGrid();
2026-01-14 17:32:54 +08:00
procedure SetStatus();
2025-11-16 11:44:23 +08:00
{ Private declarations }
public
2026-01-14 17:32:54 +08:00
fWB_Code, fFlag, flogFlag: string;
2025-11-16 11:44:23 +08:00
{ Public declarations }
end;
var
frmLogInput: TfrmLogInput;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp;
{$R *.dfm}
procedure TfrmLogInput.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmLogInput.FormCreate(Sender: TObject);
begin
inherited;
canshu1 := Trim(DParameters1);
FSTKName := Trim(DParameters2);
canshu3 := Trim(DParameters3);
end;
2026-01-14 17:32:54 +08:00
procedure TfrmLogInput.SetStatus();
begin
if flogFlag = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>޸<EFBFBD>' then
begin
Tv1Acction.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ձ<EFBFBD><D5B1><EFBFBD>';
end
else if flogFlag = '<27><><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD>Ϣ<EFBFBD>޸<EFBFBD>' then
begin
Tv1Acction.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD>';
end
else if flogFlag = '<27><>ɴ<EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD>Ϣ<EFBFBD>޸<EFBFBD>' then
begin
Tv1Acction.Caption := '<27><>ɴ<EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD>';
end;
end;
2025-11-16 11:44:23 +08:00
procedure TfrmLogInput.InitGrid();
begin
try
ADOQueryMain.DisableControls;
2025-12-09 17:30:17 +08:00
2025-11-16 11:44:23 +08:00
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select * from sy_sysLog ');
2026-01-14 17:32:54 +08:00
sql.Add(' where Model = ' + QuotedStr(flogFlag));
2025-12-09 17:30:17 +08:00
if fFlag = '<27>޸<EFBFBD>' then
2025-11-16 11:44:23 +08:00
begin
SQL.Add(' and 1=2')
2025-12-09 17:30:17 +08:00
end
else if fFlag = '<27>鿴' then
begin
SQL.Add(' and Acction = ' + QuotedStr(Trim(fWB_Code)));
2025-11-16 11:44:23 +08:00
end;
Open;
end;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmLogInput.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmLogInput.TbSaveClick(Sender: TObject);
var
mOPEvent: string;
begin
if CDS_1.IsEmpty then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><DEB8><EFBFBD>Ŀ<EFBFBD><C4BF>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_OK);
Exit;
end;
// if CDS_1.Locate('Operor', '', []) or CDS_1.Locate('Operor', null, []) then
// begin
// Application.MessageBox('<27>޸<EFBFBD><DEB8>˲<EFBFBD><CBB2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_OK);
// Exit;
// end;
with CDS_1 do
begin
First;
while not Eof do
begin
if (CDS_1.FieldByName('Operor').AsString = '') or (CDS_1.FieldByName('Operor').IsNull) then
begin
Application.MessageBox('<27>޸<EFBFBD><DEB8>˲<EFBFBD><CBB2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_OK);
Exit;
end;
if (CDS_1.FieldByName('OPEvent').AsString = '') or (CDS_1.FieldByName('OPEvent').IsNull) then
begin
Application.MessageBox('<27>޸<EFBFBD><DEB8><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_OK);
Exit;
end;
Next;
end;
end;
with CDS_1 do
begin
First;
while not Eof do
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from SY_sysLog where 1 = 2 ');
Open;
end;
with ADOQueryCmd do
begin
if ADOQueryCmd.IsEmpty then
Append
else
Edit;
RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_1, 'SY_sysLog', 0);
2026-01-14 17:32:54 +08:00
FieldByName('Model').Value := flogFlag;
2025-11-16 11:44:23 +08:00
FieldByName('Result').Value := '<27>ɹ<EFBFBD>';
Post;
end;
Next;
end;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_OK);
end;
close;
end;
procedure TfrmLogInput.TbSaveFormatClick(Sender: TObject);
begin
2026-01-14 17:32:54 +08:00
WriteCxGrid(Self.Caption, Tv1, '<27>޸<EFBFBD><DEB8><EFBFBD>־<EFBFBD><D6BE>¼');
2025-11-16 11:44:23 +08:00
end;
procedure TfrmLogInput.TbAddClick(Sender: TObject);
begin
with CDS_1 do
begin
Append;
CDS_1.FieldByName('Acction').Value := fWB_Code;
CDS_1.FieldByName('OperTime').value := SGetServerDatetime(ADOQueryTemp);
Post;
end;
end;
procedure TfrmLogInput.Tv1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
var
fsj: string;
FWZ: Integer;
begin
fsj := Trim(TcxButtonEdit(Sender).Hint);
FWZ := Pos('/', fsj);
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
MainType := 'loginput';
flag := 'Operor';
flagname := '<27>޸<EFBFBD><DEB8><EFBFBD>';
if ShowModal = 1 then
begin
CDS_1.Edit;
CDS_1.FieldByName(flag).Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
CDS_1.Post;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmLogInput.Tv1DblClick(Sender: TObject);
begin
ModalResult := 1;
end;
procedure TfrmLogInput.AcctionChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
end;
end;
procedure TfrmLogInput.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmLogInput.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmLogInput.FormShow(Sender: TObject);
begin
inherited;
2026-01-14 17:32:54 +08:00
ReadCxGrid(Self.Caption, Tv1, '<27>޸<EFBFBD><DEB8><EFBFBD>־<EFBFBD><D6BE>¼');
2025-11-16 11:44:23 +08:00
InitGrid();
2025-12-09 17:30:17 +08:00
if fFlag = '<27>鿴' then
2025-11-16 11:44:23 +08:00
begin
TbAdd.Visible := false;
TbDel.Visible := False;
TbSave.Visible := false;
end
2026-01-14 17:32:54 +08:00
else if fFlag = '<27>޸<EFBFBD>' then
2025-11-16 11:44:23 +08:00
begin
TBRafresh.Visible := False;
TBFind.Visible := False;
Panel1.Visible := False;
TBClose.Visible := False;
end;
end;
procedure TfrmLogInput.TbDelClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
with CDS_1 do
begin
Delete;
end;
end;
procedure TfrmLogInput.N1Click(Sender: TObject);
begin
SelOKNo(CDS_1, True);
end;
procedure TfrmLogInput.N2Click(Sender: TObject);
begin
SelOKNo(CDS_1, False);
end;
end.