📄 unit8.pas
字号:
//客户订房
// 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 + -