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

📄 tf.~pas

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