📄 tf.~pas
字号:
unit tf;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DB, ADODB,DateUtils, DBTables;
type
TtFForm = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
Label5: TLabel;
Edit5: TEdit;
Label6: TLabel;
Edit6: TEdit;
Label7: TLabel;
Edit7: TEdit;
Label8: TLabel;
Edit8: TEdit;
Label9: TLabel;
Edit9: TEdit;
Label10: TLabel;
Edit10: TEdit;
Label11: TLabel;
Edit11: TEdit;
Label12: TLabel;
Edit12: TEdit;
Label13: TLabel;
Edit13: TEdit;
Edit14: TEdit;
Label15: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Query1: TQuery;
procedure BitBtn2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure initiate;
procedure savetobookroomhistorytable;
procedure savetodtsztable;
procedure savetoszhistorytable;
procedure savetozjqshistorytable;
procedure savetozjqstable;
end;
var
tFForm: TtFForm;
days:integer;
implementation
uses main,tfrpt;
{$R *.dfm}
procedure TtFForm.BitBtn2Click(Sender: TObject);
begin
query1.close;
close;
end;
procedure TtFForm.FormActivate(Sender: TObject);
begin
initiate;
end;
procedure TTfForm.initiate;
begin
edit1.Text:='';
edit1.setfocus;
edit2.text:='';
edit2.Enabled:=false;
edit2.TabStop:=false;
edit3.text:='';
edit3.Enabled:=false;
edit3.TabStop:=false;
edit4.text:='';
edit4.Enabled:=false;
edit4.TabStop:=false;
edit5.text:='';
edit5.Enabled:=false;
edit5.TabStop:=false;
edit6.text:='';
edit6.Enabled:=false;
edit6.TabStop:=false;
edit7.text:='';
edit7.Enabled:=false;
edit7.TabStop:=false;
edit8.text:='';
edit8.Enabled:=false;
edit8.TabStop:=false;
edit9.text:='';
edit9.Enabled:=false;
edit9.TabStop:=false;
edit10.text:='';
edit11.text:='';
edit11.Enabled:=false;
edit11.TabStop:=false;
edit12.text:='';
edit12.Enabled:=false;
edit12.TabStop:=false;
edit13.text:='';
edit13.Enabled:=false;
edit13.TabStop:=false;
edit14.text:='';
bitbtn1.Enabled:=false;
end;
procedure TtFForm.Edit1Exit(Sender: TObject);
var
day,stime:integer;
sum:real;
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.add('select * from bookroomhistory where bookno=:bookno');
query1.ParamByName('bookno').AsString:=edit1.text;
query1.Open;
if query1.RecordCount=0 then
Application.MessageBox('您输入的订房编号错误,请检查!','提示信息',mb_ok)
else
begin
edit2.text:=query1.fieldbyname('roomno').asstring;
edit3.text:=query1.fieldbyname('name').asstring;
edit4.text:=query1.fieldbyname('certi_no').asstring;
edit5.text:=DateTimetostr(query1.fieldbyname('registerday').asDatetime);
edit6.Text:=datetimetostr(now);
edit7.text:=IntToStr(query1.fieldbyname('roomprice').asinteger);
edit8.text:=FloatToStr(query1.fieldbyname('discount').asfloat);
edit9.text:=IntToStr(query1.fieldbyname('otherfee').asinteger);
edit11.text:=IntToStr(query1.fieldbyname('deposit').asinteger);
if query1.fieldbyname('hour_id').asboolean then
edit13.text:='钟点房'
else
edit13.text:='住宿';
day:=daysbetween(dateof(strtodatetime(edit6.text)),dateof(strtodatetime(edit5.text)));
stime:=hourof(strtodatetime(edit6.text));
if stime>18 then
sum:=(day+1)*strtofloat(edit8.text)*strtoint(edit7.text)+strtoint(edit9.text)
else if stime>12 then
sum:=(day+0.5)*strtofloat(edit8.text)*strtoint(edit7.text)+strtoint(edit9.text)
else
sum:=day*strtofloat(edit8.text)*strtoint(edit7.text)+strtoint(edit9.text);
edit10.text:=floattostr(sum);
edit12.text:=floattostr(sum-query1.fieldbyname('deposit').asinteger);
end;
bitbtn1.Enabled:=true;
days:=query1.fieldbyname('precount').AsInteger;
query1.close;
end;
procedure TTfForm.savetobookroomhistorytable;
begin
query1.close;
query1.sql.clear;
query1.SQL.add('update bookroomhistory set accountday=:accountday,realfee=:realfee,factfee=:factfee,');
query1.sql.add('note=:note,operator=:operator where bookno=:bookno');
query1.ParamByName('bookno').asstring:=edit1.text;
query1.ParamByName('accountday').asdatetime:=strtodatetime(edit6.text);
query1.ParamByName('realfee').ascurrency:=strtofloat(edit10.text);
query1.ParamByName('factfee').ascurrency:=strtofloat(edit12.text);
query1.ParamByName('note').asstring:='退房';
query1.ParamByName('operator').asstring:=username;
query1.ExecSQL;
query1.Close;
end;
procedure TTfForm.savetodtsztable;
begin
query1.Close;
query1.sql.clear;
query1.SQL.add('insert into dtsztable(bookno,roomno,name,certi_no,factfee,note,oper_date,operator)');
query1.sql.add('values(:bookno,:roomno,:name,:certi_no,:factfee,:note,:oper_date,:operator)');
query1.ParamByName('bookno').AsString:=edit1.text;
query1.ParamByName('roomno').asstring:=edit2.text;
query1.ParamByName('name').asstring:=edit3.text;
query1.ParamByName('certi_no').asstring:=edit4.text;
query1.ParamByName('factfee').ascurrency:=Strtofloat(edit12.text);
query1.ParamByName('oper_date').asdatetime:=strtodatetime(edit6.text);
query1.ParamByName('note').asstring:='退房';
query1.ParamByName('operator').asstring:=username;
query1.ExecSQL;
query1.close;
end;
procedure TTfForm.savetoszhistorytable;
begin
query1.Close;
query1.sql.clear;
query1.SQL.add('insert into szhistorytable(bookno,roomno,name,certi_no,factfee,note,oper_date,operator)');
query1.sql.add('values(:bookno,:roomno,:name,:certi_no,:factfee,:note,:oper_date,:operator)');
query1.ParamByName('bookno').AsString:=edit1.text;
query1.ParamByName('roomno').asstring:=edit2.text;
query1.ParamByName('name').asstring:=edit3.text;
query1.ParamByName('certi_no').asstring:=edit4.text;
query1.ParamByName('factfee').ascurrency:=Strtofloat(edit12.text);
query1.ParamByName('oper_date').asdatetime:=strtodatetime(edit6.text);
query1.ParamByName('note').asstring:='退房';
query1.ParamByName('operator').asstring:=username;
query1.ExecSQL;
query1.close;
end;
procedure TTfForm.savetozjqshistorytable;
begin
query1.Close;
query1.sql.clear;
query1.SQL.add('update zjmxtable set realfee=:realfee,factfee=:factfee,accountday=:accountday,note=:note,operator=:operator');
query1.sql.add('where bookno=:bookno');
query1.ParamByName('bookno').AsString:=edit1.text;
query1.ParamByName('realfee').ascurrency:=Strtofloat(edit10.text);
query1.ParamByName('factfee').ascurrency:=Strtofloat(edit12.text);
query1.ParamByName('accountday').asdatetime:=strtodatetime(edit6.text);
query1.ParamByName('note').asstring:='退房';
query1.ParamByName('operator').asstring:=username;
query1.ExecSQL;
query1.close;
end;
procedure TtFForm.BitBtn1Click(Sender: TObject);
begin
//订房历史表
savetobookroomhistorytable;
//当天收支数据表
savetodtsztable;
//收支历史表
savetoszhistorytable;
//资金清算历史表
savetozjqshistorytable;
//客房管理
query1.Close;
query1.SQL.clear;
query1.SQL.add('update room_manager set use_id=:use_id where roomno=:roomno');
query1.ParamByName('roomno').asstring:=edit1.text;
query1.ParamByName('use_id').AsBoolean:=false;
query1.ExecSQL;
query1.close;
//资金清算表
savetozjqstable;
while application.MessageBox('是否打印订房单(Yes/No)','提示信息',mb_yesno)=IDYes do
begin
tfrptform.QRLabel3.caption:=edit1.text;
tfrptform.QRLabel5.caption:=edit2.text;
tfrptform.QRLabel7.caption:=edit3.text;
tfrptform.QRLabel9.Caption:=edit4.text;
tfrptform.QRLabel11.Caption:=edit5.text;
tfrptform.QRLabel13.Caption:=edit6.text;
tfrptform.QRLabel15.Caption:=edit7.text;
tfrptform.QRLabel17.Caption:=edit8.text;
tfrptform.QRLabel19.Caption:=edit11.text;
tfrptform.QRLabel21.Caption:=edit9.text;
tfrptform.QRLabel27.Caption:=edit10.text;
tfrptform.QRLabel29.Caption:=edit12.text;
tfrptform.QRLabel31.Caption:=edit14.text;
tfrptform.QRLabel23.Caption:=username;
tfrptform.QRLabel25.Caption:=datetimetostr(now);
tfrptform.QuickRep1.print;
end;
end;
procedure TTfform.savetozjqstable;
begin
query1.Close;
query1.sql.clear;
query1.SQL.add('update zjqstable set realfee=:realfee,factfee=:factfee,accountday=:accountday,note=:note,operator=:operator');
query1.sql.add('where bookno=:bookno');
query1.ParamByName('bookno').AsString:=edit1.text;
query1.ParamByName('realfee').ascurrency:=Strtofloat(edit10.text);
query1.ParamByName('factfee').ascurrency:=Strtofloat(edit12.text);
query1.ParamByName('accountday').asdatetime:=strtodatetime(edit6.text);
query1.ParamByName('note').asstring:='退房';
query1.ParamByName('operator').asstring:=username;
query1.ExecSQL;
query1.close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -