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

📄 unit8.pas

📁 酒店住宿管理系统,有完整的文件和源码, 可以下载使用
💻 PAS
📖 第 1 页 / 共 2 页
字号:
//客户订房
// bookroom

unit Unit8;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, StdCtrls, Buttons, Mask,DateUtils, ComCtrls;

type
  Tbookroom = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    MaskEdit1: TMaskEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    GroupBox2: TGroupBox;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Edit11: TEdit;
    Edit12: TEdit;
    Edit13: TEdit;
    Edit14: TEdit;
    Edit15: TEdit;
    Edit16: TEdit;
    ComboBox1: TComboBox;
    Edit17: TEdit;
    GroupBox3: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    ADOConnection1: TADOConnection;
    RadioButton3: TRadioButton;
    DateTimePicker1: TDateTimePicker;
    Label10: TLabel;
    Edit9: TEdit;
    Label11: TLabel;
    Edit10: TEdit;
    GroupBox4: TGroupBox;
    RadioButton4: TRadioButton;
    RadioButton5: TRadioButton;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure ComboBox1Exit(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure RadioButton3Click(Sender: TObject);
    procedure Edit1Exit(Sender: TObject);
    procedure Edit12Change(Sender: TObject);
    procedure Edit15Change(Sender: TObject);
//    procedure Edit17Exit(Sender: TObject);
    procedure Edit17Change(Sender: TObject);
    procedure Edit14Change(Sender: TObject);
    procedure Edit14Exit(Sender: TObject);
    procedure RadioButton4Click(Sender: TObject);
    procedure RadioButton5Click(Sender: TObject);
//    procedure BitBtn5Click(Sender: TObject);
    //procedure ComboBox1Change(Sender: TObject);
//    procedure BitBtn5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure initiate;
    procedure savetobookroomtable;
    procedure savetobookroomhistorytable;
    procedure makebooknumber;
    procedure printbook;
//    procedure savezjqstable;
//    procedure savetozjqslstable;
    procedure savetodtsztable;
    procedure savetoszlstable;
    procedure bookprint;
  end;

var
  bookroom: Tbookroom;
  booknumber:string;
implementation

uses Unit7, Unit1, Unit22, Unit9;

{$R *.dfm}
procedure Tbookroom.bookprint;
begin
brprintform.QRLabel3.Caption:=booknumber;
brprintform.QRLabel5.Caption:=datetostr(date());
brprintform.QRLabel7.Caption:=edit1.Text;
brprintform.QRLabel9.Caption:=edit2.Text;
brprintform.QRLabel11.Caption:=edit3.Text;
brprintform.QRLabel13.Caption:=datetostr(datetimepicker1.Date);
brprintform.QRLabel15.Caption:=edit4.Text;
brprintform.QRLabel17.Caption:=edit5.Text;
brprintform.QRLabel19.Caption:=edit6.Text;
brprintform.QRLabel21.Caption:=edit8.Text;
brprintform.QRLabel23.Caption:=edit11.Text;
brprintform.QRLabel25.Caption:=edit12.Text;
brprintform.QRLabel27.Caption:=combobox1.Text;
brprintform.QRLabel29.Caption:=edit13.Text;
brprintform.QRLabel31.Caption:=edit14.Text;
brprintform.QRLabel33.Caption:=edit15.Text;
brprintform.QRLabel35.Caption:=edit17.Text;
if radiobutton1.Checked=true then
brprintform.QRLabel37.Caption:='钟点房'
else if radiobutton2.Checked=true then
brprintform.QRLabel37.Caption:='正常住宿'
else if radiobutton3.Checked=true then
brprintform.QRLabel37.Caption:='预订';
brprintform.QRLabel39.Caption:=edit16.Text;
brprintform.qrlabel41.Caption:=denglu.usename;
brprintform.QuickRep1.PreviewModal;
end;
procedure Tbookroom.initiate;
begin
    booknumber:='';
    edit1.Text:='';
    edit2.Text:='男';
    edit3.Text:='';
    edit4.Text:='身份证';
    edit5.Text:='';
    edit6.Text:='无';
    edit7.Text:='无';
    edit8.Text:='无';
    edit9.Text:='无';
    edit10.Text:='无';
    edit11.Text:='';
    edit12.Text:='';
    edit13.Text:='';
    edit14.Text:='100';
    edit15.Text:='';
    edit16.Text:='';
    edit17.Text:='0';
    maskedit1.Text:='';
    combobox1.Clear;
    combobox1.Text:='';

    radiobutton1.Checked:=false;
    radiobutton2.Checked:=false;
    radiobutton3.Checked:=false;
end;
procedure tbookroom.makebooknumber;
var
      adotable1:tadotable;
      oldnumber:string;
      s1,s2,s3:string;
      year,month,day,t:integer;
begin
      year:=yearof(now);
      month:=monthof(now);
      day:=dayof(now);
      s1:=inttostr(year);
      if month<10 then
          s1:=s1+'0'+inttostr(month)
      else
          s1:=s1+inttostr(month);
      if day<10 then
          s1:=s1+'0'+inttostr(day)
      else
          s1:=s1+inttostr(day);
      adotable1:=TAdoTable.Create(self);
      adotable1.Connection:=adoconnection1;
      adotable1.TableName:='订房数据历史表';
      adotable1.Open;
      if adotable1.RecordCount<1 then
         begin
         adotable1.Close;
         booknumber:=s1+'0001';
         end
      else
         begin
         if not adotable1.Eof then
            begin
            adotable1.Last;
            oldnumber:=adotable1.FieldByName('订房序号').AsString;
            s2:=copy(oldnumber,1,8);
            if s1=s2 then
               begin
               s2:=copy(oldnumber,9,12);
               t:=strtoint(s2);
               t:=t+1;
               if t<10 then
                  s3:='000'+inttostr(t)
               else if t<100 then
                  s3:='00'+inttostr(t)
               else if t<1000 then
                  s3:='0'+inttostr(t)
               else
                  s3:=inttostr(t);
               adotable1.Close;
               booknumber:=s1+s3;
               end
            else
               begin
               adotable1.Close;
               booknumber:=s1+'0001';
               end;
            end
         else
            begin
            oldnumber:=adotable1.FieldByName('订房序号').AsString;
            s2:=copy(oldnumber,1,8);
            if s1=s2 then
               begin
               s2:=copy(oldnumber,9,12);
               t:=strtoint(s2);
               t:=t+1;
               if t<10 then
                  s3:='000'+inttostr(t)
               else if t<100 then
                  s3:='00'+inttostr(t)
               else if t<1000 then
                  s3:='0'+inttostr(t)
               else
                  s3:=inttostr(t);
               adotable1.Close;
               booknumber:=s1+s3;
               end
            else
               begin
               adotable1.Close;
               booknumber:=s1+'0001';
               end;
            end;
         end;
adotable1.Close;
end;
procedure Tbookroom.printbook;
begin
bookroomprnform.QRLabel3.Caption:=edit1.Text;
bookroomprnform.QRLabel5.Caption:=edit2.Text;
bookroomprnform.QRLabel7.Caption:=edit3.Text;
bookroomprnform.QRLabel9.Caption:='';
bookroomprnform.QRLabel11.Caption:=edit4.Text;
bookroomprnform.QRLabel13.Caption:=edit5.Text;
bookroomprnform.QRLabel15.Caption:=edit6.Text;
bookroomprnform.QRLabel17.Caption:=edit8.Text;
bookroomprnform.QRLabel19.Caption:=edit11.Text;
bookroomprnform.QRLabel21.Caption:=edit12.Text;
bookroomprnform.QRLabel23.Caption:=combobox1.Items[combobox1.ItemIndex];
bookroomprnform.QRLabel25.Caption:=edit13.Text;
bookroomprnform.QRLabel27.Caption:=edit14.Text;
bookroomprnform.QRLabel29.Caption:=edit15.Text;
bookroomprnform.QRLabel31.Caption:=edit17.Text;
bookroomprnform.QRLabel33.Caption:=edit16.Text;
if radiobutton1.Checked=true then
bookroomprnform.QRLabel41.Caption:='钟点房'
else if radiobutton2.Checked=true then
bookroomprnform.QRLabel41.Caption:='正常住宿'
else if radiobutton3.Checked=true then
bookroomprnform.QRLabel41.Caption:='正常';
bookroomprnform.QRLabel39.Caption:=denglu.usename;
bookroomprnform.QRLabel35.Caption:=booknumber;
bookroomprnform.QRLabel37.Caption:=datetostr(date());
bookroomprnform.QuickRep1.PreviewModal;

end;
procedure tbookroom.savetobookroomhistorytable;
var
      adotable1:TadoTable;
begin
      adotable1:=TAdoTable.Create(self);
      adotable1.Connection:=adoconnection1;
      adotable1.TableName:='订房数据历史表';
      adotable1.Open;
      adotable1.Append;
      adotable1.Edit;
      adotable1.FieldByName('订房序号').AsString:=booknumber;
      adotable1.FieldByName('客户名称').AsString:=EDIT1.TEXT;
      adotable1.FieldByName('性别').AsString:=EDIT2.TEXT;
      adotable1.FieldByName('籍贯').AsString:=EDIT3.TEXT;
      adotable1.FieldByName('出生年月').AsDATETIME:=strtodate(MASKEDIT1.TEXT);
      adotable1.FieldByName('证件名称').AsString:=EDIT4.TEXT;
      adotable1.FieldByName('证件号码').AsString:=EDIT5.TEXT;
      adotable1.FieldByName('工作单位').AsString:=EDIT6.TEXT;
      adotable1.FieldByName('通信地址').AsString:=EDIT7.TEXT;
      adotable1.FieldByName('联系方式').AsString:=EDIT8.TEXT;
      adotable1.FieldByName('钟点房').Asboolean:=radiobutton1.Checked;
      adotable1.FieldByName('源地').AsString:=EDIT9.TEXT;
      adotable1.FieldByName('目的地').AsString:=EDIT10.TEXT;
      adotable1.FieldByName('登记日期').AsDATETIME:=strtodatetime(EDIT11.TEXT);
      adotable1.FieldByName('预计天数').Asinteger:=strtoint(EDIT12.TEXT);
      adotable1.FieldByName('房间编号').AsString:=combobox1.Items[combobox1.itemindex];
      adotable1.FieldByName('住房单价').Asinteger:=strtoint(EDIT13.TEXT);
      adotable1.FieldByName('折扣率').Asfloat:=strtofloat(EDIT14.TEXT);
      adotable1.FieldByName('押金数').Asinteger:=strtoint(EDIT15.TEXT);
      adotable1.FieldByName('说明').AsString:=EDIT16.TEXT;
      adotable1.FieldByName('其他费用').Asinteger:=strtoint(edit17.text);
      adotable1.FieldByName('操作员').AsString:=denglu.usename;
      adotable1.FieldByName('操作日期').Asdatetime:=date;
      if radiobutton3.Checked=true then
      adotable1.FieldByName('预订标志').AsBoolean:=true
      else
      adotable1.FieldByName('预订标志').AsBoolean:=false;
      adotable1.post;
      adotable1.close;
end;
procedure tbookroom.savetobookroomtable;
var
      adotable1:TadoTable;
begin
      adotable1:=TAdoTable.Create(self);
      adotable1.Connection:=adoconnection1;
      adotable1.TableName:='订房数据表';
      adotable1.Open;
      adotable1.Append;
      adotable1.Edit;
      adotable1.FieldByName('订房序号').AsString:=booknumber;
      adotable1.FieldByName('客户名称').AsString:=EDIT1.TEXT;
      adotable1.FieldByName('性别').AsString:=EDIT2.TEXT;
      adotable1.FieldByName('籍贯').AsString:=EDIT3.TEXT;
      adotable1.FieldByName('出生年月').AsDATETIME:=strtodate(MASKEDIT1.TEXT);
      adotable1.FieldByName('证件名称').AsString:=EDIT4.TEXT;
      adotable1.FieldByName('证件号码').AsString:=EDIT5.TEXT;
      adotable1.FieldByName('工作单位').AsString:=EDIT6.TEXT;
      adotable1.FieldByName('通信地址').AsString:=EDIT7.TEXT;
      adotable1.FieldByName('联系方式').AsString:=EDIT8.TEXT;
      adotable1.FieldByName('钟点房').Asboolean:=radiobutton1.Checked;
      adotable1.FieldByName('源地').AsString:=EDIT9.TEXT;
      adotable1.FieldByName('目的地').AsString:=EDIT10.TEXT;
      adotable1.FieldByName('登记日期').AsDATETIME:=strtodatetime(EDIT11.TEXT);
      adotable1.FieldByName('预计天数').Asinteger:=strtoint(EDIT12.TEXT);
      adotable1.FieldByName('房间编号').AsString:=combobox1.Items[combobox1.itemindex];
      adotable1.FieldByName('住房单价').Asinteger:=strtoint(EDIT13.TEXT);
      adotable1.FieldByName('折扣率').Asfloat:=strtofloat(EDIT14.TEXT);
      adotable1.FieldByName('押金数').Asinteger:=strtoint(EDIT15.TEXT);
      adotable1.FieldByName('说明').AsString:=EDIT16.TEXT;
      adotable1.FieldByName('其他费用').Asinteger:=strtoint(edit17.text);
      adotable1.FieldByName('操作员').AsString:=denglu.usename;
      adotable1.FieldByName('操作日期').Asdatetime:=date;
      if radiobutton3.Checked=true then
      adotable1.FieldByName('预订标志').AsBoolean:=true
      else
      adotable1.FieldByName('预订标志').AsBoolean:=false;
      adotable1.post;
      adotable1.close;
end;
procedure Tbookroom.savetodtsztable;
var
    adotable1:tadotable;
begin
    adotable1:=TAdoTable.Create(self);
    adotable1.Connection:=adoconnection1;
    adotable1.TableName:='当天收支报表';
    adotable1.open;
    adotable1.append;
    adotable1.edit;
    adotable1.FieldByName('订房编号').asstring:=booknumber;
    adotable1.FieldByName('客房编号').asstring:=combobox1.Items[combobox1.itemindex];
    adotable1.FieldByName('客人名称').asstring:=edit1.text;
    adotable1.FieldByName('证件编号').asstring:=edit5.text;
    adotable1.FieldByName('实收金额').AsCurrency:=strtoint(edit15.text);
    if radiobutton3.Checked=true then
    adotable1.FieldByName('说明').asstring:='交预订客房押金'
    else
    adotable1.FieldByName('说明').asstring:='交住房押金';
    adotable1.fieldbyname('日期').asdatetime:=strtodatetime(edit11.text);
    adotable1.fieldbyname('操作人').asstring:=denglu.usename;
    adotable1.post;
    adotable1.close;
end;
procedure tbookroom.savetoszlstable;
var
    adotable1:tadotable;
begin
    adotable1:=TAdoTable.Create(self);
    adotable1.Connection:=adoconnection1;
    adotable1.TableName:='收支历史报表';
    adotable1.open;
    adotable1.append;
    adotable1.edit;
    adotable1.FieldByName('订房编号').asstring:=booknumber;
    adotable1.FieldByName('客房编号').asstring:=combobox1.Items[combobox1.itemindex];
    adotable1.FieldByName('客人名称').asstring:=edit1.text;
    adotable1.FieldByName('证件编号').asstring:=edit5.text;
    adotable1.FieldByName('实收金额').AsCurrency:=strtoint(edit15.text);
    if radiobutton3.Checked=true then
    adotable1.FieldByName('说明').asstring:='交预订客房押金'
    else
    adotable1.FieldByName('说明').asstring:='交住房押金';
    adotable1.fieldbyname('日期').asdatetime:=strtodatetime(edit11.text);
    adotable1.fieldbyname('操作人').asstring:=denglu.usename;
    adotable1.post;
    adotable1.close;
end;
//procedure Tbookroom.savetozjqslstable;
//begin
{var
    adotable1:tadotable;
begin
    adotable1:=TAdoTable.Create(self);
    adotable1.Connection:=adoconnection1;
    adotable1.TableName:='资金明细表';
    adotable1.open;
    adotable1.append;
    adotable1.edit;
    adotable1.FieldByName('订房编号').asstring:=booknumber;
    adotable1.FieldByName('客房编号').asstring:=combobox1.Items[combobox1.itemindex];
    adotable1.FieldByName('客人名称').asstring:=edit1.text;
    adotable1.FieldByName('证件编号').asstring:=edit5.text;
    adotable1.FieldByName('押金').AsCurrency:=strtoint(edit15.text);
    adotable1.FieldByName('预计每天费用').ascurrency:=strtoint(edit13.text)*strtofloat(edit14.text);
    adotable1.FieldByName('预计天数').asinteger:=strtoint(edit12.text);
    
    adotable1.fieldbyname('订房日期').asdatetime:=strtodatetime(edit11.text);
    adotable1.fieldbyname('操作员').asstring:=denglu.usename;
    adotable1.fieldbyname('打印发票').asboolean:=false;
    adotable1.post;
    adotable1.close; }
//end;
{procedure Tbookroom.savezjqstable;
var
    adotable1:tadotable;
begin
    adotable1:=TAdoTable.Create(self);
    adotable1.Connection:=adoconnection1;
    adotable1.TableName:='资金清算表';
    adotable1.open;
    adotable1.append;
    adotable1.edit;
    adotable1.FieldByName('订房编号').asstring:=booknumber;
    adotable1.FieldByName('客房编号').asstring:=combobox1.Items[combobox1.itemindex];
    adotable1.FieldByName('客人名称').asstring:=edit1.text;
    adotable1.FieldByName('证件编号').asstring:=edit5.text;
    adotable1.FieldByName('押金').AsCurrency:=strtoint(edit15.text);
    adotable1.FieldByName('预计每天费用').ascurrency:=strtoint(edit13.text)*strtofloat(edit14.text);
    adotable1.FieldByName('预计天数').asinteger:=strtoint(edit12.text);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -