|
|
|
|
unit u_op_seae_invoice_sign_detail;
|
|
|
|
|
|
|
|
|
|
interface
|
|
|
|
|
|
|
|
|
|
uses
|
|
|
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
|
|
|
Dialogs, bsSkinCtrls, ExtCtrls, StdCtrls, dxExEdtr, DB, dxTL, dxDBCtrl,
|
|
|
|
|
dxDBGrid, dxCntner, ADODB, bsdbctrls, cxDBLabel, cxControls, cxContainer,
|
|
|
|
|
cxEdit, cxLabel, dxDBTLCl, dxGrClms, Mask, DBCtrlsEh, wwdblook, RxLookup,
|
|
|
|
|
wwdbdatetimepicker, ComCtrls, bsSkinTabs, OleCtrls, iWebPDFEditorLib_TLB,EncdDecd,ShellAPI,
|
|
|
|
|
Menus, kbmMemTable;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
type
|
|
|
|
|
Tfrm_op_seae_invoice_sign_detail = class(TForm)
|
|
|
|
|
bsknpnl5: TbsSkinPanel;
|
|
|
|
|
dxdbgrd_mx: TdxDBGrid;
|
|
|
|
|
dxdbgrdclmndxdbgrd2Column1: TdxDBGridColumn;
|
|
|
|
|
dxdbgrdclmn_mxColumn3: TdxDBGridColumn;
|
|
|
|
|
dxdbgrdclmn_mxColumn4: TdxDBGridColumn;
|
|
|
|
|
dxdbgrdclmn_mxColumn5: TdxDBGridColumn;
|
|
|
|
|
dxdbgrdclmn_mxColumn6: TdxDBGridColumn;
|
|
|
|
|
dxdbgrdchckclmndxdbgrd2Column2: TdxDBGridCheckColumn;
|
|
|
|
|
bsknpnl7: TbsSkinPanel;
|
|
|
|
|
cxlbl1: TcxLabel;
|
|
|
|
|
cxlbl2: TcxLabel;
|
|
|
|
|
cxlbl3: TcxLabel;
|
|
|
|
|
cxlbl4: TcxLabel;
|
|
|
|
|
cxlbl5: TcxLabel;
|
|
|
|
|
cxlbl7: TcxLabel;
|
|
|
|
|
cxlbl8: TcxLabel;
|
|
|
|
|
cxdblbl1: TcxDBLabel;
|
|
|
|
|
cxdblbl2: TcxDBLabel;
|
|
|
|
|
cxdblbl3: TcxDBLabel;
|
|
|
|
|
cxdblbl4: TcxDBLabel;
|
|
|
|
|
cxdblbl5: TcxDBLabel;
|
|
|
|
|
cxdblbl6: TcxDBLabel;
|
|
|
|
|
bsknpnl3: TbsSkinPanel;
|
|
|
|
|
btn8: TbsSkinButton;
|
|
|
|
|
btn5_sign: TbsSkinButton;
|
|
|
|
|
btn11: TbsSkinButton;
|
|
|
|
|
btn3_custprint: TbsSkinButton;
|
|
|
|
|
btn9_exit: TbsSkinButton;
|
|
|
|
|
btn8_confirmsign: TbsSkinButton;
|
|
|
|
|
btn10_viewsign: TbsSkinButton;
|
|
|
|
|
btn2_CancelSignItem: TbsSkinButton;
|
|
|
|
|
bsknpnl8: TbsSkinPanel;
|
|
|
|
|
shp7: TShape;
|
|
|
|
|
shp6: TShape;
|
|
|
|
|
shp5: TShape;
|
|
|
|
|
shp4: TShape;
|
|
|
|
|
shp1: TShape;
|
|
|
|
|
bskndbtxt1: TbsSkinDBText;
|
|
|
|
|
bskndbtxt2: TbsSkinDBText;
|
|
|
|
|
bskndbtxt5_czr: TbsSkinDBText;
|
|
|
|
|
bskndbtxtd: TbsSkinDBText;
|
|
|
|
|
bskndbtxt6: TbsSkinDBText;
|
|
|
|
|
lbl1_signtip: TLabel;
|
|
|
|
|
cxlbl9: TcxLabel;
|
|
|
|
|
cxlbl10: TcxLabel;
|
|
|
|
|
cxlbl11: TcxLabel;
|
|
|
|
|
cxlbl13: TcxLabel;
|
|
|
|
|
cxlbl15: TcxLabel;
|
|
|
|
|
dxdbgrd1: TdxDBGrid;
|
|
|
|
|
dxdbgrdclmn1: TdxDBGridColumn;
|
|
|
|
|
dxdbgrdclmn2: TdxDBGridColumn;
|
|
|
|
|
dxdbgrdclmn3: TdxDBGridColumn;
|
|
|
|
|
dxdbgrdclmn4: TdxDBGridColumn;
|
|
|
|
|
dxdbgrdclmn5: TdxDBGridColumn;
|
|
|
|
|
bsknpnl6: TbsSkinPanel;
|
|
|
|
|
img1: TImage;
|
|
|
|
|
cxlbl6: TcxLabel;
|
|
|
|
|
cxlbl18: TcxLabel;
|
|
|
|
|
cxlbl19: TcxLabel;
|
|
|
|
|
qry1_qdtm: TADOQuery;
|
|
|
|
|
ds1_qdtm: TDataSource;
|
|
|
|
|
ds2_qdtd: TDataSource;
|
|
|
|
|
qry2_qdtd: TADOQuery;
|
|
|
|
|
iwbpdfdtr1: TiWebPDFEditor;
|
|
|
|
|
procedure btn5_signClick(Sender: TObject);
|
|
|
|
|
procedure btn8Click(Sender: TObject);
|
|
|
|
|
procedure btn11Click(Sender: TObject);
|
|
|
|
|
procedure btn3_custprintClick(Sender: TObject);
|
|
|
|
|
procedure btn8_confirmsignClick(Sender: TObject);
|
|
|
|
|
procedure iwbpdfdtr1SignFinish(Sender: TObject;
|
|
|
|
|
const bSucceed: WideString);
|
|
|
|
|
procedure FormShow(Sender: TObject);
|
|
|
|
|
private
|
|
|
|
|
{ Private declarations }
|
|
|
|
|
m_newfilename:string;
|
|
|
|
|
m_qry_qdm,m_qry_qdd:TADOQuery;
|
|
|
|
|
m_isNewSign:Boolean;
|
|
|
|
|
m_fpqz:string;
|
|
|
|
|
public
|
|
|
|
|
{ Public declarations }
|
|
|
|
|
procedure SetSignDatasource(qrym:TADOQuery;qryd:TADOQuery);
|
|
|
|
|
end;
|
|
|
|
|
var
|
|
|
|
|
frm_op_seae_invoice_sign_detail: Tfrm_op_seae_invoice_sign_detail;
|
|
|
|
|
|
|
|
|
|
implementation
|
|
|
|
|
uses my_sys_function;
|
|
|
|
|
{$R *.dfm}
|
|
|
|
|
procedure Tfrm_op_seae_invoice_sign_detail.SetSignDatasource(qrym:TADOQuery;qryd:TADOQuery);
|
|
|
|
|
begin
|
|
|
|
|
//
|
|
|
|
|
// qry1_qdtm:= qrym;
|
|
|
|
|
// qry2_qdtd:=qryd;
|
|
|
|
|
m_qry_qdm:=qrym;
|
|
|
|
|
m_qry_qdd:=qryd;
|
|
|
|
|
ds1_qdtm.DataSet:=m_qry_qdm;
|
|
|
|
|
ds2_qdtd.DataSet:=m_qry_qdd;
|
|
|
|
|
end;
|
|
|
|
|
///<2F><>Bitmapλͼת<CDBC><D7AA>Ϊbase64<36>ַ<EFBFBD><D6B7><EFBFBD>
|
|
|
|
|
function BitmapToString(img:TBitmap):string ;
|
|
|
|
|
var
|
|
|
|
|
ms:TMemoryStream;
|
|
|
|
|
ss:TStringStream;
|
|
|
|
|
s:string;
|
|
|
|
|
begin
|
|
|
|
|
ms := TMemoryStream.Create;
|
|
|
|
|
img.SaveToStream(ms);
|
|
|
|
|
ss := TStringStream.Create('');
|
|
|
|
|
ms.Position:=0;
|
|
|
|
|
EncodeStream(ms,ss);//<2F><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊbase64<36>ַ<EFBFBD><D6B7><EFBFBD>
|
|
|
|
|
s:=ss.DataString;
|
|
|
|
|
ms.Free;
|
|
|
|
|
ss.Free;
|
|
|
|
|
result:=s;
|
|
|
|
|
end;
|
|
|
|
|
function StringToBitmap(imgStr:string):TBitmap;
|
|
|
|
|
var ss:TStringStream;
|
|
|
|
|
ms:TMemoryStream;
|
|
|
|
|
bitmap:TBitmap;
|
|
|
|
|
begin
|
|
|
|
|
ss := TStringStream.Create(imgStr);
|
|
|
|
|
ms := TMemoryStream.Create;
|
|
|
|
|
DecodeStream(ss,ms);//<2F><>base64<36>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ԭΪ<D4AD>ڴ<EFBFBD><DAB4><EFBFBD>
|
|
|
|
|
ms.Position:=0;
|
|
|
|
|
bitmap := TBitmap.Create;
|
|
|
|
|
bitmap.LoadFromStream(ms);
|
|
|
|
|
ss.Free;
|
|
|
|
|
ms.Free;
|
|
|
|
|
result :=bitmap;
|
|
|
|
|
end;
|
|
|
|
|
function GetWinTempPath: string;
|
|
|
|
|
var
|
|
|
|
|
TempDir: array[0..255] of char;
|
|
|
|
|
begin
|
|
|
|
|
GetTempPath(255, @TempDir);
|
|
|
|
|
Result := strPas(TempDir);
|
|
|
|
|
end;
|
|
|
|
|
procedure Tfrm_op_seae_invoice_sign_detail.btn5_signClick(Sender: TObject);
|
|
|
|
|
var
|
|
|
|
|
strpath:string;
|
|
|
|
|
oldfilename:string;
|
|
|
|
|
msg:Integer;
|
|
|
|
|
pzt:WideString;
|
|
|
|
|
i1:Integer;
|
|
|
|
|
i2:Integer;
|
|
|
|
|
i3:Integer;
|
|
|
|
|
i4:Integer;
|
|
|
|
|
i5:Integer;
|
|
|
|
|
str :string;
|
|
|
|
|
aQuery:TADOQuery;
|
|
|
|
|
begin
|
|
|
|
|
//
|
|
|
|
|
str:= 'INSERT INTO t_sys_signid (mainorderno) VALUES (''222'');';
|
|
|
|
|
aQuery.SQL.Add(str) ;
|
|
|
|
|
aQuery.ExecSQL();
|
|
|
|
|
aQuery.sql.Clear();
|
|
|
|
|
str:= 'select MAX(signid) as qdtbh,GETDATE()as FDate from t_sys_signid; ';
|
|
|
|
|
aQuery.sql.add(str);
|
|
|
|
|
str:= 'select MAX(signid) as qdtbh,GETDATE()as FDate from t_sys_signid; ';
|
|
|
|
|
aQuery.sql.add(str);
|
|
|
|
|
aQuery.Open;
|
|
|
|
|
aQuery.First;
|
|
|
|
|
m_fpqz:='fpqz'+ aQuery.FieldByName('qdtbh').AsString;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
strpath:= GetWinTempPath() ;
|
|
|
|
|
oldfilename:= strpath+ 'cwsgn222.PDF' ;
|
|
|
|
|
m_newfilename := strpath+m_fpqz+'_'+ IntToStr(Random(10))+ '.PDF' ;
|
|
|
|
|
sys_frprintFile('<27><>Ʊǩ<C6B1><C7A9>','PDF',ds1_qdtm,ds2_qdtd,nil,nil,nil,nil,nil,nil,nil,nil,nil,True,'',nil,nil,oldfilename);
|
|
|
|
|
deletefile(m_newfilename);
|
|
|
|
|
CopyFile(pchar(oldfilename), PChar(m_newfilename),true);
|
|
|
|
|
iwbpdfdtr1.LoadFromFile(m_newfilename);
|
|
|
|
|
pzt:= '598*94' ;
|
|
|
|
|
i1:=1;
|
|
|
|
|
i2:=1;
|
|
|
|
|
i3:=0;
|
|
|
|
|
i4:=50;
|
|
|
|
|
i5:=30;
|
|
|
|
|
msg := iwbpdfdtr1.HandSignAtTouchMonitor(i1,i2,i3,pzt, i4, i5);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure Tfrm_op_seae_invoice_sign_detail.btn8Click(Sender: TObject);
|
|
|
|
|
begin
|
|
|
|
|
try
|
|
|
|
|
sys_print('<27><>Ʊǩ<C6B1><C7A9>',1,ds1_qdtm,ds2_qdtd,nil,nil,nil,nil,nil,nil,nil,nil,nil);
|
|
|
|
|
//qry1_qdtm.Edit;
|
|
|
|
|
//qry1_qdtm.FieldByName('<27><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>').AsDateTime:=GetDbDatetime();
|
|
|
|
|
//qry1_qdtm.Post;
|
|
|
|
|
except
|
|
|
|
|
//qry1_qdtm.Cancel;
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure Tfrm_op_seae_invoice_sign_detail.btn11Click(Sender: TObject);
|
|
|
|
|
begin
|
|
|
|
|
sys_print('<27><>Ʊǩ<C6B1><C7A9>',3,ds1_qdtm,ds2_qdtd,nil,nil,nil,nil,nil,nil,nil,nil,nil);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure Tfrm_op_seae_invoice_sign_detail.btn3_custprintClick(
|
|
|
|
|
Sender: TObject);
|
|
|
|
|
begin
|
|
|
|
|
sys_print('<27><>Ʊǩ<C6B1><C7A9>',2,ds1_qdtm,ds2_qdtd,nil,nil,nil,nil,nil,nil,nil,nil,nil);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure Tfrm_op_seae_invoice_sign_detail.btn8_confirmsignClick(
|
|
|
|
|
Sender: TObject);
|
|
|
|
|
var
|
|
|
|
|
picfile:string;
|
|
|
|
|
remotePath:string;
|
|
|
|
|
begin
|
|
|
|
|
if m_newfilename='' then
|
|
|
|
|
begin
|
|
|
|
|
application.MessageBox(PChar('<27><><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9>!'),'<27><>Ϣ<EFBFBD><CFA2>ʾ') ;
|
|
|
|
|
exit;
|
|
|
|
|
end;
|
|
|
|
|
remotePath:='\\223.223.95.160\data\custsign';
|
|
|
|
|
//remotePath:='\\dev000\custsign\invsgn';
|
|
|
|
|
//remotePath:='\\X6x8-20170109nn\<5C><><EFBFBD>Դ洢<D4B4>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//signletterSateDeal();
|
|
|
|
|
//
|
|
|
|
|
picfile:= copy(m_newfilename,0, length(m_newfilename) - 3)+'bmp';
|
|
|
|
|
img1.Picture.SaveToFile(picfile);
|
|
|
|
|
UpLoadCustFPSignFile(m_newfilename,picfile ,remotePath,'user','user',m_fpqz);
|
|
|
|
|
application.MessageBox(PChar('ȷ<><C8B7>ǩ<EFBFBD>ֳɹ<D6B3>,ǩ<><C7A9><EFBFBD>ѱ<EFBFBD><D1B1><EFBFBD>!'),'<27><>Ϣ<EFBFBD><CFA2>ʾ',MB_ICONINFORMATION) ;
|
|
|
|
|
close();
|
|
|
|
|
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8>¼<EFBFBD>¼
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure Tfrm_op_seae_invoice_sign_detail.iwbpdfdtr1SignFinish(
|
|
|
|
|
Sender: TObject; const bSucceed: WideString);
|
|
|
|
|
begin
|
|
|
|
|
img1.Picture.Bitmap:= StringToBitmap(iwbpdfdtr1.GetTouchMonitorImageBASE64());
|
|
|
|
|
img1.Visible:=True;
|
|
|
|
|
iwbpdfdtr1.CloseRead();
|
|
|
|
|
m_isNewSign:=True;
|
|
|
|
|
lbl1_signtip.Caption:='ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>ȷ<EFBFBD><C8B7>ǩ<EFBFBD><C7A9>!';
|
|
|
|
|
application.MessageBox(PChar('ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>ȷ<EFBFBD><C8B7>ǩ<EFBFBD>ֽ<EFBFBD><D6BD>б<EFBFBD><D0B1><EFBFBD>!'),'<27><>Ϣ<EFBFBD><CFA2>ʾ',MB_ICONINFORMATION) ;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure Tfrm_op_seae_invoice_sign_detail.FormShow(Sender: TObject);
|
|
|
|
|
begin
|
|
|
|
|
//
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
end.
|