151 lines
4.3 KiB
Plaintext
151 lines
4.3 KiB
Plaintext
unit DPrintApproveReq;
|
|
|
|
interface
|
|
|
|
uses
|
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, ManagerPrint;
|
|
|
|
type
|
|
TDlgPrintApproveReq = class(TForm)
|
|
Label1: TLabel;
|
|
btnApprove: TButton;
|
|
btnCancel: TButton;
|
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|
procedure btnApproveClick(Sender: TObject);
|
|
procedure btnCancelClick(Sender: TObject);
|
|
private
|
|
{ Private declarations }
|
|
pEnt_: PPrtEnt;
|
|
public
|
|
{ Public declarations }
|
|
Constructor Create(aOwner: TComponent; pEnt: PPrtEnt);
|
|
procedure CreateParams(var Params: TCreateParams); override; // 작업표시줄에 표시
|
|
|
|
procedure process_WM_SYSCOMMAND(var msg: TWMSysCommand); Message WM_SYSCOMMAND;
|
|
end;
|
|
|
|
var
|
|
DlgPrintApproveReq: TDlgPrintApproveReq;
|
|
|
|
implementation
|
|
|
|
uses
|
|
ManagerService, Tocsg.Convert, Tocsg.Trace, Define, Tocsg.Shell, GlobalDefine, Tocsg.Path,
|
|
DefineHelper,
|
|
superobject, Tocsg.Process, ManagerModel, Condition;
|
|
|
|
resourcestring
|
|
RS_NotFoundInfo = '결재자 정보를 가져올 수 없습니다.';
|
|
RS_MsgApproval1 = '출력을 위해 승인이 필요합니다.';
|
|
RS_MsgApprova2 = '아래 [결재요청] 버튼으로 승인을 받아주세요.';
|
|
RS_MsgApprova3 = '아래 [결재요청] 버튼을 눌러 진행해주세요.';
|
|
RS_MsgApprovalVio = '개인(신용)정보가 검출된 문서는 승인 후 출력이 가능합니다.';
|
|
RS_MsgPostApproval = '중요 정보가 검출 되어 결재 요청 후 출력이 가능합니다.';
|
|
|
|
{$R *.dfm}
|
|
|
|
Constructor TDlgPrintApproveReq.Create(aOwner: TComponent; pEnt: PPrtEnt);
|
|
begin
|
|
Inherited Create(aOwner);
|
|
pEnt_ := pEnt;
|
|
ASSERT(pEnt_ <> nil);
|
|
|
|
if pEnt_.bPostApv then
|
|
begin
|
|
Label1.Caption := RS_MsgPostApproval + #13#10#13#10 + RS_MsgApprova3;
|
|
end else
|
|
if pEnt_.sVioText = '' then
|
|
begin
|
|
Label1.Caption := RS_MsgApproval1 + #13#10#13#10 + RS_MsgApprova2;
|
|
end else begin
|
|
case CUSTOMER_TYPE of
|
|
CUSTOMER_SHSC,
|
|
CUSTOMER_SHCI : Label1.Caption := RS_MsgApprovalVio + #13#10#13#10 + RS_MsgApprova2;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TDlgPrintApproveReq.CreateParams(var Params: TCreateParams);
|
|
begin
|
|
Inherited CreateParams(Params);
|
|
Params.ExStyle := WS_EX_APPWINDOW;
|
|
end;
|
|
|
|
procedure TDlgPrintApproveReq.btnApproveClick(Sender: TObject);
|
|
var
|
|
sUrl: String;
|
|
LogInfo: TLogInfo;
|
|
begin
|
|
Hide;
|
|
|
|
if pEnt_.bPostApv then
|
|
sUrl := gMgSvc.SendApproval(13, pEnt_)
|
|
else
|
|
sUrl := gMgSvc.SendApproval(0, pEnt_);
|
|
|
|
if sUrl = '' then
|
|
begin
|
|
gMgSvc.MgPrt.DelPrintInfo(pEnt_.sId);
|
|
TTgTrace.T('Fail .. SendApprovalPrint()');
|
|
MessageBox(Handle, PChar(RS_NotFoundInfo), PChar(APP_TITLE), MB_ICONWARNING or MB_OK);
|
|
end else begin
|
|
// ExecutePath(gMgSvc.DestIPort + sUrl);
|
|
ZeroMemory(@LogInfo, SizeOf(LogInfo));
|
|
LogInfo.sCode := REQUEST_APPROVAL;
|
|
LogInfo.sDevName := pEnt_.WInfo.sPtrName;
|
|
LogInfo.sPath := pEnt_.WInfo.sDocName;
|
|
LogInfo.sActionId := pEnt_.WInfo.sPrtDocId;
|
|
if pEnt_.bPostApv then
|
|
LogInfo.sSummary := 'Post-Approval Request : Print'
|
|
else
|
|
LogInfo.sSummary := 'Approval Request : Print';
|
|
gMgSvc.SendEventLogEx(@LogInfo, false);
|
|
|
|
var sHlpExe: String := GetRunExePathDir + DIR_CONF + EXE_HLP;
|
|
if FileExists(sHlpExe) then
|
|
begin
|
|
var O: ISuperObject := SO;
|
|
O.I['RcvWnd'] := Handle;
|
|
O.I['Cmd'] := HPCMD_EXECUTE_FILE;
|
|
O.S['Path'] := gMgSvc.DestIPort + sUrl;
|
|
SaveJsonObjToFile(O, GetRunExePathDir + DIR_CONF + DAT_PARAM);
|
|
{$IFDEF DEBUG}
|
|
ExecutePath(sHlpExe);
|
|
{$ELSE}
|
|
ExecuteAppAsUser('explorer.exe', sHlpExe, '', SW_SHOWNORMAL);
|
|
{$ENDIF}
|
|
end else
|
|
ExecutePath(gMgSvc.DestIPort + sUrl);
|
|
|
|
// if pEnt_.bPostApv then // 승인 요청 응답오면 처리하는 걸로 변경 25_1216 16:07:32 kku
|
|
// gMgSvc.DoPrint(pEnt_);
|
|
end;
|
|
|
|
Close;
|
|
end;
|
|
|
|
procedure TDlgPrintApproveReq.btnCancelClick(Sender: TObject);
|
|
begin
|
|
gMgSvc.MgPrt.DelPrintInfo(pEnt_.sId, true);
|
|
Close;
|
|
end;
|
|
|
|
procedure TDlgPrintApproveReq.FormClose(Sender: TObject;
|
|
var Action: TCloseAction);
|
|
begin
|
|
Action := TCloseAction.caFree;
|
|
end;
|
|
|
|
procedure TDlgPrintApproveReq.process_WM_SYSCOMMAND(var msg: TWMSysCommand);
|
|
begin
|
|
if msg.Msg = SC_CLOSE then
|
|
begin
|
|
btnCancel.Click;
|
|
exit;
|
|
end;
|
|
Inherited;
|
|
end;
|
|
|
|
end.
|