You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

259 lines
9.7 KiB
Plaintext

11 months ago
unit u_ch_accept_do;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, BusinessSkinForm, bsSkinCtrls, StdCtrls, RxLookup, Mask,
bsSkinBoxCtrls, bsdbctrls, ComCtrls,ADODB;
type
Tfrm_ch_accept_do = class(TForm)
bsSkinGroupBox1: TbsSkinGroupBox;
Label6: TLabel;
Label7: TLabel;
Label10: TLabel;
Edit2: TEdit;
Memo1: TMemo;
bsSkinButton1: TbsSkinButton;
bsSkinButton2: TbsSkinButton;
bsBusinessSkinForm1: TbsBusinessSkinForm;
RxDBLookupCombo3: TRxDBLookupCombo;
RxDBLookupCombo1: TRxDBLookupCombo;
Label2: TLabel;
RxDBLookupCombo2: TRxDBLookupCombo;
Label1: TLabel;
DateTimePicker1: TDateTimePicker;
Label3: TLabel;
procedure bsSkinButton1Click(Sender: TObject);
procedure bsSkinButton2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure RxDBLookupCombo2Enter(Sender: TObject);
procedure RxDBLookupCombo2Exit(Sender: TObject);
procedure RxDBLookupCombo3Enter(Sender: TObject);
procedure RxDBLookupCombo3Exit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frm_ch_accept_do: Tfrm_ch_accept_do;
implementation
uses u_ch_balance_accept, my_sys_function, u_main, u_data_share,
u_sys_progress;
{$R *.dfm}
procedure Tfrm_ch_accept_do.bsSkinButton1Click(Sender: TObject);
var
str,str_feeValid:string;
i:integer;
begin
str:=RxDBLookupCombo1.DisplayValue;
if not ASSIGNED(frm_sys_progress) then
frm_sys_progress:=tfrm_sys_progress.Create(application);
frm_sys_progress.bsSkinGauge1.ProgressText:='<27><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱥ򡣡<C8BA><F2A1A3A1><EFBFBD>';
frm_sys_progress.Show;
frm_main.db.BeginTrans;
with frm_ch_balance_accept do
try
t_ch_balance.Insert;
t_ch_balance['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:='<27><><EFBFBD><EFBFBD>';
t_ch_balance['<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>']:=t_ch_accept_shen['<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>'];
t_ch_balance['<27><><EFBFBD>ʽ']:=str;
t_ch_balance['<27>ұ<EFBFBD>']:=t_ch_accept_shen['<27>ұ<EFBFBD>'];
t_ch_balance['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=formatdatetime('YYYY-MM-DD',DateTimePicker1.date);
t_ch_balance['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=formatdatetime('YYYY-MM-DD',DateTimePicker1.date);
t_ch_balance.fieldbyname('<27>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD>').asstring:=get_no(date,'BA');
{
t_ch_balance['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=t_ch_accept_shen['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'];
t_ch_balance['ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=t_ch_accept_shen['ʵ<>ʽ<EFBFBD><CABD><EFBFBD>'];
t_ch_balance['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=t_ch_accept_shen['<27><EFBFBD><E9BFAA><EFBFBD><EFBFBD>'];
}
t_ch_balance['Ԥ<><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=0;
{
t_ch_balance['<27><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>']:=t_ch_accept_shen['<27><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>'];
t_ch_balance['<27><><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>']:=t_ch_accept_shen['<27><><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>'];
}
t_ch_balance['<27><><EFBFBD>д<EFBFBD><D0B4><EFBFBD>']:=frm_ch_accept_do.RxDBLookupCombo3.DisplayValues[0];
t_ch_balance['<27><><EFBFBD><EFBFBD>']:=frm_ch_accept_do.RxDBLookupCombo3.DisplayValues[1];
if StrToBool(get_parameters_value(83,'false')) then
begin
t_ch_balance['<27><>Ԫ<EFBFBD><D4AA><EFBFBD>д<EFBFBD><D0B4><EFBFBD>']:=frm_ch_accept_do.RxDBLookupCombo2.DisplayValues[0];
t_ch_balance['<27><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>']:=frm_ch_accept_do.RxDBLookupCombo2.DisplayValues[1];
end;
t_ch_balance['ƾ֤<C6BE><D6A4><EFBFBD><EFBFBD>']:=frm_ch_accept_do.Edit2.text;
if trim(t_ch_accept_shen.fieldbyname('<27><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>').asstring)<>'' then
t_ch_balance['<27><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>']:=trim(t_ch_accept_shen.fieldbyname('<27><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>').asstring);
t_ch_balance['<27><>ע']:=frm_ch_accept_do.Memo1.text;
if t_ch_fee_do_accept.RecordCount>0 then
frm_sys_progress.bsSkinGauge1.MaxValue:=t_ch_fee_do_accept.RecordCount+2;
frm_sys_progress.bsSkinGauge1.MinValue:=0;
frm_sys_progress.bsSkinGauge1.Value:=0;
t_ch_fee_do_detail.close;
t_ch_fee_do_detail.sql.text:='select top 0 * from t_ch_fee_do ';
t_ch_fee_do_detail.open;
if dxDBGrid19.SelectedCount>0 then
begin
for i:=0 to dxDBGrid19.SelectedCount-1 do
begin
t_ch_accept_shen.GotoBookmark(pointer(dxDBGrid19.selectedrows[i]));
if trim(t_ch_accept_shen.fieldbyname('<27><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>').asstring)<>'' then
UpdateInvoiceStatus(trim(t_ch_accept_shen.fieldbyname('<27><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>').asstring),1);
t_ch_balance['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=t_ch_balance['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']+t_ch_accept_shen['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'];
t_ch_balance['ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=t_ch_balance['ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']+t_ch_accept_shen['ʵ<>ʽ<EFBFBD><CABD><EFBFBD>'];
t_ch_balance['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=t_ch_balance['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']+t_ch_accept_shen['<27><EFBFBD><E9BFAA><EFBFBD><EFBFBD>'];
t_ch_balance['<27><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>']:=t_ch_balance['<27><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>']+t_ch_accept_shen['<27><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>'];
t_ch_balance['<27><><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>']:=t_ch_balance['<27><><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>']+t_ch_accept_shen['<27><><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>'];
t_ch_fee_do_accept.first;
while not t_ch_fee_do_accept.eof do
begin
t_ch_fee_do_detail.insert;
t_ch_fee_do_detail['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=t_ch_balance.fieldbyname('<27>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD>').asstring;
t_ch_fee_do_detail['ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=t_ch_fee_do_accept['ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'];
t_ch_fee_do_detail['CH_ID']:=t_ch_fee_do_accept['CH_ID'];
t_ch_fee_do_detail['<27>ұ<EFBFBD>']:=t_ch_fee_do_accept['<27>ұ<EFBFBD>'];
t_ch_fee_do_detail['<27><><EFBFBD><EFBFBD>']:=t_ch_fee_do_accept['<27><><EFBFBD><EFBFBD>'];
t_ch_fee_do_detail['ԭʼ<D4AD><CABC><EFBFBD><EFBFBD>']:=t_ch_fee_do_accept['ԭʼ<D4AD><CABC><EFBFBD><EFBFBD>'];
t_ch_fee_do_detail['<27><><EFBFBD><EFBFBD>']:='3';
t_ch_fee_do_detail.Post;
Setfee(0,t_ch_fee_do_accept.fieldbyname('CH_ID').AsInteger,t_ch_fee_do_accept.fieldbyname('ԭʼ<D4AD><CABC><EFBFBD><EFBFBD>').AsCurrency);
frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1;
t_ch_fee_do_accept.next;
end;
frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1;
t_ch_accept_shen.Edit;
t_ch_accept_shen['<27><><EFBFBD><EFBFBD>״̬']:='<27>տ<EFBFBD><D5BF><EFBFBD><EFBFBD><EFBFBD>';
t_ch_accept_shen['<27>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD>']:=t_ch_balance.fieldbyname('<27>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD>').asstring;
t_ch_accept_shen['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=employee;
t_ch_accept_shen['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=now;
t_ch_accept_shen['<27>տʽ']:=str;
t_ch_accept_shen['<27><><EFBFBD>غ<EFBFBD><D8BA><EFBFBD>']:=frm_ch_accept_do.Edit2.text;
t_ch_accept_shen.post;
end;
end
else
begin
if t_ch_fee_do_accept.RecordCount>0 then
frm_sys_progress.bsSkinGauge1.MaxValue:=t_ch_fee_do_accept.RecordCount+2;
frm_sys_progress.bsSkinGauge1.MinValue:=0;
frm_sys_progress.bsSkinGauge1.Value:=0;
t_ch_balance['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=t_ch_balance['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']+t_ch_accept_shen['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'];
t_ch_balance['ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=t_ch_balance['ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']+t_ch_accept_shen['ʵ<>ʽ<EFBFBD><CABD><EFBFBD>'];
t_ch_balance['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=t_ch_balance['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']+t_ch_accept_shen['<27><EFBFBD><E9BFAA><EFBFBD><EFBFBD>'];
t_ch_balance['<27><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>']:=t_ch_balance['<27><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>']+t_ch_accept_shen['<27><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>'];
t_ch_balance['<27><><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>']:=t_ch_balance['<27><><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>']+t_ch_accept_shen['<27><><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>'];
if trim(t_ch_accept_shen.fieldbyname('<27><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>').asstring)<>'' then
UpdateInvoiceStatus(trim(t_ch_accept_shen.fieldbyname('<27><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>').asstring),1);
t_ch_fee_do_accept.first;
while not t_ch_fee_do_accept.eof do
begin
t_ch_fee_do_detail.insert;
t_ch_fee_do_detail['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=t_ch_balance.fieldbyname('<27>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD>').asstring;
t_ch_fee_do_detail['ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=t_ch_fee_do_accept['ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'];
t_ch_fee_do_detail['CH_ID']:=t_ch_fee_do_accept['CH_ID'];
t_ch_fee_do_detail['<27>ұ<EFBFBD>']:=t_ch_fee_do_accept['<27>ұ<EFBFBD>'];
t_ch_fee_do_detail['<27><><EFBFBD><EFBFBD>']:=t_ch_fee_do_accept['<27><><EFBFBD><EFBFBD>'];
t_ch_fee_do_detail['ԭʼ<D4AD><CABC><EFBFBD><EFBFBD>']:=t_ch_fee_do_accept['ԭʼ<D4AD><CABC><EFBFBD><EFBFBD>'];
t_ch_fee_do_detail['<27><><EFBFBD><EFBFBD>']:='3';
t_ch_fee_do_detail.Post;
Setfee(0,t_ch_fee_do_accept.fieldbyname('CH_ID').AsInteger,t_ch_fee_do_accept.fieldbyname('ԭʼ<D4AD><CABC><EFBFBD><EFBFBD>').AsCurrency);
frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1;
t_ch_fee_do_accept.next;
end;
frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1;
t_ch_accept_shen.Edit;
t_ch_accept_shen['<27><><EFBFBD><EFBFBD>״̬']:='<27>տ<EFBFBD><D5BF><EFBFBD><EFBFBD><EFBFBD>';
t_ch_accept_shen['<27>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD>']:=t_ch_balance.fieldbyname('<27>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD>').asstring;
t_ch_accept_shen['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=employee;
t_ch_accept_shen['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=now;
t_ch_accept_shen['<27>տʽ']:=str;
t_ch_accept_shen['<27><><EFBFBD>غ<EFBFBD><D8BA><EFBFBD>']:=frm_ch_accept_do.Edit2.text;
t_ch_accept_shen.post;
end;
t_ch_balance.Post;
t_ch_accept_shen.Requery;
t_ch_balance.Requery;
dxDBGrid10.ClearSelection;
frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1;
t_ch_fee_do_detail.close;
frm_main.db.CommitTrans;
finally
str_feeValid:=SetfeeValid(t_ch_balance.fieldbyname('<27>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD>').asstring);
if trim(str_feeValid) <>'' then
begin
ShowMessage('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD>'+#13#10+str_feeValid);
end;
frm_sys_progress.Close;
frm_sys_progress.Free;
frm_sys_progress:=nil;
frm_ch_accept_do.close;
if frm_main.db.InTransaction then
begin
ShowMessage('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˢ<EFBFBD><CBA2><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>');
frm_main.db.RollbackTrans;
end;
end;
end;
procedure Tfrm_ch_accept_do.bsSkinButton2Click(Sender: TObject);
begin
close;
end;
procedure Tfrm_ch_accept_do.FormShow(Sender: TObject);
begin
DateTimePicker1.date:=Date;
if StrToBool(get_parameters_value(83,'false')) then begin
RxDBLookupCombo2.Visible:=TRUE;
Label2.Visible:=true;
Label6.Caption:='RMB<4D><42><EFBFBD><EFBFBD>';
end else begin
RxDBLookupCombo2.Visible:=false;
Label2.Visible:=true;
Label6.Caption:='<27><> <20><>';
end;
end;
procedure Tfrm_ch_accept_do.RxDBLookupCombo2Enter(Sender: TObject);
begin
frm_data_share.t_sys_bank.Filtered:=false;
frm_data_share.t_sys_bank.Filter:='<27>ұ<EFBFBD>=''USD''';
frm_data_share.t_sys_bank.Filtered:=true;
end;
procedure Tfrm_ch_accept_do.RxDBLookupCombo2Exit(Sender: TObject);
begin
frm_data_share.t_sys_bank.Filtered:=false;
end;
procedure Tfrm_ch_accept_do.RxDBLookupCombo3Enter(Sender: TObject);
begin
frm_data_share.t_sys_bank.Filtered:=false;
if StrToBool(get_parameters_value(83,'false')) then begin
frm_data_share.t_sys_bank.Filter:='<27>ұ<EFBFBD>=''RMB''';
frm_data_share.t_sys_bank.Filtered:=true;
end;
end;
procedure Tfrm_ch_accept_do.RxDBLookupCombo3Exit(Sender: TObject);
begin
frm_data_share.t_sys_bank.Filtered:=false;
end;
end.