|
|
unit u_op_seae_sign_new_info;
|
|
|
|
|
|
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, bsSkinBoxCtrls, cxTextEdit, cxDBEdit, cxMaskEdit,
|
|
|
cxCheckBox, cxDropDownEdit, cxCalendar;
|
|
|
|
|
|
type
|
|
|
Tfrm__op_seae_sign_new_info = 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;
|
|
|
bsknpnl6: TbsSkinPanel;
|
|
|
cxlbl6: TcxLabel;
|
|
|
dxdbgrd1: TdxDBGrid;
|
|
|
dxdbgrdclmn1: TdxDBGridColumn;
|
|
|
dxdbgrdclmn2: TdxDBGridColumn;
|
|
|
dxdbgrdclmn3: TdxDBGridColumn;
|
|
|
dxdbgrdclmn4: TdxDBGridColumn;
|
|
|
dxdbgrdclmn5: TdxDBGridColumn;
|
|
|
bsknpnl3: TbsSkinPanel;
|
|
|
btn8: TbsSkinButton;
|
|
|
btn9_mailSend: TbsSkinButton;
|
|
|
btn11: TbsSkinButton;
|
|
|
ds1_qdtm: TDataSource;
|
|
|
ds2_qdtd: TDataSource;
|
|
|
qry2_qdtd: TADOQuery;
|
|
|
qry1_qdtm: TADOQuery;
|
|
|
btn3_custprint: TbsSkinButton;
|
|
|
btn9_exit: TbsSkinButton;
|
|
|
img1: TImage;
|
|
|
cxlbl19: TcxLabel;
|
|
|
bsknpnl8: TbsSkinPanel;
|
|
|
shp7: TShape;
|
|
|
shp6: TShape;
|
|
|
shpe: TShape;
|
|
|
shp4: TShape;
|
|
|
shp3: TShape;
|
|
|
shp2: TShape;
|
|
|
shp1: TShape;
|
|
|
bskndbtxt3: TbsSkinDBText;
|
|
|
bskndbtxt4: TbsSkinDBText;
|
|
|
bskndbtxt5: TbsSkinDBText;
|
|
|
bskndbtxt6: TbsSkinDBText;
|
|
|
cxlbl9: TcxLabel;
|
|
|
cxlbl10: TcxLabel;
|
|
|
cxlbl11: TcxLabel;
|
|
|
cxlbl12: TcxLabel;
|
|
|
cxlbl13: TcxLabel;
|
|
|
cxlbl14: TcxLabel;
|
|
|
cxlbl15: TcxLabel;
|
|
|
btn2_CancelSignItem: TbsSkinButton;
|
|
|
dxdbgrdchckclmn6: TdxDBGridCheckColumn;
|
|
|
pm1: TPopupMenu;
|
|
|
mniN1ViewCustSign: TMenuItem;
|
|
|
mniN2_ViewInvoceSign: TMenuItem;
|
|
|
kbmMemTable1: TkbmMemTable;
|
|
|
strngfldMemTable1Field: TStringField;
|
|
|
strngfldMemTable1Field3: TStringField;
|
|
|
strngfldMemTable1Field4: TStringField;
|
|
|
strngfldMemTable1Field5: TStringField;
|
|
|
strngfldMemTable1Field6: TStringField;
|
|
|
strngfldMemTable1Field7: TStringField;
|
|
|
strngfldMemTable1Field2: TStringField;
|
|
|
strngfldMemTable1Field9: TStringField;
|
|
|
strngfldMemTable1Field10: TStringField;
|
|
|
strngfldMemTable1Field11: TStringField;
|
|
|
strngfldMemTable1Field8: TStringField;
|
|
|
strngfldMemTable1Field12: TStringField;
|
|
|
strngfldMemTable1Field13: TStringField;
|
|
|
strngfldMemTable1Field15: TStringField;
|
|
|
strngfldMemTable1Field14: TStringField;
|
|
|
strngfldMemTable1Field16: TStringField;
|
|
|
strngfldMemTable1Field17: TStringField;
|
|
|
kbmMemTable1Field18: TBooleanField;
|
|
|
strngfldMemTable1Field19: TStringField;
|
|
|
kbmMemTable1RMB: TFloatField;
|
|
|
kbmMemTable1USD: TFloatField;
|
|
|
mailSend: TkbmMemTable;
|
|
|
strngfldSendStringField: TStringField;
|
|
|
strngfldSendField: TStringField;
|
|
|
strngfldSendField2: TStringField;
|
|
|
strngfldSendField3: TStringField;
|
|
|
strngfldSendField4: TStringField;
|
|
|
strngfldSendField5: TStringField;
|
|
|
strngfldSendField6: TStringField;
|
|
|
strngfldSendField7: TStringField;
|
|
|
cxlbl17: TcxLabel;
|
|
|
cxlbl18: TcxLabel;
|
|
|
cxdbtxtdt1: TcxDBTextEdit;
|
|
|
cxdbtxtdt2: TcxDBTextEdit;
|
|
|
shp8: TShape;
|
|
|
bskndbtxt1: TbsSkinDBText;
|
|
|
cxdbchckbx1_tf: TcxDBCheckBox;
|
|
|
cxlbl16_tf: TcxLabel;
|
|
|
cxdbdtdt1_tf: TcxDBDateEdit;
|
|
|
cxlbl16: TcxLabel;
|
|
|
cxlbl20: TcxLabel;
|
|
|
dxdbgrdclmndxdbgrd1Column7: TdxDBGridColumn;
|
|
|
cxlbl21: TcxLabel;
|
|
|
bskndbtxt2: TbsSkinDBText;
|
|
|
dxdbgrdclmndxdbgrd1Column8: TdxDBGridColumn;
|
|
|
dxdbgrdclmn9_usd: TdxDBGridColumn;
|
|
|
dxdbgrdclmn10_rmb: TdxDBGridColumn;
|
|
|
cxlbl22: TcxLabel;
|
|
|
bskndbtxt7: TbsSkinDBText;
|
|
|
btn3_notify: TbsSkinButton;
|
|
|
dxdbgrd1Column11: TdxDBGridColumn;
|
|
|
dxdbgrd1Column12: TdxDBGridColumn;
|
|
|
procedure bsSkinButton2Click(Sender: TObject);
|
|
|
procedure btn3_sustprint(Sender: TObject);
|
|
|
procedure FormShow(Sender: TObject);
|
|
|
procedure btn8Click(Sender: TObject);
|
|
|
procedure btn11Click(Sender: TObject);
|
|
|
procedure btn9_mailSendClick(Sender: TObject);
|
|
|
procedure btn9_exitClick(Sender: TObject);
|
|
|
procedure btn3_notifyClick(Sender: TObject);
|
|
|
procedure btn2_CancelSignItemClick(Sender: TObject);
|
|
|
procedure btn8_confirmSignoutClick(Sender: TObject);
|
|
|
procedure mniN2_ViewInvoceSignClick(Sender: TObject);
|
|
|
procedure mniN1ViewCustSignClick(Sender: TObject);
|
|
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|
|
procedure FormDestroy(Sender: TObject);
|
|
|
procedure dxdbgrd1CustomDraw(Sender: TObject; ACanvas: TCanvas;
|
|
|
ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxDBTreeListColumn;
|
|
|
const AText: String; AFont: TFont; var AColor: TColor; ASelected,
|
|
|
AFocused: Boolean; var ADone: Boolean);
|
|
|
procedure dxdbgrd1Column11CustomDraw(Sender: TObject; ACanvas: TCanvas;
|
|
|
ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxDBTreeListColumn;
|
|
|
const AText: String; AFont: TFont; var AColor: TColor; ASelected,
|
|
|
AFocused: Boolean; var ADone: Boolean);
|
|
|
procedure dxdbgrd1Column12CustomDraw(Sender: TObject; ACanvas: TCanvas;
|
|
|
ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxDBTreeListColumn;
|
|
|
const AText: String; AFont: TFont; var AColor: TColor; ASelected,
|
|
|
AFocused: Boolean; var ADone: Boolean);
|
|
|
private
|
|
|
{ Private declarations }
|
|
|
m_qdtbh:string;
|
|
|
m_iway:Integer;
|
|
|
m_newfilename:string;
|
|
|
m_newCWfilename:string;//<2F><><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9>
|
|
|
m_isNewSign:Boolean;
|
|
|
m_wtdw:string;//ί<>е<EFBFBD>λ|<7C><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
|
|
m_isPJ:boolean ;//<2F>Ƿ<EFBFBD>Ʊ<EFBFBD><C6B1>
|
|
|
m_reportname:string;//ǩ<><C7A9><EFBFBD><EFBFBD>:Ʊ<><C6B1>֪ͨ<CDA8><D6AA>
|
|
|
function GetNotieState():Boolean;
|
|
|
function CheckIsAllCeckout():Boolean;
|
|
|
function CheckBilldue():Boolean;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
procedure signletterSateDeal();
|
|
|
procedure signoutSateDeal(wtdw:string);
|
|
|
procedure show_qdtxx (qdtbh:string;iway:Integer);
|
|
|
procedure UpateSeaeState(bsno,billstate:string);
|
|
|
function GetClientLimited(sname:string):Boolean;
|
|
|
|
|
|
public
|
|
|
{ Public declarations }
|
|
|
procedure InitialUserinfo(qdtbh:string;iway:Integer);
|
|
|
procedure SigninfoShow();
|
|
|
|
|
|
end;
|
|
|
|
|
|
var
|
|
|
frm__op_seae_sign_new_info: Tfrm__op_seae_sign_new_info;
|
|
|
|
|
|
implementation
|
|
|
uses my_sys_function, u_main, u_op_seae_sign_info, u_data_share;
|
|
|
{$R *.dfm}
|
|
|
/// <summary>
|
|
|
/// <20><>ʱĿ¼
|
|
|
/// </summary>
|
|
|
function GetWinTempPath: string;
|
|
|
var
|
|
|
TempDir: array[0..255] of char;
|
|
|
begin
|
|
|
GetTempPath(255, @TempDir);
|
|
|
Result := strPas(TempDir);
|
|
|
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 Tfrm__op_seae_sign_new_info.CheckBilldue():Boolean;
|
|
|
var
|
|
|
FeeItems:string;
|
|
|
amt,usd:Double;
|
|
|
bh,wtdw,tdh,jflx:string;
|
|
|
bkmark:TBookmark;
|
|
|
aQuery:TADOQuery;
|
|
|
itfCount:Integer;//<2F>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>
|
|
|
begin
|
|
|
Result:=True;
|
|
|
wtdw:=qry1_qdtm.FieldByName('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>').AsString;
|
|
|
bkmark := qry2_qdtd.GetBookMark; //<2F>Ե<EFBFBD>ǰ<EFBFBD><C7B0>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9>־
|
|
|
qry2_qdtd.DisableControls; //<2F>ж<EFBFBD>Table<6C><65><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ
|
|
|
qry2_qdtd.First ;
|
|
|
//1<>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>,2<><32><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>
|
|
|
if GetCorpNameSpecialAccount(FormatDateTime('YYYY-MM-DD',GetDbDatetime),wtdw) then
|
|
|
begin
|
|
|
aQuery:=CreateAdoQuery;
|
|
|
try
|
|
|
with aQuery do begin
|
|
|
close;SQL.Clear;
|
|
|
sql.add('select <20><><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD> from t_crm_client where <20>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>='''+ wtdw +'''');
|
|
|
open;
|
|
|
if not IsEmpty then begin
|
|
|
if FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>').AsString='<27><>' then
|
|
|
begin
|
|
|
if MessageDlg(wtdw+'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>Ϊ:'+fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>').AsString+#13#10+'<27>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',mtWarning,[mbyes,mbno],0)<>mryes then
|
|
|
begin
|
|
|
Result:=false;
|
|
|
exit;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
Result:=true;
|
|
|
exit;
|
|
|
end;
|
|
|
end;
|
|
|
end;
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
close;SQL.Clear;
|
|
|
sql.add('Select count(1) as tf_count from t_op_fangdan ');
|
|
|
SQL.Add('where <20><><EFBFBD><EFBFBD> in (select <20><><EFBFBD><EFBFBD> from [t_op_seae_sign_detail] where ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>='''+ m_qdtbh + ''' ) ') ;
|
|
|
open;
|
|
|
if not IsEmpty then begin
|
|
|
itfCount:=FieldByName('tf_count').AsInteger;
|
|
|
if( itfCount= qry2_qdtd.Recordset.RecordCount) then
|
|
|
begin
|
|
|
//ȫ<><C8AB><EFBFBD>ط<EFBFBD>
|
|
|
Result:=true;
|
|
|
Exit;
|
|
|
end;
|
|
|
end;
|
|
|
end;
|
|
|
finally
|
|
|
FreeAndNil(aQuery);
|
|
|
end;
|
|
|
end;// 1 <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> ,2 <20>Ƿ<EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>
|
|
|
|
|
|
|
|
|
//<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
While Not qry2_qdtd.EOF Do //<2F>Ա<EFBFBD><D4B1><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
begin
|
|
|
bh:= qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString;
|
|
|
tdh:=qry2_qdtd.FieldByName('<27><><EFBFBD>ᵥ<EFBFBD><E1B5A5>').AsString;
|
|
|
jflx:=qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString;
|
|
|
if (jflx='') or (jflx='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>') or (jflx='<27>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>') then
|
|
|
begin
|
|
|
if GetCrmsales(bh,wtdw,jflx,amt,usd,FeeItems) then
|
|
|
begin
|
|
|
//<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪƱ<CEAA><C6B1>
|
|
|
MessageDlg('<27><><EFBFBD>ᵥ<EFBFBD><E1B5A5>Ϊ"'+ tdh+'"<22><>'+wtdw+'<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪƱ<CEAA><C6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>Ϊ:'
|
|
|
+FormatFloat('0.00;0.00;0',amt) +'<27><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>Ϊ:'+FormatFloat('0.00;0.00;0',USD)
|
|
|
+'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>',mtWarning,[mbok],0);
|
|
|
|
|
|
Result:=False;
|
|
|
Break;
|
|
|
end ;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
if GetCrmsales(bh,wtdw,jflx,amt,usd,FeeItems) then
|
|
|
begin
|
|
|
MessageDlg( '<27><><EFBFBD>ᵥ<EFBFBD><E1B5A5>Ϊ"'+ tdh+'"<22><>'+wtdw+'<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>Ϊ:'
|
|
|
+FormatFloat('0.00;0.00;0',amt) +'<27><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>Ϊ:'+FormatFloat('0.00;0.00;0',USD)
|
|
|
+'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>',mtWarning,[mbok],0);
|
|
|
Result:=False;
|
|
|
Break;
|
|
|
end;
|
|
|
end;
|
|
|
qry2_qdtd.Next;
|
|
|
end;
|
|
|
qry2_qdtd.GotoBookMark(bkmark);
|
|
|
qry2_qdtd.EnableControls; //<2F><><EFBFBD>¶<EFBFBD>λ<EFBFBD><CEBB>¼ָ<C2BC><D6B8><EFBFBD>ص<EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|
|
qry2_qdtd.FreeBookMark(bkmark); //ɾ<><C9BE><EFBFBD><EFBFBD>ǩBookMark<72><6B>־
|
|
|
end; //end CheckBilldue
|
|
|
|
|
|
procedure Tfrm__op_seae_sign_new_info.InitialUserinfo(qdtbh:string;iway:Integer);
|
|
|
begin
|
|
|
m_qdtbh:=qdtbh;
|
|
|
m_iway:=iway;
|
|
|
end;
|
|
|
procedure Tfrm__op_seae_sign_new_info.SigninfoShow();
|
|
|
begin
|
|
|
//
|
|
|
|
|
|
if not Assigned( frm__op_seae_sign_new_info ) then
|
|
|
begin
|
|
|
frm__op_seae_sign_new_info:= Tfrm__op_seae_sign_new_info.Create(self);
|
|
|
end;
|
|
|
frm__op_seae_sign_new_info.ShowModal();
|
|
|
end;
|
|
|
|
|
|
procedure Tfrm__op_seae_sign_new_info.show_qdtxx (qdtbh:string;iway:Integer);
|
|
|
var
|
|
|
qdtzht,picpath:string;
|
|
|
cancancel:Boolean;
|
|
|
begin
|
|
|
//
|
|
|
m_isNewSign:=False;
|
|
|
btn9_exit.visible:=false;
|
|
|
m_qdtbh:=qdtbh;
|
|
|
qry1_qdtm.Parameters.ParamByName('qdtbh').value:=qdtbh;
|
|
|
if (qry1_qdtm.State= dsOpening) or (qry1_qdtm.State =dsBrowse) or (qry1_qdtm.State= dsEdit) then
|
|
|
qry1_qdtm.Requery()
|
|
|
else
|
|
|
begin
|
|
|
qry1_qdtm.open;
|
|
|
qry1_qdtm.First;
|
|
|
end;
|
|
|
m_isPJ:=False;
|
|
|
m_reportname:='ǩ<><C7A9><EFBFBD><EFBFBD>';
|
|
|
dxdbgrdclmn9_usd.Visible:=false;
|
|
|
dxdbgrdclmn9_usd.SummaryFooterType:= cstNone;
|
|
|
dxdbgrdclmn10_rmb.Visible:=false;
|
|
|
dxdbgrdclmn10_rmb.SummaryFooterType:= cstNone;
|
|
|
dxdbgrd1Column11.visible:=false;
|
|
|
dxdbgrd1Column12.visible:=false;
|
|
|
if(not qry1_qdtm.Eof) then
|
|
|
begin
|
|
|
m_wtdw:= trim(qry1_qdtm.fieldbyname('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>').AsString);
|
|
|
if (qry1_qdtm.FieldByName('ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').IsNull=False)
|
|
|
and (qry1_qdtm.FieldByName('ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString='Ʊ<><C6B1>' ) then
|
|
|
begin
|
|
|
m_isPJ:=True;
|
|
|
m_reportname:='Ʊ<><C6B1>֪ͨ<CDA8><D6AA>' ;
|
|
|
dxdbgrdclmn9_usd.Visible:=True;
|
|
|
dxdbgrdclmn9_usd.SummaryFooterType:= cstSum;
|
|
|
dxdbgrdclmn10_rmb.Visible:=True;
|
|
|
dxdbgrdclmn10_rmb.SummaryFooterType:= cstSum;
|
|
|
dxdbgrd1Column11.visible:=true;
|
|
|
dxdbgrd1Column12.visible:=True;
|
|
|
end;
|
|
|
end;
|
|
|
if (m_isPJ) then begin
|
|
|
qry2_qdtd.SQL.text:=StringReplace(qry2_qdtd.SQL.text,'and V_op_bscard_All.<2E><><EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD><=Getdate()-7','',[]);
|
|
|
end;
|
|
|
|
|
|
qry2_qdtd.Parameters.ParamByName('qdtbh').value:=qdtbh;
|
|
|
qry2_qdtd.Parameters.ParamByName('qdtbh2').value:=qdtbh;
|
|
|
if (qry2_qdtd.State = dsOpening) or (qry2_qdtd.State= dsBrowse) or (qry2_qdtd.State= dsEdit) then
|
|
|
qry2_qdtd.Requery()
|
|
|
else
|
|
|
begin
|
|
|
qry2_qdtd.open;
|
|
|
qry2_qdtd.First;
|
|
|
end;
|
|
|
//֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9> <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|
|
{
|
|
|
if (GetNotieState) then
|
|
|
begin
|
|
|
btn3_notify.enabled:=True
|
|
|
end
|
|
|
else
|
|
|
}
|
|
|
btn3_notify.Enabled:=false;
|
|
|
//ȡ<><C8A1>ǩ<EFBFBD><C7A9><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|
|
qdtzht:= qry1_qdtm.fieldbyname('״̬').AsString;
|
|
|
btn2_CancelSignItem.Enabled:=false;
|
|
|
if (qdtzht='<27><><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>') or (qdtzht='ǩ<><C7A9>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>') or (qdtzht='<27>ᵥǩ<E1B5A5><C7A9>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>') or (qdtzht='֪ͨǩ<D6AA><C7A9>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>') then
|
|
|
cancancel:=True;
|
|
|
//(iway<=3) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>
|
|
|
if (cancancel=True) then
|
|
|
btn2_CancelSignItem.Enabled:=True;
|
|
|
|
|
|
if(not qry1_qdtm.eof) then
|
|
|
begin
|
|
|
if m_iway=31 then
|
|
|
picpath :=qry1_qdtm.fieldbyname('<27><><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9>ͼƬ').AsString
|
|
|
else
|
|
|
picpath :=qry1_qdtm.fieldbyname('<27>ͻ<EFBFBD>ǩ<EFBFBD><C7A9>ͼƬ').AsString;
|
|
|
|
|
|
picpath :=qry1_qdtm.fieldbyname('<27>ͻ<EFBFBD>ǩ<EFBFBD><C7A9>ͼƬ').AsString;
|
|
|
if (picpath<>'') and (FileExists(picpath)) then
|
|
|
begin
|
|
|
img1.Picture.LoadFromFile(picpath);
|
|
|
img1.Visible:=True;
|
|
|
end
|
|
|
else
|
|
|
img1.Visible:=false;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
img1.Visible:=false;
|
|
|
end;
|
|
|
btn9_exit.visible :=true;
|
|
|
|
|
|
//<2F>Ƿ<EFBFBD><C7B7>ط<EFBFBD>,<2C>طų<D8B7><C5B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>콫<EFBFBD><ECBDAB><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9>
|
|
|
if (not qry1_qdtm.FieldByName('<27>Ƿ<EFBFBD><C7B7>ط<EFBFBD>').IsNull) and ( qry1_qdtm.FieldByName('<27>Ƿ<EFBFBD><C7B7>ط<EFBFBD>').AsBoolean) then
|
|
|
begin
|
|
|
cxdbchckbx1_tf.Visible:=True;
|
|
|
cxlbl16_tf.Visible:=True;
|
|
|
cxdbdtdt1_tf.Visible:=True;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
cxdbchckbx1_tf.Visible:=false;
|
|
|
cxlbl16_tf.Visible:=false;
|
|
|
cxdbdtdt1_tf.Visible:=false;
|
|
|
end;
|
|
|
|
|
|
if(qry2_qdtd.Recordset<>nil) then
|
|
|
cxlbl20.Caption:= IntToStr(qry2_qdtd.Recordset.recordcount);
|
|
|
end;
|
|
|
procedure Tfrm__op_seae_sign_new_info.bsSkinButton2Click(Sender: TObject);
|
|
|
begin
|
|
|
//grid_save_xls(dxdbgrid1);
|
|
|
end;
|
|
|
/// <summary>
|
|
|
/// <20>趨<EFBFBD><E8B6A8>ʽ
|
|
|
/// </summary>
|
|
|
procedure Tfrm__op_seae_sign_new_info.btn3_sustprint(Sender: TObject);
|
|
|
begin
|
|
|
sys_print(m_reportname,2,ds1_qdtm,ds2_qdtd,nil,nil,nil,nil,nil,nil,nil,nil,nil);
|
|
|
end;
|
|
|
/// <summary>
|
|
|
///
|
|
|
/// </summary>
|
|
|
procedure Tfrm__op_seae_sign_new_info.FormShow(Sender: TObject);
|
|
|
begin
|
|
|
Width:=width-1;
|
|
|
show_qdtxx(m_qdtbh,m_iway);
|
|
|
end;
|
|
|
/// <summary>
|
|
|
/// ֱ<>Ӵ<EFBFBD>ӡ
|
|
|
/// </summary>
|
|
|
procedure Tfrm__op_seae_sign_new_info.btn8Click(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
try
|
|
|
sys_print(m_reportname ,3,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;
|
|
|
/// <summary>
|
|
|
/// <20><>ӡԤ<D3A1><D4A4>
|
|
|
/// </summary>
|
|
|
procedure Tfrm__op_seae_sign_new_info.btn11Click(Sender: TObject);
|
|
|
begin
|
|
|
try
|
|
|
sys_print(m_reportname,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_sign_new_info.btn9_mailSendClick(Sender: TObject);
|
|
|
var
|
|
|
//book1:Tbookmark;
|
|
|
aQuery:TADOQuery;
|
|
|
str:string;
|
|
|
strsjr:string;
|
|
|
begin
|
|
|
//1.<2E><>֤<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
str:= ' select d.*,c.<2E>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD> from t_code_cust_mailproject_detail d left join t_code_cust_mailproject c'
|
|
|
+' on (c.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=d.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) where <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=''ǩ<><C7A9><EFBFBD><EFBFBD>'' and c.<2E>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>='''+ m_wtdw + ''' and d.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> in '
|
|
|
+' ( SELECT distinct <20>ͻ<EFBFBD><CDBB>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD> from t_op_seae where ί<>е<EFBFBD>λ='''+ m_wtdw + ''' and isnull(<28>ͻ<EFBFBD><CDBB>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>,'''')<>'''' and '
|
|
|
+ ' <20><><EFBFBD>ᵥ<EFBFBD><E1B5A5> in ( select <20><><EFBFBD>ᵥ<EFBFBD><E1B5A5> from t_op_seae_sign_detail where ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>='''+ m_qdtbh+ ''' ) ) ; ';
|
|
|
|
|
|
aQuery:=CreateAdoQuery();
|
|
|
with aQuery do begin
|
|
|
close;sql.Clear;
|
|
|
SQL.Add(str);
|
|
|
Open;
|
|
|
strsjr:='';
|
|
|
|
|
|
if not IsEmpty then
|
|
|
begin
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>
|
|
|
First;
|
|
|
while not eof do
|
|
|
begin
|
|
|
//
|
|
|
if strsjr='' then
|
|
|
strsjr := fieldbyname('<27>ռ<EFBFBD><D5BC><EFBFBD>').AsString
|
|
|
else
|
|
|
strsjr := strsjr +',' +fieldbyname('<27>ռ<EFBFBD><D5BC><EFBFBD>').AsString;
|
|
|
Next;
|
|
|
end;
|
|
|
First;
|
|
|
mailSend.EmptyTable;
|
|
|
mailSend.Open;
|
|
|
mailSend.Insert;
|
|
|
mailSend.FieldByName('<27>ռ<EFBFBD><D5BC><EFBFBD>').AsString:=strsjr;//fieldbyname('<27>ռ<EFBFBD><D5BC><EFBFBD>').AsString;
|
|
|
mailSend.FieldByName('<27>ʼ<EFBFBD>ǩ<EFBFBD><C7A9>').AsString:=MailSignName;//frm_data_share.t_sys_employee.fieldbyname('<27>ʼ<EFBFBD>ǩ<EFBFBD><C7A9>').AsString;
|
|
|
|
|
|
str:=fieldbyname('<27><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>').AsString +FormatDateTime('YYYYMMDDHHMMSS',now) ;
|
|
|
mailsend.fieldbyname('<27>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>').AsString :=str;
|
|
|
str:= fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString + qry1_qdtm.Fields.fieldbyname('ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString;
|
|
|
mailSend.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString:=str;
|
|
|
//
|
|
|
if fieldbyname('<27>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>').IsNull then
|
|
|
str:=' '
|
|
|
else
|
|
|
str:=fieldbyname('<27>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>').AsString;
|
|
|
mailSend.FieldByName('<27>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>').AsString:=str;
|
|
|
|
|
|
mailSend.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString:=fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString;
|
|
|
mailSend.FieldByName('<27><><EFBFBD><EFBFBD>').AsString:= qry1_qdtm.Fields.fieldbyname('ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString;
|
|
|
mailSend.FieldByName('<27><><EFBFBD>ᵥ<EFBFBD><E1B5A5>').AsString:='';//t_op_letter.DataSource.DataSet.fieldbyname('<27><><EFBFBD>ᵥ<EFBFBD><E1B5A5>').AsString;
|
|
|
mailSend.Post;
|
|
|
try
|
|
|
sys_print(m_reportname,5,ds1_qdtm,ds2_qdtd,nil,nil,nil,nil,nil,nil,nil,nil,nil,true,m_wtdw,nil,nil,mailSend);
|
|
|
//<2F><><EFBFBD><EFBFBD>״̬
|
|
|
qry1_qdtm.Edit;
|
|
|
qry1_qdtm.FieldByName('<27>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsDateTime:=GetDbDatetime();
|
|
|
qry1_qdtm.Post;
|
|
|
except
|
|
|
qry1_qdtm.Cancel();
|
|
|
end;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
Application.MessageBox(PChar('<27>ͻ<EFBFBD>"'+ m_wtdw+ '"û<><C3BB>[ǩ<><C7A9><EFBFBD><EFBFBD>]<5D>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>÷<EFBFBD><C3B7><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!'),PChar('<27><>Ϣ<EFBFBD><CFA2>ʾ'),MB_ICONINFORMATION);
|
|
|
end;
|
|
|
end;
|
|
|
end;
|
|
|
procedure Tfrm__op_seae_sign_new_info.btn9_exitClick(Sender: TObject);
|
|
|
begin
|
|
|
close();
|
|
|
end;
|
|
|
|
|
|
/// <summary>
|
|
|
/// <20><><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9>֪ͨ<CDA8><D6AA>ť״̬<D7B4>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
|
|
|
/// </summary>
|
|
|
function Tfrm__op_seae_sign_new_info.GetNotieState():Boolean;
|
|
|
var
|
|
|
qdtzht:string;
|
|
|
begin
|
|
|
//
|
|
|
Result:=False;
|
|
|
if(not qry1_qdtm.Eof) then
|
|
|
begin
|
|
|
if(m_isPJ=false) then
|
|
|
begin
|
|
|
//<2F>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><C3B7><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
Exit;
|
|
|
end;
|
|
|
qdtzht:= qry1_qdtm.FieldByName('״̬').AsString;
|
|
|
if(qdtzht='<27><><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>') or (qdtzht='<27>Ѵ<EFBFBD>ӡǩ<D3A1><C7A9><EFBFBD><EFBFBD>') or (qdtzht='<27>ѷ<EFBFBD><D1B7><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>') then
|
|
|
begin
|
|
|
Result:=true;
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
//<2F>ж<EFBFBD>:<3A><><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD>ᵥ<EFBFBD>Ѿ<EFBFBD>ǩ<EFBFBD><C7A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9>
|
|
|
|
|
|
end;
|
|
|
|
|
|
function Tfrm__op_seae_sign_new_info.CheckIsAllCeckout():Boolean;
|
|
|
var
|
|
|
aquery:TADOQuery;
|
|
|
qdtbh,qdtzht,sqlstr:string;
|
|
|
begin
|
|
|
Result:=False;
|
|
|
if(not qry1_qdtm.Eof) then
|
|
|
begin
|
|
|
qdtzht:= qry1_qdtm.FieldByName('״̬').AsString;
|
|
|
if(qdtzht='ǩ<><C7A9>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>') then
|
|
|
begin
|
|
|
Result:=true;
|
|
|
end
|
|
|
else if(qdtzht='<27><><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>') or (qdtzht='<27>Ѵ<EFBFBD>ӡǩ<D3A1><C7A9><EFBFBD><EFBFBD>') or (qdtzht='<27>ѷ<EFBFBD><D1B7><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>') then
|
|
|
begin
|
|
|
//
|
|
|
aquery:=CreateAdoQuery();
|
|
|
aquery.Close;
|
|
|
aquery.SQL.Clear;
|
|
|
sqlstr:='select count(1) as fcount from ( select d.<2E><><EFBFBD><EFBFBD>,s.ҵ<><D2B5>״̬ FROM [t_op_seae_sign_detail] d left join '
|
|
|
+'(select <20><><EFBFBD><EFBFBD>,ҵ<><D2B5>״̬ from t_op_state where ҵ<><D2B5>״̬=''<27>ᵥǩ<E1B5A5><C7A9>'' ) s on d.<2E><><EFBFBD><EFBFBD>=s.<2E><><EFBFBD><EFBFBD> where d.ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> =:ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
|
|
+' v where ҵ<><D2B5>״̬ is null ';
|
|
|
aquery.SQL.Add(sqlstr);
|
|
|
aQuery.Parameters.ParamByName('ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').Value:=m_qdtbh;
|
|
|
aQuery.open();
|
|
|
aQuery.first;
|
|
|
if (not aquery.Eof) and (aquery.FieldByName('fcount').AsInteger=0) then
|
|
|
begin
|
|
|
// ȫ<><C8AB>ǩ<EFBFBD><C7A9>
|
|
|
aQuery.Close;
|
|
|
aQuery.SQL.Clear;
|
|
|
sqlstr:='update t_op_seae_sign_main set ״̬=''ǩ<><C7A9>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>'',ǩ<><C7A9>ʱ<EFBFBD><CAB1>=getdate() where ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=''' + qdtbh +''' ';
|
|
|
aquery.SQL.Add(sqlstr);
|
|
|
aquery.ExecSQL();
|
|
|
Result:=True;
|
|
|
end;
|
|
|
end;
|
|
|
end;
|
|
|
//<2F>ж<EFBFBD>
|
|
|
|
|
|
end;
|
|
|
|
|
|
/// <summary>
|
|
|
/// ֪ͨǩ<D6AA><C7A9>
|
|
|
/// </summary>
|
|
|
procedure Tfrm__op_seae_sign_new_info.btn3_notifyClick(Sender: TObject);
|
|
|
var
|
|
|
zht:string;
|
|
|
begin
|
|
|
//
|
|
|
if(GetNotieState) then
|
|
|
begin
|
|
|
zht:= qry1_qdtm.FieldByName('״̬').AsString;
|
|
|
|
|
|
//
|
|
|
try
|
|
|
frm_main.db.BeginTrans;
|
|
|
qry1_qdtm.Edit;
|
|
|
qry1_qdtm.FieldByName('״̬').AsString:='֪ͨǩ<D6AA><C7A9>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>';
|
|
|
qry1_qdtm.FieldByName('֪ͨǩ<D6AA><C7A9>ʱ<EFBFBD><CAB1>').AsDateTime:=GetDbDatetime();
|
|
|
frm_main.db.CommitTrans;
|
|
|
application.MessageBox(PChar('ǩ<><C7A9><EFBFBD><EFBFBD>֪ͨ<CDA8>ѷ<EFBFBD><D1B7><EFBFBD>'),'<27><>Ϣ<EFBFBD><CFA2>ʾ',MB_ICONINFORMATION) ;
|
|
|
qry1_qdtm.Requery();
|
|
|
except
|
|
|
on ex: Exception do
|
|
|
begin
|
|
|
errorlog(ex.Message) ;
|
|
|
ShowMessage(ex.Message);
|
|
|
qry1_qdtm.Cancel;
|
|
|
frm_main.db.rollbacktrans;
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
/// <summary>
|
|
|
/// ǩ<>ָ<EFBFBD><D6B8><EFBFBD>״̬
|
|
|
/// </summary>
|
|
|
procedure Tfrm__op_seae_sign_new_info.signletterSateDeal();
|
|
|
var
|
|
|
FeeItems:string;
|
|
|
amt,usd:Double;
|
|
|
tdh:string;
|
|
|
i:Integer;
|
|
|
begin
|
|
|
qry2_qdtd.first;
|
|
|
While Not qry2_qdtd.EOF Do //<2F>Ա<EFBFBD><D4B1><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
begin
|
|
|
begin
|
|
|
tdh:=qry2_qdtd.FieldByName('<27><><EFBFBD>ᵥ<EFBFBD><E1B5A5>').AsString;
|
|
|
if (not GetStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'֪ͨ<CDA8>ŵ<EFBFBD>'))
|
|
|
and (not GetStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'<27>ᵥǩ<E1B5A5><C7A9>'))
|
|
|
and (not GetStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'<27>ᵥǩ<E1B5A5><C7A9>'))
|
|
|
then
|
|
|
begin
|
|
|
if GetBillStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString) then //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
begin
|
|
|
InsertSeaeStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'֪ͨ<CDA8>ŵ<EFBFBD>',employee,FormatDateTime('YYYY-MM-DD',Now));
|
|
|
|
|
|
if (not GetStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'<27>ᵥǩ<E1B5A5><C7A9>'))
|
|
|
and (not GetStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'<27>ᵥǩ<E1B5A5><C7A9>'))
|
|
|
then
|
|
|
UpdateMblStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'֪ͨ<CDA8>ŵ<EFBFBD>');
|
|
|
end
|
|
|
else
|
|
|
if GetCorpNameSpecialAccount(FormatDateTime('YYYY-MM-DD',GetDbDatetime),qry1_qdtm.FieldByName('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>').AsString) then
|
|
|
begin
|
|
|
if MessageDlg(m_wtdw+' <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>û<EFBFBD>й<EFBFBD><D0B9><EFBFBD>'+#13#10+'ȷʵҪ<CAB5>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>',mtWarning,[mbyes,mbno],0)=mryes then
|
|
|
begin
|
|
|
InsertSeaeStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'֪ͨ<CDA8>ŵ<EFBFBD>',employee,FormatDateTime('YYYY-MM-DD',Now));
|
|
|
if (not GetStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'<27>ᵥǩ<E1B5A5><C7A9>'))
|
|
|
and (not GetStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'<27>ᵥǩ<E1B5A5><C7A9>'))
|
|
|
then
|
|
|
UpdateMblStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'֪ͨ<CDA8>ŵ<EFBFBD>');
|
|
|
end;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
if (Trim(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString)='') or (Trim(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString)='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>') or (Trim(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString)='<27>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>') or (qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').IsNull) then
|
|
|
begin
|
|
|
if GetCrmsales(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString
|
|
|
,m_wtdw,qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString,amt,usd,FeeItems) then
|
|
|
begin
|
|
|
//<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪƱ<CEAA><C6B1>
|
|
|
if MessageDlg('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪƱ<CEAA><C6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>Ϊ:'+FormatFloat('0.00;0.00;0',amt) +'<27><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>Ϊ:'+FormatFloat('0.00;0.00;0',USD) +'<27><><EFBFBD>ܷŵ<DCB7>'+#13#10+'<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>ģʽ:'+#13#10+'1.<2E>Ƿ<EFBFBD><C7B7>п<EFBFBD><D0BF>¸<EFBFBD><C2B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>'+#13#10+'2.<2E><><EFBFBD>˷ŵ<CBB7>'+#13#10+'3.<2E><><EFBFBD>˱<EFBFBD><CBB1>ŵ<EFBFBD>'+#13#10+'4.<2E><><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>',mtWarning,[mbno],0)=mryes then
|
|
|
begin
|
|
|
InsertSeaeStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'֪ͨ<CDA8>ŵ<EFBFBD>',employee,FormatDateTime('YYYY-MM-DD',Now));
|
|
|
|
|
|
if (not GetStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'<27>ᵥǩ<E1B5A5><C7A9>'))
|
|
|
and (not GetStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'<27>ᵥǩ<E1B5A5><C7A9>'))
|
|
|
then
|
|
|
UpdateMblStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'֪ͨ<CDA8>ŵ<EFBFBD>');
|
|
|
end;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
InsertSeaeStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'֪ͨ<CDA8>ŵ<EFBFBD>',employee,FormatDateTime('YYYY-MM-DD',Now));
|
|
|
if (not GetStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'<27>ᵥǩ<E1B5A5><C7A9>'))
|
|
|
and (not GetStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'<27>ᵥǩ<E1B5A5><C7A9>'))
|
|
|
then
|
|
|
UpdateMblStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'֪ͨ<CDA8>ŵ<EFBFBD>');
|
|
|
end;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
if GetCrmsales(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,m_wtdw
|
|
|
,qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString,amt,usd,FeeItems) then
|
|
|
begin
|
|
|
if MessageDlg('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>Ϊ:'+FormatFloat('0.00;0.00;0',amt) +'<27><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>Ϊ:'+FormatFloat('0.00;0.00;0',USD) +'<27><><EFBFBD>ܷŵ<DCB7>'+#13#10+'<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>ģʽ:'+#13#10+'1.<2E>Ƿ<EFBFBD><C7B7>п<EFBFBD><D0BF>¸<EFBFBD><C2B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>'+#13#10+'2.<2E><><EFBFBD>˷ŵ<CBB7>'+#13#10+'3.<2E><><EFBFBD>˱<EFBFBD><CBB1>ŵ<EFBFBD>'+#13#10+'4.<2E><><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>',mtWarning,[mbno],0)=mryes then
|
|
|
begin
|
|
|
InsertSeaeStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'֪ͨ<CDA8>ŵ<EFBFBD>',employee,FormatDateTime('YYYY-MM-DD',Now));
|
|
|
if (not GetStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'<27>ᵥǩ<E1B5A5><C7A9>'))
|
|
|
and (not GetStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'<27>ᵥǩ<E1B5A5><C7A9>'))
|
|
|
then
|
|
|
UpdateMblStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'֪ͨ<CDA8>ŵ<EFBFBD>');
|
|
|
end;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
InsertSeaeStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'֪ͨ<CDA8>ŵ<EFBFBD>',employee,FormatDateTime('YYYY-MM-DD',Now));
|
|
|
if (not GetStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'<27>ᵥǩ<E1B5A5><C7A9>'))
|
|
|
and (not GetStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'<27>ᵥǩ<E1B5A5><C7A9>')) then
|
|
|
UpdateMblStatus(qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString,'֪ͨ<CDA8>ŵ<EFBFBD>');
|
|
|
end;
|
|
|
end;
|
|
|
end;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
Application.MessageBox(pchar(tdh+ '<27>Ѿ<EFBFBD>֪ͨ<CDA8>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD>ᵥǩ<E1B5A5><C7A9>'),PChar('<27><>Ϣ<EFBFBD><CFA2>ʾ'),MB_ICONINFORMATION);
|
|
|
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
qry2_qdtd.Next;
|
|
|
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
/// <summary>
|
|
|
/// ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|
|
/// </summary>
|
|
|
procedure Tfrm__op_seae_sign_new_info.signoutSateDeal(wtdw:string);
|
|
|
var
|
|
|
FeeItems,reasons,JobAmt:string;
|
|
|
amt,usd:Double;
|
|
|
tdh:string; //<2F><><EFBFBD>ᵥ<EFBFBD><E1B5A5>
|
|
|
bh:string;// <20><><EFBFBD><EFBFBD>
|
|
|
jflx:string;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
i:Integer;
|
|
|
aAdoQuery:TAdoQuery;
|
|
|
begin
|
|
|
qry2_qdtd.first;
|
|
|
While Not qry2_qdtd.EOF Do //<2F>Ա<EFBFBD><D4B1><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
begin
|
|
|
tdh:=qry2_qdtd.FieldByName('<27><><EFBFBD>ᵥ<EFBFBD><E1B5A5>').AsString;
|
|
|
bh :=qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString;
|
|
|
jflx:= qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsString;
|
|
|
//
|
|
|
if GetCorpNameSpecialAccount(FormatDateTime('YYYY-MM-DD',GetDbDatetime),wtdw) then
|
|
|
begin
|
|
|
//
|
|
|
if MessageDlg(wtdw +' <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>û<EFBFBD>й<EFBFBD><D0B9><EFBFBD>'+#13#10+'ȷʵҪ<CAB5>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>',mtWarning,[mbyes,mbno],0)=mryes then
|
|
|
begin
|
|
|
reasons:=trim(InputBox('ԭ<><D4AD>', 'ԭ<><D4AD>', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'));
|
|
|
if reasons=''then
|
|
|
begin
|
|
|
showmessage('ԭ<><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD>');
|
|
|
exit;
|
|
|
end;
|
|
|
InsertSeaeStatus(bh,'<27>ᵥǩ<E1B5A5><C7A9>',employee,FormatDateTime('YYYY-MM-DD hh:mm:ss',Now),reasons);
|
|
|
InsertSeaeStatus(bh,'֪ͨ<CDA8>ŵ<EFBFBD>',employee,FormatDateTime('YYYY-MM-DD',Now));
|
|
|
UpateSeaeState(bh,'<27>ᵥǩ<E1B5A5><C7A9>');
|
|
|
|
|
|
end;
|
|
|
//
|
|
|
end
|
|
|
|
|
|
else
|
|
|
begin
|
|
|
//**b
|
|
|
if not GetStatus(bh,'<27>ᵥǩ<E1B5A5><C7A9>') then
|
|
|
begin
|
|
|
if GetBillStatusCount(bh) then
|
|
|
begin
|
|
|
if GetCrmOP(employee,m_wtdw,'<27><><EFBFBD><EFBFBD>') then //<2F><>ǩ<EFBFBD>ͻ<EFBFBD>
|
|
|
begin
|
|
|
reasons:=trim(InputBox('ԭ<><D4AD>', 'ԭ<><D4AD>', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'));
|
|
|
if reasons=''then
|
|
|
begin
|
|
|
showmessage('ԭ<><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD>');
|
|
|
exit;
|
|
|
end;
|
|
|
InsertSeaeStatus(bh,'<27>ᵥǩ<E1B5A5><C7A9>',employee,FormatDateTime('YYYY-MM-DD hh:mm:ss',Now),reasons);
|
|
|
InsertSeaeStatus(bh,'֪ͨ<CDA8>ŵ<EFBFBD>',employee,FormatDateTime('YYYY-MM-DD',Now));
|
|
|
UpateSeaeState(bh,'<27>ᵥǩ<E1B5A5><C7A9>');
|
|
|
end
|
|
|
else
|
|
|
if (jflx='') or (jflx='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>') or (jflx='<27>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>') or (qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').IsNull) then
|
|
|
begin
|
|
|
if GetCrmsales(bh,m_wtdw
|
|
|
,jflx,amt,usd,FeeItems) then
|
|
|
begin
|
|
|
JobAmt:=GetCrmpjAmt(bh);
|
|
|
if MessageDlg('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪƱ<CEAA><C6B1>'#13#10'<27><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>Ϊ:'+JobAmt+#13#10+'<27><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>Ϊ:'+FormatFloat('0.00;-0.00;0',amt) +'<27><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>Ϊ:'+FormatFloat('0.00;-0.00;0',USD) +'ȷʵҪ<CAB5>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>',mtWarning,[mbyes,mbno],0)=mryes then
|
|
|
begin
|
|
|
reasons:=trim(InputBox('ԭ<><D4AD>', 'ԭ<><D4AD>', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'));
|
|
|
if reasons=''then
|
|
|
begin
|
|
|
showmessage('ԭ<><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD>');
|
|
|
exit;
|
|
|
end;
|
|
|
InsertSeaeStatus(bh,'<27>ᵥǩ<E1B5A5><C7A9>',employee,FormatDateTime('YYYY-MM-DD hh:mm:ss',Now),reasons);
|
|
|
InsertSeaeStatus(bh,'֪ͨ<CDA8>ŵ<EFBFBD>',employee,FormatDateTime('YYYY-MM-DD',Now));
|
|
|
UpateSeaeState(bh,'<27>ᵥǩ<E1B5A5><C7A9>');
|
|
|
end;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
JobAmt:=GetCrmpjAmt(bh);
|
|
|
if trim(JobAmt)<>'' then
|
|
|
begin
|
|
|
if MessageDlg('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪƱ<CEAA><C6B1>'#13#10'<27><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>Ϊ:'+JobAmt +'ȷʵҪ<CAB5>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>',mtWarning,[mbyes,mbno],0)=mryes then
|
|
|
begin
|
|
|
reasons:=trim(InputBox('ԭ<><D4AD>', 'ԭ<><D4AD>', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'));
|
|
|
if reasons=''then
|
|
|
begin
|
|
|
showmessage('ԭ<><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD>');
|
|
|
exit;
|
|
|
end;
|
|
|
InsertSeaeStatus(bh,'֪ͨ<CDA8>ŵ<EFBFBD>',employee,FormatDateTime('YYYY-MM-DD',Now));
|
|
|
InsertSeaeStatus(bh,'<27>ᵥǩ<E1B5A5><C7A9>',employee,FormatDateTime('YYYY-MM-DD hh:mm:ss',Now));
|
|
|
UpateSeaeState(bh,'<27>ᵥǩ<E1B5A5><C7A9>');
|
|
|
end;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
InsertSeaeStatus(bh,'֪ͨ<CDA8>ŵ<EFBFBD>',employee,FormatDateTime('YYYY-MM-DD',Now));
|
|
|
InsertSeaeStatus(bh,'<27>ᵥǩ<E1B5A5><C7A9>',employee,FormatDateTime('YYYY-MM-DD hh:mm:ss',Now));
|
|
|
UpateSeaeState(bh,'<27>ᵥǩ<E1B5A5><C7A9>');
|
|
|
end;
|
|
|
end;
|
|
|
end
|
|
|
else
|
|
|
if (jflx='Լ<><D4BC>ʱ<EFBFBD><CAB1>') or (jflx='Լ<><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>') then
|
|
|
begin
|
|
|
if GetClientLimited(wtdw) then
|
|
|
begin
|
|
|
ShowMessage('<27>½<EFBFBD>Э<EFBFBD><D0AD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>ܷŵ<DCB7>,ϵͳ<CFB5>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>ΪƱ<CEAA><C6B1>,<2C><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>');
|
|
|
aAdoQuery:=CreateAdoQuery;
|
|
|
with aAdoQuery do
|
|
|
try
|
|
|
Close;SQL.Clear;
|
|
|
SQL.Add('Update t_op_seae set <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=''<27>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>''');
|
|
|
SQL.Add('where <20><><EFBFBD><EFBFBD>='+''''+bh+'''');
|
|
|
ExecSQL;
|
|
|
finally
|
|
|
Free;
|
|
|
end;
|
|
|
end
|
|
|
else
|
|
|
begin //
|
|
|
if GetCrmsales(bh,m_wtdw
|
|
|
,jflx,amt,usd,FeeItems) then
|
|
|
begin
|
|
|
if MessageDlg('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>½<EFBFBD>'+#13#10+'<27><><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>Ϊ:'+FormatFloat('0.00;-0.00;0',amt) +'<27><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>Ϊ:'+FormatFloat('0.00;-0.00;0',USD)+#13#10+#13#10+'ȷʵҪ<CAB5>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>',mtWarning,[mbyes,mbno],0)=mryes then
|
|
|
// if MessageDlg('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>½<EFBFBD>'+#13#10+'<27><><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>Ϊ:'+FormatFloat('0.00;-0.00;0',amt) +'<27><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>Ϊ:'+FormatFloat('0.00;-0.00;0',USD)+#13#10+FeeItems+#13#10+'ȷʵҪ<CAB5>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>',mtWarning,[mbyes,mbno],0)=mryes then
|
|
|
begin
|
|
|
reasons:=trim(InputBox('ԭ<><D4AD>', 'ԭ<><D4AD>', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'));
|
|
|
if reasons=''then
|
|
|
begin
|
|
|
showmessage('ԭ<><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD>');
|
|
|
exit;
|
|
|
end;
|
|
|
|
|
|
InsertSeaeStatus(bh,'֪ͨ<CDA8>ŵ<EFBFBD>',employee,FormatDateTime('YYYY-MM-DD',Now),reasons);
|
|
|
InsertSeaeStatus(bh,'<27>ᵥǩ<E1B5A5><C7A9>',employee,FormatDateTime('YYYY-MM-DD hh:mm:ss',Now));
|
|
|
UpateSeaeState(bh,'<27>ᵥǩ<E1B5A5><C7A9>');
|
|
|
end;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
InsertSeaeStatus(bh,'֪ͨ<CDA8>ŵ<EFBFBD>',employee,FormatDateTime('YYYY-MM-DD',Now));
|
|
|
InsertSeaeStatus(bh,'<27>ᵥǩ<E1B5A5><C7A9>',employee,FormatDateTime('YYYY-MM-DD hh:mm:ss',Now));
|
|
|
UpateSeaeState(bh,'<27>ᵥǩ<E1B5A5><C7A9>');
|
|
|
end;
|
|
|
end;
|
|
|
end;
|
|
|
end
|
|
|
else //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
begin
|
|
|
if GetBillStatus(bh) then //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
begin
|
|
|
if (jflx='') or (jflx='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>') or (jflx='<27>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>') or (qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').IsNull) then
|
|
|
begin
|
|
|
if GetCrmsales(bh,kbmMemTable1.FieldByName('ί<>е<EFBFBD>λ').AsString
|
|
|
,jflx,amt,usd,FeeItems) then
|
|
|
begin
|
|
|
JobAmt:=GetCrmpjAmt(bh);
|
|
|
if MessageDlg('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪƱ<CEAA><C6B1>'#13#10'<27><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>Ϊ:'+JobAmt+#13#10+'<27><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>Ϊ:'+FormatFloat('0.00;-0.00;0',amt) +'<27><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>Ϊ:'+FormatFloat('0.00;-0.00;0',USD) +'ȷʵҪ<CAB5>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>',mtWarning,[mbyes,mbno],0)=mryes then
|
|
|
begin
|
|
|
reasons:='';
|
|
|
InsertSeaeStatus(bh,'<27>ᵥǩ<E1B5A5><C7A9>',employee,FormatDateTime('YYYY-MM-DD hh:mm:ss',Now),reasons);
|
|
|
InsertSeaeStatus(bh,'֪ͨ<CDA8>ŵ<EFBFBD>',employee,FormatDateTime('YYYY-MM-DD',Now));
|
|
|
UpateSeaeState(bh,'<27>ᵥǩ<E1B5A5><C7A9>');
|
|
|
end;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
InsertSeaeStatus(bh,'<27>ᵥǩ<E1B5A5><C7A9>',employee,FormatDateTime('YYYY-MM-DD hh:mm:ss',Now));
|
|
|
InsertSeaeStatus(bh,'֪ͨ<CDA8>ŵ<EFBFBD>',employee,FormatDateTime('YYYY-MM-DD',Now));
|
|
|
UpateSeaeState(bh,'<27>ᵥǩ<E1B5A5><C7A9>');
|
|
|
end;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
if GetClientLimited(kbmMemTable1.FieldByName('ί<>е<EFBFBD>λ').AsString) then
|
|
|
begin
|
|
|
ShowMessage('<27>½<EFBFBD>Э<EFBFBD><D0AD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>ܷŵ<DCB7>,ϵͳ<CFB5>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>ΪƱ<CEAA><C6B1>,<2C><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>');
|
|
|
|
|
|
aAdoQuery:=CreateAdoQuery;
|
|
|
with aAdoQuery do
|
|
|
try
|
|
|
Close;SQL.Clear;
|
|
|
SQL.Add('Update t_op_seae set <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=''<27>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>''');
|
|
|
SQL.Add('where <20><><EFBFBD><EFBFBD>='+''''+bh+'''');
|
|
|
ExecSQL;
|
|
|
finally
|
|
|
Free;
|
|
|
end;
|
|
|
end;
|
|
|
if GetCrmsales(bh,kbmMemTable1.FieldByName('ί<>е<EFBFBD>λ').AsString
|
|
|
,jflx,amt,usd,FeeItems) then
|
|
|
begin
|
|
|
if MessageDlg('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>½<EFBFBD>'+#13#10+'<27><><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>Ϊ:'+FormatFloat('0.00;-0.00;0',amt) +'<27><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>Ϊ:'+FormatFloat('0.00;-0.00;0',USD)+#13#10+'ȷʵҪ<CAB5>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>',mtWarning,[mbyes,mbno],0)=mryes then
|
|
|
begin
|
|
|
reasons:='';
|
|
|
InsertSeaeStatus(bh,'<27>ᵥǩ<E1B5A5><C7A9>',employee,FormatDateTime('YYYY-MM-DD hh:mm:ss',Now),reasons);
|
|
|
InsertSeaeStatus(bh,'֪ͨ<CDA8>ŵ<EFBFBD>',employee,FormatDateTime('YYYY-MM-DD',Now));
|
|
|
UpateSeaeState(bh,'<27>ᵥǩ<E1B5A5><C7A9>');
|
|
|
end;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
InsertSeaeStatus(bh,'<27>ᵥǩ<E1B5A5><C7A9>',employee,FormatDateTime('YYYY-MM-DD hh:mm:ss',Now));
|
|
|
InsertSeaeStatus(bh,'֪ͨ<CDA8>ŵ<EFBFBD>',employee,FormatDateTime('YYYY-MM-DD',Now));
|
|
|
UpateSeaeState(bh,'<27>ᵥǩ<E1B5A5><C7A9>');
|
|
|
end;
|
|
|
end;
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
ShowMessage('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>,<2C><><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9>');
|
|
|
end;
|
|
|
end;
|
|
|
//**e
|
|
|
end;
|
|
|
end;
|
|
|
//
|
|
|
qry2_qdtd.Next;
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
procedure Tfrm__op_seae_sign_new_info.btn2_CancelSignItemClick(Sender: TObject);
|
|
|
var
|
|
|
i,iret:Integer;
|
|
|
isSelectAll :Boolean;
|
|
|
strxh,strinfo,strsql:string;
|
|
|
reasons:string;//ԭ<><D4AD>
|
|
|
begin
|
|
|
//״̬<D7B4><CCAC>δǩ<CEB4><C7A9><EFBFBD><EFBFBD> <20>û<EFBFBD>û<EFBFBD><C3BB>ǩ<EFBFBD>ֵ<EFBFBD>
|
|
|
if dxdbgrd1.SelectedCount<1 then
|
|
|
begin
|
|
|
Application.MessageBox(PChar('<27><>ѡ<EFBFBD><D1A1>Ҫȡ<D2AA><C8A1><EFBFBD><EFBFBD><EFBFBD>ᵥ!'),'<27><>Ϣ<EFBFBD><CFA2>ʾ',MB_ICONINFORMATION) ;
|
|
|
Exit;
|
|
|
end;
|
|
|
|
|
|
|
|
|
//begin check
|
|
|
isSelectAll:=False;
|
|
|
if(dxdbgrd1.Count =dxdbgrd1.SelectedCount) then
|
|
|
begin
|
|
|
strinfo:='ȡ<><C8A1>ȫ<EFBFBD><C8AB>ǩ<EFBFBD><C7A9>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>?';
|
|
|
isSelectAll:=true;
|
|
|
end
|
|
|
else
|
|
|
strinfo:='<27><>' + IntToStr(dxdbgrd1.SelectedCount) +'<27><><EFBFBD>ᵥ<EFBFBD><E1B5A5><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>,<2C>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>?' ;
|
|
|
iret:= application.MessageBox(pchar(strinfo),PChar('<27><>Ϣ<EFBFBD><CFA2>ʾ'),MB_YESNO or MB_ICONQUESTION );
|
|
|
if iret <> ID_YES then
|
|
|
Exit;
|
|
|
reasons:=trim(InputBox('ԭ<><D4AD>', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>ԭ<EFBFBD><D4AD>', ''));
|
|
|
if reasons=''then
|
|
|
begin
|
|
|
showmessage('ԭ<><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD>');
|
|
|
exit;
|
|
|
end;
|
|
|
reasons:=StringReplace(reasons,'''','''''',[rfReplaceAll]);
|
|
|
if( isSelectAll) then
|
|
|
begin
|
|
|
//<2F><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>־ <20>̽<EFBFBD><CCBD><EFBFBD> 2017-08-04
|
|
|
strsql:= 'INSERT INTO [dbo].[t_op_seae_sign_cancel_log] '
|
|
|
+' ([ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>],[<5B><><EFBFBD><EFBFBD>],[<5B><><EFBFBD>ᵥ<EFBFBD><E1B5A5>],[ȡ<><C8A1>ԭ<EFBFBD><D4AD>],[ȡ<><C8A1><EFBFBD><EFBFBD>],[ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]) '
|
|
|
+'SELECT [ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>],[<5B><><EFBFBD><EFBFBD>],[<5B><><EFBFBD>ᵥ<EFBFBD><E1B5A5>],'''+reasons +''' as ȡ<><C8A1>ԭ<EFBFBD><D4AD>,'''+employee+''' as ȡ<><C8A1><EFBFBD><EFBFBD>, getdate() as [ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] '
|
|
|
+' FROM [t_op_seae_sign_detail] where ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>='''+ m_qdtbh + ''''
|
|
|
+ ' delete from [t_op_state] where ҵ<><D2B5>״̬=''<27><><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>'' and <20><><EFBFBD><EFBFBD> '
|
|
|
+' in ( select <20><><EFBFBD><EFBFBD> from [t_op_seae_sign_detail] where ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>='''+ m_qdtbh + ''');' +#13#10
|
|
|
+'delete from [t_op_seae_sign_detail] where ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>='''+ m_qdtbh + ''';' +#13#10
|
|
|
+ 'update [t_op_seae_sign_main] set ״̬=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' where ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>='''+ m_qdtbh + ''';';
|
|
|
try
|
|
|
|
|
|
frm_main.db.BeginTrans;
|
|
|
frm_main.db.Execute(strsql) ;
|
|
|
frm_main.db.CommitTrans;
|
|
|
Application.MessageBox(PChar('<27><><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD>Ѿ<EFBFBD>ȡ<EFBFBD><C8A1>,<2C><>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>"ȷ<><C8B7>"<22>رմ<D8B1><D5B4><EFBFBD>!'),'<27><>Ϣ<EFBFBD><CFA2>ʾ',MB_ICONINFORMATION) ;
|
|
|
close();
|
|
|
|
|
|
except
|
|
|
on E: Exception do
|
|
|
begin
|
|
|
//
|
|
|
ShowMessage(E.Message);
|
|
|
frm_main.db.RollbackTrans;
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
end
|
|
|
else
|
|
|
begin
|
|
|
|
|
|
strxh:='''-123';
|
|
|
for i:=0 to dxdbgrd1.SelectedCount-1 do
|
|
|
begin//
|
|
|
qry2_qdtd.GoTobookmark(pointer(dxdbgrd1.SelectedRows[i]));
|
|
|
strxh := strxh +''',''' + qry2_qdtd.FieldByName('<27><><EFBFBD><EFBFBD>').AsString;
|
|
|
end;
|
|
|
strxh := strxh +'''';
|
|
|
try
|
|
|
//<2F><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>־ <20>̽<EFBFBD><CCBD><EFBFBD> 2017-08-04
|
|
|
strsql:= 'INSERT INTO [dbo].[t_op_seae_sign_cancel_log] '
|
|
|
+' ([ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>],[<5B><><EFBFBD><EFBFBD>],[<5B><><EFBFBD>ᵥ<EFBFBD><E1B5A5>],[ȡ<><C8A1>ԭ<EFBFBD><D4AD>],[ȡ<><C8A1><EFBFBD><EFBFBD>],[ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]) '
|
|
|
+'SELECT [ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>],[<5B><><EFBFBD><EFBFBD>],[<5B><><EFBFBD>ᵥ<EFBFBD><E1B5A5>],'''+reasons +''' as ȡ<><C8A1>ԭ<EFBFBD><D4AD>,'''+employee+''' as ȡ<><C8A1><EFBFBD><EFBFBD>, getdate() as [ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] '
|
|
|
+' FROM [t_op_seae_sign_detail] where ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>='''+ m_qdtbh + ''''
|
|
|
+ ' delete from [t_op_state] where ҵ<><D2B5>״̬=''<27><><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>'' and <20><><EFBFBD><EFBFBD> '
|
|
|
+' in ('+strxh + ');' +#13#10
|
|
|
|
|
|
+ ' delete from [t_op_state] where ҵ<><D2B5>״̬=''<27><><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>'' and <20><><EFBFBD><EFBFBD> in (' +strxh+ ');'
|
|
|
+' delete from [t_op_seae_sign_detail] where <20><><EFBFBD><EFBFBD> in ('+strxh + ');';
|
|
|
|
|
|
frm_main.db.BeginTrans;
|
|
|
frm_main.db.Execute(strsql) ;
|
|
|
frm_main.db.CommitTrans;
|
|
|
qry2_qdtd.Requery();
|
|
|
if(qry2_qdtd.Recordset<>nil) then
|
|
|
cxlbl20.Caption:= IntToStr(qry2_qdtd.Recordset.recordcount);
|
|
|
except
|
|
|
on E: Exception do
|
|
|
begin
|
|
|
frm_main.db.RollbackTrans;
|
|
|
ShowMessage(E.Message);
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
|
|
|
end;
|
|
|
procedure Tfrm__op_seae_sign_new_info.UpateSeaeState(bsno,billstate:string);
|
|
|
var aAdoQuery:TAdoQuery;
|
|
|
begin
|
|
|
aAdoQuery:=CreateAdoQuery;
|
|
|
with aAdoQuery do
|
|
|
try
|
|
|
Close;SQL.Clear;
|
|
|
SQL.Add('Update t_op_Seae');
|
|
|
SQL.Add('set <20>ᵥǩ<E1B5A5><C7A9>״̬=:billstate ,ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=:ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> where <20><><EFBFBD><EFBFBD>=:bsNo');
|
|
|
Parameters.ParamByName('bsNo').value:=bsno;
|
|
|
Parameters.ParamByName('billstate').value:=billstate;
|
|
|
Parameters.ParamByName('ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').value:=GetDbDatetime();;
|
|
|
execsql;
|
|
|
finally
|
|
|
aAdoQuery.Free;
|
|
|
end;
|
|
|
end;
|
|
|
function Tfrm__op_seae_sign_new_info.GetClientLimited(sname:string):Boolean;
|
|
|
var AAdoQuery:TAdoQuery;
|
|
|
begin
|
|
|
Result:=False;
|
|
|
AAdoQuery:=CreateAdoQuery;
|
|
|
with AAdoQuery do
|
|
|
try
|
|
|
Close;SQL.Clear;
|
|
|
SQL.Add('Select <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> from t_crm_client_sales');
|
|
|
SQL.Add('where <20>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>=:SName and <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> in (''Լ<><D4BC>ʱ<EFBFBD><CAB1>'',''Լ<><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'')');
|
|
|
Parameters.ParamByName('SName').Value:=SName;
|
|
|
Open;First;
|
|
|
if not IsEmpty then
|
|
|
begin
|
|
|
if FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').Value<Date then
|
|
|
Result:=True;
|
|
|
end
|
|
|
else
|
|
|
Result:=True;
|
|
|
finally
|
|
|
Free;
|
|
|
end;
|
|
|
end;
|
|
|
//ȷ<><C8B7>ǩ<EFBFBD><C7A9>
|
|
|
procedure Tfrm__op_seae_sign_new_info.btn8_confirmSignoutClick(Sender: TObject);
|
|
|
var
|
|
|
zht,wtdw:string;
|
|
|
|
|
|
picfile,pdffile:string;
|
|
|
remotePath:string;
|
|
|
begin
|
|
|
|
|
|
end;
|
|
|
|
|
|
procedure Tfrm__op_seae_sign_new_info.mniN1ViewCustSignClick(Sender: TObject);
|
|
|
var
|
|
|
tmpfile:string;
|
|
|
begin
|
|
|
if qry1_qdtm.IsEmpty then exit;
|
|
|
try
|
|
|
|
|
|
tmpfile:=qry1_qdtm.fieldbyname('<27>ͻ<EFBFBD>ǩ<EFBFBD><C7A9>').asstring ;
|
|
|
|
|
|
if(tmpfile='') or (not FileExists(tmpfile)) then
|
|
|
Exit;
|
|
|
ShellExecute(Handle, nil, pchar(tmpfile), nil, nil, SW_NORMAL);
|
|
|
except
|
|
|
showmessage('<27><><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飡');
|
|
|
end ;
|
|
|
end;
|
|
|
procedure Tfrm__op_seae_sign_new_info.mniN2_ViewInvoceSignClick(
|
|
|
Sender: TObject);
|
|
|
var
|
|
|
tmpfile:string;
|
|
|
begin
|
|
|
//
|
|
|
if qry1_qdtm.IsEmpty then exit;
|
|
|
|
|
|
try
|
|
|
|
|
|
tmpfile:=qry1_qdtm.fieldbyname('<27><><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9>').asstring ;
|
|
|
|
|
|
if(tmpfile='') or (not FileExists(tmpfile)) then
|
|
|
Exit;
|
|
|
ShellExecute(Handle, nil, pchar(tmpfile), nil, nil, SW_NORMAL);
|
|
|
except
|
|
|
showmessage('<27><><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飡');
|
|
|
end ;
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure Tfrm__op_seae_sign_new_info.FormClose(Sender: TObject;
|
|
|
var Action: TCloseAction);
|
|
|
begin
|
|
|
//
|
|
|
qry1_qdtm.Close;
|
|
|
qry2_qdtd.Close;
|
|
|
|
|
|
end;
|
|
|
|
|
|
procedure Tfrm__op_seae_sign_new_info.FormDestroy(Sender: TObject);
|
|
|
begin
|
|
|
if Self=frm__op_seae_sign_new_info then
|
|
|
frm__op_seae_sign_new_info := nil;
|
|
|
end;
|
|
|
|
|
|
procedure Tfrm__op_seae_sign_new_info.dxdbgrd1CustomDraw(Sender: TObject;
|
|
|
ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
|
|
|
AColumn: TdxDBTreeListColumn; const AText: String; AFont: TFont;
|
|
|
var AColor: TColor; ASelected, AFocused: Boolean; var ADone: Boolean);
|
|
|
begin
|
|
|
if ANode.Index mod 2=0 then
|
|
|
AColor:= cl3DLight;
|
|
|
if (not qry1_qdtm.IsEmpty) and ( not qry1_qdtm.FieldByName('<27>Ƿ<EFBFBD><C7B7>ط<EFBFBD>').IsNull) and ( qry1_qdtm.FieldByName('<27>Ƿ<EFBFBD><C7B7>ط<EFBFBD>').AsBoolean) then
|
|
|
AFont.Color:=clGreen;
|
|
|
end;
|
|
|
|
|
|
procedure Tfrm__op_seae_sign_new_info.dxdbgrd1Column11CustomDraw(
|
|
|
Sender: TObject; ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
|
|
|
AColumn: TdxDBTreeListColumn; const AText: String; AFont: TFont;
|
|
|
var AColor: TColor; ASelected, AFocused: Boolean; var ADone: Boolean);
|
|
|
var
|
|
|
SS:Double;
|
|
|
begin
|
|
|
SS:=StrToFloatDef(ANode.strings[dxdbgrd1Column11.Index],0);
|
|
|
if (SS=0) then
|
|
|
AFont.Color:=clred;
|
|
|
end;
|
|
|
|
|
|
procedure Tfrm__op_seae_sign_new_info.dxdbgrd1Column12CustomDraw(
|
|
|
Sender: TObject; ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
|
|
|
AColumn: TdxDBTreeListColumn; const AText: String; AFont: TFont;
|
|
|
var AColor: TColor; ASelected, AFocused: Boolean; var ADone: Boolean);
|
|
|
|
|
|
var
|
|
|
SS:Double;
|
|
|
begin
|
|
|
SS:=StrToFloatDef(ANode.strings[dxdbgrd1Column12.Index],0);
|
|
|
if (SS=0) then
|
|
|
AFont.Color:=clred;
|
|
|
end;
|
|
|
|
|
|
end.
|