D10SZKaiXiYa/A02基础产品管理/U_LogInput.pas
2025-09-30 17:22:36 +08:00

303 lines
7.2 KiB
ObjectPascal
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
Tv1C_Code: TcxGridDBColumn;
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();
{ Private declarations }
public
fC_Code: string;
{ 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;
procedure TfrmLogInput.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select * from sy_sysLog ');
sql.Add(' where Model = ' + QuotedStr(Trim('<27><>֯<EFBFBD><D6AF>Ʒ<EFBFBD><C6B7>Ϣ¼<CFA2><C2BC>')));
if fC_Code <> '' then
begin
SQL.Add(' and 1=2')
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);
FieldByName('Model').Value := '<27><>֯<EFBFBD><D6AF>Ʒ<EFBFBD><C6B7>Ϣ¼<CFA2><C2BC>';
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
WriteCxGrid(Self.Caption, Tv1, '<27><>֯<EFBFBD><D6AF>Ʒ<EFBFBD><C6B7>־');
end;
procedure TfrmLogInput.TbAddClick(Sender: TObject);
begin
with CDS_1 do
begin
Append;
CDS_1.FieldByName('Acction').Value := fC_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;
ReadCxGrid(Self.Caption, Tv1, '<27><>֯<EFBFBD><D6AF>Ʒ<EFBFBD><C6B7>־');
InitGrid();
if fC_Code = '' then
begin
TbAdd.Visible := false;
TbDel.Visible := False;
TbSave.Visible := false;
end
else
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.