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.

232 lines
7.2 KiB
Plaintext

unit u_ch_check_do;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, bsSkinCtrls, StdCtrls, BusinessSkinForm, DBCtrls, Mask, RxLookup,
DB, ADODB;
type
Tfrm_ch_check_do = class(TForm)
bsSkinGroupBox1: TbsSkinGroupBox;
bsSkinCheckRadioBox1: TbsSkinCheckRadioBox;
bsSkinCheckRadioBox2: TbsSkinCheckRadioBox;
bsSkinCheckRadioBox3: TbsSkinCheckRadioBox;
bsSkinCheckRadioBox4: TbsSkinCheckRadioBox;
bsSkinCheckRadioBox6: TbsSkinCheckRadioBox;
Label1: TLabel;
Edit1: TEdit;
bsBusinessSkinForm1: TbsBusinessSkinForm;
bsSkinButton1: TbsSkinButton;
bsSkinButton2: TbsSkinButton;
bsSkinCheckRadioBox7: TbsSkinCheckRadioBox;
Label7: TLabel;
Label10: TLabel;
Edit2: TEdit;
Memo1: TMemo;
bsSkinCheckRadioBox5: TbsSkinCheckRadioBox;
bsSkinCheckRadioBox8: TbsSkinCheckRadioBox;
Label2: TLabel;
RxDBLookupCombo15: TRxDBLookupCombo;
procedure bsSkinButton2Click(Sender: TObject);
procedure bsSkinButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frm_ch_check_do: Tfrm_ch_check_do;
implementation
uses u_main, u_ch_balance_pay, my_sys_function, u_sys_progress,
u_data_share;
{$R *.dfm}
procedure Tfrm_ch_check_do.bsSkinButton2Click(Sender: TObject);
begin
close;
end;
procedure Tfrm_ch_check_do.bsSkinButton1Click(Sender: TObject);
var
str,balno,errorstr,mblno:string;
istrue:Boolean;
function isPayTrue(CH_ID:integer;PayAmt:Double;Cust:String;var mblno:string):Boolean;
var
aQuery:TADOQuery;
begin
aQuery:=CreateAdoQuery;
result:=false;
try
try
with aQuery do begin
Close;SQL.Clear;
SQL.Add('Select 쏜띨,써炬쏜띨,와빵츰냔,(SELECT top 1 寮瓊데뵀 FROM T_OP_SEAE WHERE 긍뵀=t_ch_fee.긍뵀) 寮瓊데뵀 from t_ch_fee where ch_id='+inttostr(CH_ID));
Open;
if not IsEmpty then begin
if FieldByName('쏜띨').AsFloat>=0 then begin
if ((FieldByName('써炬쏜띨').AsFloat+payamt)<=(FieldByName('쏜띨').AsFloat+0.004)) then
result:=true;
end else begin
if ((FieldByName('써炬쏜띨').AsFloat+payamt)>=(FieldByName('쏜띨').AsFloat-0.004)) then
result:=true;
end;
if (not Result) then mblno:=FieldByName('寮瓊데뵀').AsString;
end;
end;
except
end;
finally
FreeAndNil(aQuery);
end;
end;
begin
if bsSkinCheckRadioBox1.Checked then
str:=bsSkinCheckRadioBox1.Caption;
if bsSkinCheckRadioBox2.Checked then
str:=bsSkinCheckRadioBox2.Caption;
if bsSkinCheckRadioBox3.Checked then
str:=bsSkinCheckRadioBox3.Caption;
if bsSkinCheckRadioBox4.Checked then
str:=bsSkinCheckRadioBox4.Caption;
if bsSkinCheckRadioBox6.Checked then
str:=bsSkinCheckRadioBox6.Caption;
if bsSkinCheckRadioBox7.Checked then
str:=bsSkinCheckRadioBox7.Caption;
if bsSkinCheckRadioBox5.Checked then
str:=bsSkinCheckRadioBox5.Caption;
if bsSkinCheckRadioBox8.Checked then
str:=bsSkinCheckRadioBox8.Caption;
istrue:=true;
errorstr:='';
with frm_ch_balance_pay do
begin
t_ch_fee_do_check.close;
t_ch_fee_do_check.Open;
t_ch_fee_do_check.DisableControls;
t_ch_fee_do_check.first;
while not t_ch_fee_do_check.eof do
begin
if isPayTrue(t_ch_fee_do_check['CH_ID'],t_ch_fee_do_check['覩迦쏜띨'],t_ch_check['와빵츰냔'],mblno) and (t_ch_fee_do_check['묏鱗긍뵀']=t_ch_check['<27>헝긍뵀']) then
begin
end else begin
istrue:=false;
errorstr:=errorstr+' 瓊데뵀:'+mblno+' 쏜띨:'+t_ch_fee_do_check.fieldbyname('覩迦쏜띨').AsString;
end;
t_ch_fee_do_check.next;
end;
end;
if (istrue=false)then
begin
showmessage('뎠품轟랬써炬,헝쇱꿴롤痰:'+errorstr);
exit;
end;
if not ASSIGNED(frm_sys_progress) then
frm_sys_progress:=tfrm_sys_progress.Create(self);
frm_sys_progress.bsSkinGauge1.ProgressText:='攣瞳뇹잿鑒앴。。。';
frm_sys_progress.Show;
frm_main.db.BeginTrans;
try
with frm_ch_balance_pay do
begin
balno:=get_no(date,'BP');
t_ch_balance.Insert;
t_ch_balance['써炬잚깎']:='<27>헝';
t_ch_balance['琅데긍뵀']:=balno;
t_ch_balance['와빵츰냔']:=t_ch_check['와빵츰냔'];
t_ch_balance['써炬렘駕']:=str;
t_ch_balance['귑깎']:=t_ch_check['귑깎'];
t_ch_balance['써炬쏜띨']:=t_ch_check['<27>헝쏜띨'];
t_ch_balance['茄써쏜띨']:=t_ch_check['茄셥쏜띨'];
t_ch_balance['肯써쏜띨']:=t_ch_check['肯역쏜띨'];
t_ch_balance['宮밑뵀쯤']:=edit1.text;
t_ch_balance['陵契덜쯤']:=frm_ch_check_do.RxDBLookupCombo15.DisplayValues[0];
if frm_data_share.t_sys_bank.Locate('덜쯤',frm_ch_check_do.RxDBLookupCombo15.DisplayValues[0],[])then begin
t_ch_balance['陵契']:=frm_data_share.t_sys_bank.fieldbyname('陵契츰냔').asstring;
end else begin
t_ch_balance['陵契']:='';
end;
// t_ch_balance['陵契']:=frm_ch_check_do.RxDBLookupCombo3.DisplayValue;
t_ch_balance['틴聯뵀쯤']:=frm_ch_check_do.Edit2.text;
t_ch_balance['구鬧']:=frm_ch_check_do.Memo1.text;
t_ch_balance.Post;
t_ch_fee_do_check.close;
t_ch_fee_do_check.Open;
frm_sys_progress.bsSkinGauge1.MaxValue:=t_ch_fee_do_check.recordcount;
frm_sys_progress.bsSkinGauge1.MinValue:=0;
frm_sys_progress.bsSkinGauge1.Value:=0;
frm_sys_progress.Update;
t_ch_fee_do_check.DisableControls;
t_ch_fee_do_check.first;
while not t_ch_fee_do_check.eof do
begin
// if isPayTrue(t_ch_fee_do_check['CH_ID'],t_ch_fee_do_check['覩迦쏜띨'],t_ch_check['와빵츰냔']) and (t_ch_fee_do_check['묏鱗긍뵀']=t_ch_check['<27>헝긍뵀']) then
// begin
t_ch_fee_do.insert;
t_ch_fee_do['묏鱗긍뵀']:=balno;
t_ch_fee_do['撚蛟긍뵀']:=t_ch_fee_do_check['撚蛟긍뵀'];
t_ch_fee_do['CH_ID']:=t_ch_fee_do_check['CH_ID'];
t_ch_fee_do['귑깎']:=t_ch_fee_do_check['귑깎'];
t_ch_fee_do['쏜띨']:=t_ch_fee_do_check['쏜띨'];
t_ch_fee_do['覩迦쏜띨']:=t_ch_fee_do_check['覩迦쏜띨'];
t_ch_fee_do['잚謹']:='4';
if t_ch_fee_do_check.fieldbyname('잚謹').asstring='5' then
t_ch_fee_do['녑둬써炬']:='1';
t_ch_fee_do.Post;
if t_ch_fee_do_check.fieldbyname('잚謹').asstring='5' then
Setfee(0,t_ch_fee_do_check.fieldbyname('CH_ID').asinteger,t_ch_fee_do_check.fieldbyname('覩迦쏜띨').asfloat,True)
else
Setfee(0,t_ch_fee_do_check.fieldbyname('CH_ID').asinteger,t_ch_fee_do_check.fieldbyname('覩迦쏜띨').asfloat);
// end;
frm_sys_progress.bsSkinGauge1.Value:=frm_sys_progress.bsSkinGauge1.Value+1;
t_ch_fee_do_check.next;
end;
t_ch_check.Edit;
t_ch_check['<27>헝榴檄']:='連마供귄';
t_ch_check['琅데긍뵀']:=balno;
t_ch_check['역놔훙']:=employee;
t_ch_check['역놔휑퍅']:=now;
t_ch_check['連마렘駕']:=str;
t_ch_check['宮밑뵀쯤']:=edit1.text;
t_ch_check.post;
t_ch_check.requery;
t_ch_check_detail.requery;
t_ch_balance.edit;
t_ch_balance.post;
end;
frm_main.db.CommitTrans;
finally
frm_sys_progress.close;
frm_sys_progress:=nil;
frm_ch_balance_pay.t_ch_fee_do_check.EnableControls;
close;
if frm_main.db.InTransaction then
begin
frm_main.db.RollbackTrans;
showmessage('써炬珂랙<E78F82>嫩끽댄轎,헝岬劤빈路桿!');
end;
end;
end;
end.