164 lines
3.9 KiB
Plaintext
164 lines
3.9 KiB
Plaintext
unit DAfterReport;
|
|
|
|
interface
|
|
|
|
uses
|
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.Imaging.pngimage,
|
|
Vcl.StdCtrls, System.ImageList, Vcl.ImgList, PngImageList, Tocsg.Win32;
|
|
|
|
type
|
|
TDlgAfterReport = class(TForm)
|
|
imgMain: TImage;
|
|
imgOk: TImage;
|
|
imgBtnList: TPngImageList;
|
|
Label1: TLabel;
|
|
Label2: TLabel;
|
|
tInit: TTimer;
|
|
mmReport: TMemo;
|
|
lbInfo: TLabel;
|
|
imgBsoneTop: TImage;
|
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|
procedure tInitTimer(Sender: TObject);
|
|
procedure imgMainMouseDown(Sender: TObject; Button: TMouseButton;
|
|
Shift: TShiftState; X, Y: Integer);
|
|
procedure imgOkMouseEnter(Sender: TObject);
|
|
procedure imgOkMouseLeave(Sender: TObject);
|
|
procedure imgOkClick(Sender: TObject);
|
|
private
|
|
{ Private declarations }
|
|
Mutex_: TTgMutex;
|
|
procedure SetImgBtn(nImgIdx: Integer);
|
|
public
|
|
{ Public declarations }
|
|
|
|
Constructor Create(aOwner: TComponent); override;
|
|
procedure CreateParams(var Params: TCreateParams); override;
|
|
Destructor Destroy; override;
|
|
|
|
procedure SetInfo(sUserName: String; dtAfterRpt: TDateTime);
|
|
|
|
procedure process_WM_SYSCOMMAND(var msg: TWMSysCommand); Message WM_SYSCOMMAND;
|
|
end;
|
|
|
|
var
|
|
DlgAfterReport: TDlgAfterReport;
|
|
|
|
implementation
|
|
|
|
uses
|
|
{$IFDEF _HE_}
|
|
ManagerService,
|
|
{$ENDIF}
|
|
Tocsg.Exception, superobject, Define, GlobalDefine, DefineHelper,
|
|
ProcessParam, Condition;
|
|
|
|
resourcestring
|
|
RS_InputConnReason = '접속 사유를 입력해 주십시오.';
|
|
|
|
{$R *.dfm}
|
|
|
|
Constructor TDlgAfterReport.Create(aOwner: TComponent);
|
|
begin
|
|
Inherited Create(aOwner);
|
|
Mutex_ := TTgMutex.Create(MUTEX_AFTERREPORT);
|
|
SetImgBtn(0);
|
|
|
|
{$IFDEF _HE_}
|
|
lbInfo.Caption := Format('%s :: %s', [gMgSvc.HandleConfig.UserName,
|
|
FormatDateTime('yyyy-mm-dd hh:nn:ss', gMgSvc.AgentModel.AfterRptDT)]);
|
|
{$ENDIF}
|
|
|
|
imgBsoneTop.Visible := IsBS1Display;
|
|
|
|
tInit.Enabled := true;
|
|
end;
|
|
|
|
procedure TDlgAfterReport.CreateParams(var Params: TCreateParams);
|
|
begin
|
|
inherited CreateParams(Params);
|
|
{$IFDEF _HE_}
|
|
Params.ExStyle := WS_EX_APPWINDOW;
|
|
{$ENDIF}
|
|
Params.WindowClass.Style := Params.WindowClass.Style or CS_DROPSHADOW;
|
|
end;
|
|
|
|
Destructor TDlgAfterReport.Destroy;
|
|
begin
|
|
FreeAndNil(Mutex_);
|
|
Inherited;
|
|
end;
|
|
|
|
procedure TDlgAfterReport.SetInfo(sUserName: String; dtAfterRpt: TDateTime);
|
|
begin
|
|
lbInfo.Caption := Format('%s :: %s', [sUserName,
|
|
FormatDateTime('yyyy-mm-dd hh:nn:ss', dtAfterRpt)]);
|
|
|
|
Application.ProcessMessages;
|
|
end;
|
|
|
|
procedure TDlgAfterReport.FormClose(Sender: TObject; var Action: TCloseAction);
|
|
begin
|
|
Action := caFree;
|
|
end;
|
|
|
|
procedure TDlgAfterReport.imgMainMouseDown(Sender: TObject; Button: TMouseButton;
|
|
Shift: TShiftState; X, Y: Integer);
|
|
begin
|
|
ReleaseCapture;
|
|
SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);
|
|
end;
|
|
|
|
procedure TDlgAfterReport.imgOkClick(Sender: TObject);
|
|
begin
|
|
mmReport.Text := Trim(mmReport.Text);
|
|
if mmReport.Text = '' then
|
|
begin
|
|
MessageBox(Handle, PChar(RS_InputConnReason), PChar(APP_TITLE), MB_ICONWARNING or MB_OK);
|
|
exit;
|
|
end;
|
|
|
|
{$IFDEF _HE_}
|
|
gMgSvc.AgentModel.AfterRptDT := 0;
|
|
gMgSvc.AgentModel.Save;
|
|
gMgSvc.SendEventLog(URI_USER_ACTION, SYSEVT_WORKREPORT, mmReport.Text);
|
|
{$ELSE}
|
|
gParam.SendData(HPCMD_SEND_AFTER_REPORT, mmReport.Text);
|
|
{$ENDIF}
|
|
Close;
|
|
end;
|
|
|
|
procedure TDlgAfterReport.imgOkMouseEnter(Sender: TObject);
|
|
begin
|
|
SetImgBtn(1);
|
|
end;
|
|
|
|
procedure TDlgAfterReport.imgOkMouseLeave(Sender: TObject);
|
|
begin
|
|
SetImgBtn(0);
|
|
end;
|
|
|
|
procedure TDlgAfterReport.SetImgBtn(nImgIdx: Integer);
|
|
begin
|
|
imgBtnList.GetIcon(nImgIdx, imgOk.Picture.Icon);
|
|
imgOk.Repaint
|
|
end;
|
|
|
|
procedure TDlgAfterReport.tInitTimer(Sender: TObject);
|
|
begin
|
|
tInit.Enabled := false;
|
|
if MuTex_.MutexState <> msCreateOk then
|
|
Close;
|
|
FormStyle := fsNormal;
|
|
end;
|
|
|
|
procedure TDlgAfterReport.process_WM_SYSCOMMAND(var msg: TWMSysCommand);
|
|
begin
|
|
if msg.CmdType = SC_CLOSE then
|
|
exit;
|
|
|
|
Inherited;
|
|
end;
|
|
|
|
end.
|