⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cancelbook.~pas

📁 我自己写的一个有关酒店管理系统的代码 大家
💻 ~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 + -