📄 cancelbook.~pas
字号:
unit cancelbook;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, Buttons, DB, ADODB, DBTables;
type
TcancelbookForm = class(TForm)
DBGrid1: TDBGrid;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
DataSource1: TDataSource;
Query1: TQuery;
Query2: TQuery;
procedure BitBtn2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
cancelbookForm: TcancelbookForm;
implementation
uses main,cancelrpt;
{$R *.dfm}
procedure TcancelbookForm.BitBtn2Click(Sender: TObject);
begin
query1.Close;
close;
end;
procedure TcancelbookForm.FormActivate(Sender: TObject);
begin
dbgrid1.DataSource:=datasource1;
dbgrid1.ReadOnly:=true;
datasource1.DataSet:=query1;
query1.SQL.clear;
query1.SQL.add('select * from bookroom');
query1.Open;
edit1.Text:='0';
edit2.Text:='';
query1.RequestLive:=true;
query2.RequestLive:=true;
dbgrid1.Fields[0].DisplayLabel:='订房序号';
dbgrid1.Fields[1].DisplayLabel:='客户名称';
dbgrid1.Fields[2].DisplayLabel:='证件名称';
dbgrid1.Fields[3].DisplayLabel:='证件号码';
dbgrid1.Fields[4].DisplayLabel:='性别';
dbgrid1.Fields[5].DisplayLabel:='籍贯';
dbgrid1.Fields[6].DisplayLabel:='出生年月';
dbgrid1.Fields[7].DisplayLabel:='工作单位';
dbgrid1.Fields[8].DisplayLabel:='通信地址';
dbgrid1.Fields[9].DisplayLabel:='钟点房';
dbgrid1.Fields[10].DisplayLabel:='联系方式';
dbgrid1.Fields[11].DisplayLabel:='源地';
dbgrid1.Fields[12].DisplayLabel:='目的地';
dbgrid1.Fields[13].DisplayLabel:='登记日期';
dbgrid1.Fields[14].DisplayLabel:='预计天数';
dbgrid1.Fields[15].DisplayLabel:='房间编号';
dbgrid1.Fields[16].DisplayLabel:='其他费用';
dbgrid1.Fields[17].DisplayLabel:='住房单价';
dbgrid1.Fields[18].DisplayLabel:='折扣率';
dbgrid1.Fields[19].DisplayLabel:='押金数';
dbgrid1.Fields[20].DisplayLabel:='结账日期';
dbgrid1.Fields[21].DisplayLabel:='操作员';
dbgrid1.Fields[22].DisplayLabel:='操作时间';
dbgrid1.Fields[23].DisplayLabel:='说明';
end;
procedure TcancelbookForm.BitBtn1Click(Sender: TObject);
begin
query2.Close;
query2.SQL.clear;
query2.sql.Add('update bookroomhistory set accountday=:accountday,realfee=:realfee,factfee=:factfee,');
query2.sql.add(' note=:note,operator=:operator where bookno=:bookno');
query2.ParamByName('accountday').AsDateTime:=Now;
query2.ParamByName('realfee').Ascurrency:=StrToInt(edit1.text);
query2.ParamByName('factfee').Ascurrency:=StrToInt(edit1.text)-query1.FieldByName('deposit').Ascurrency;
query2.ParamByName('note').Asstring:=edit2.text;
query2.ParamByName('operator').Asstring:=username;
query2.ParamByName('bookno').Asstring:=query1.FieldByName('bookno').AsString;
query2.ExecSQL;
query2.Close;
query2.SQL.clear;
query2.sql.Add('delete from zjqstable where roomno=:roomno');
query2.ParamByName('roomno').AsString:=query1.fieldbyname('roomno').asstring;
query2.ExecSQL;
query2.close;
query2.SQL.clear;
query2.SQL.add('update room_manager set use_id=:use_id where roomno=:roomno');
query2.ParamByName('use_id').asboolean:=false;
query2.ParamByName('roomno').asstring:=query1.fieldbyname('roomno').asstring;
query2.ExecSQL;
query2.Close;
query2.SQL.clear;
query2.SQL.add('insert into zjmxtable(bookno,roomno,name,certi_no,deposit,dayfee,precount,note,registerday,operator)');
query2.sql.Add('values(:bookno,:roomno,:name,:certi_no,:deposit,:dayfee,:precount,:note,:registerday,:operator)');
query2.ParamByName('bookno').asstring:=query1.FieldByName('bookno').asstring;
query2.parambyname('roomno').asstring:=query1.FieldByName('roomno').asstring;
query2.parambyname('name').asstring:=query1.FieldByName('name').asstring;
query2.parambyname('certi_no').asstring:=query1.FieldByName('certi_no').asstring;
query2.parambyname('deposit').ascurrency:=Strtoint(edit1.text)-query1.FieldByName('deposit').AsCurrency;
query2.parambyname('dayfee').ascurrency:=query1.FieldByName('roomprice').ascurrency;
query2.parambyname('precount').asinteger:=query1.FieldByName('precount').asinteger;
query2.parambyname('note').asstring:='退订客房,退还住房押金,收取手续费';
query2.parambyname('registerday').asdatetime:=now;
query2.parambyname('operator').asstring:=username;
query2.ExecSQL;
query2.Close;
query2.SQL.clear;
query2.SQL.add('insert into dtsztable(bookno,roomno,name,certi_no,factfee,note,oper_date,operator)');
query2.sql.Add('values(:bookno,:roomno,:name,:certi_no,:factfee,:note,:oper_date,:operator)');
query2.ParamByName('bookno').asstring:=query1.FieldByName('bookno').asstring;
query2.parambyname('roomno').asstring:=query1.FieldByName('roomno').asstring;
query2.parambyname('name').asstring:=query1.FieldByName('name').asstring;
query2.parambyname('certi_no').asstring:=query1.FieldByName('certi_no').asstring;
query2.parambyname('factfee').ascurrency:=Strtoint(edit1.text)-query1.FieldByName('deposit').AsCurrency;
query2.parambyname('note').asstring:='退订客房,退还住房押金,收取手续费';
query2.parambyname('oper_date').asdatetime:=now;
query2.parambyname('operator').asstring:=username;
query2.ExecSQL;
query2.Close;
query2.SQL.clear;
query2.SQL.add('insert into szhistory(bookno,roomno,name,certi_no,factfee,note,oper_date,operator)');
query2.sql.Add('values(:bookno,:roomno,:name,:certi_no,:factfee,:note,:oper_date,:operator)');
query2.ParamByName('bookno').asstring:=query1.FieldByName('bookno').asstring;
query2.parambyname('roomno').asstring:=query1.FieldByName('roomno').asstring;
query2.parambyname('name').asstring:=query1.FieldByName('name').asstring;
query2.parambyname('certi_no').asstring:=query1.FieldByName('certi_no').asstring;
query2.parambyname('factfee').ascurrency:=Strtoint(edit1.text)-query1.FieldByName('deposit').AsCurrency;
query2.parambyname('note').asstring:='退订客房,退还住房押金,收取手续费';
query2.parambyname('oper_date').asdatetime:=now;
query2.parambyname('operator').asstring:=username;
query2.ExecSQL;
query2.Close;
cancelrptform.QRLabel3.caption:=query1.FieldByName('bookno').asstring;
cancelrptform.QRLabel5.Caption:=query1.FieldByName('roomno').asstring;
cancelrptform.QRLabel7.Caption:=query1.FieldByName('name').asstring;
cancelrptform.QRLabel9.Caption:=query1.FieldByName('certi_no').asstring;
cancelrptform.QRLabel11.Caption:=inttostr(query1.FieldByName('deposit').Asinteger);
cancelrptform.QRLabel13.Caption:=edit1.text;
cancelrptform.QRLabel15.Caption:=inttostr(Strtoint(edit1.text)-query1.FieldByName('deposit').Asinteger);
cancelrptform.QRLabel17.Caption:='退还住房押金,收取手续费';
cancelrptform.QRLabel19.Caption:=username;
cancelrptform.QRLabel21.Caption:=datetimetostr(date);
while application.MessageBox('是否打印订房单(Yes/No)','提示信息',mb_yesno)=IDYes do
cancelrptform.QuickRep1.print;
query1.Delete;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -