changeunit.pas
来自「东华休闲山庄洗浴、餐饮、客房管理系统」· PAS 代码 · 共 241 行
PAS
241 行
unit ChangeUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, SUIButton, StdCtrls, SUIEdit, SUIComboBox, ExtCtrls,
SUIImagePanel, DateUtils;
type
TChangeForm = class(TForm)
suiPanel1: TsuiPanel;
Label12: TLabel;
suiComboBox5: TsuiComboBox;
Label11: TLabel;
suiComboBox6: TsuiComboBox;
suiButton1: TsuiButton;
suiButton2: TsuiButton;
procedure suiButton2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormActivate(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure suiComboBox5KeyPress(Sender: TObject; var Key: Char);
procedure suiComboBox5DropDown(Sender: TObject);
procedure suiComboBox6KeyPress(Sender: TObject; var Key: Char);
procedure suiComboBox6DropDown(Sender: TObject);
procedure suiComboBox6Select(Sender: TObject);
procedure suiComboBox5Change(Sender: TObject);
procedure suiButton1Click(Sender: TObject);
procedure suiComboBox5Select(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
id:string;
ifclock:boolean;
price,clock,scale,factprice,days,deposit,paymode:string;
guestname:string;
memo:string;
end;
var
ChangeForm: TChangeForm;
implementation
uses MainUnit, LoginUnit;
{$R *.dfm}
procedure TChangeForm.suiButton2Click(Sender: TObject);
begin
close;
end;
procedure TChangeForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
mainform.RefrushRoomState(0);
mainform.Enabled:=true;
end;
procedure TChangeForm.FormActivate(Sender: TObject);
begin
self.suiComboBox5.SetFocus;
end;
procedure TChangeForm.FormCreate(Sender: TObject);
var
guestid:string;
begin
ifclock:=false;
self.suiComboBox5.Clear;
self.suiComboBox6.Clear;
self.suiPanel1.Caption:='原房间【'+mainform.roomnum+'】';
loginform.ExecuteSQL('select room_id from room where room_num='''+mainform.roomnum+'''');
id:=LoginForm.dsQuery.Fields[0].AsString;
LoginForm.dsQuery.Close;
loginform.ExecuteSQL('select * from house where id='''+id+'''');
guestid:=LoginForm.dsQuery.fieldbyname('guest').AsString;
memo:=LoginForm.dsQuery.fieldbyname('memozs').AsString;
LoginForm.dsQuery.Close;
loginform.ExecuteSQL('select * from guest where id='+guestid);
guestname:=LoginForm.dsQuery.fieldbyname('name').AsString;
LoginForm.dsQuery.Close;
end;
procedure TChangeForm.suiComboBox5KeyPress(Sender: TObject; var Key: Char);
begin
key:=#0;
end;
procedure TChangeForm.suiComboBox5DropDown(Sender: TObject);
begin
loginform.AddCombobox(suiComboBox5,'select type_mc from roomtype');
self.suiComboBox5.ItemIndex:=0;
end;
procedure TChangeForm.suiComboBox6KeyPress(Sender: TObject; var Key: Char);
begin
key:=#0;
end;
procedure TChangeForm.suiComboBox6DropDown(Sender: TObject);
begin
loginform.AddCombobox(suiComboBox6,'select room_num from room '+
'where (room_state=''可供'') and '+
'(room_type in (select type_xh from roomtype '+
'where type_mc='''+suiComboBox5.Text+'''))');
end;
procedure TChangeForm.suiComboBox6Select(Sender: TObject);
begin
self.suiButton1.SetFocus;
end;
procedure TChangeForm.suiComboBox5Change(Sender: TObject);
begin
self.suiComboBox6.Clear;
end;
procedure TChangeForm.suiButton1Click(Sender: TObject);
var
state:string;
dayprice,hourprice,deposit:string;
entertime:tdatetime;
day,hour,Minute:integer;
temp:string;
index:integer;
time:string;
begin
if self.suiComboBox6.Text='' then
begin
MessageDlg('调换到房间信息不可以为空,请重新选择!',mtConfirmation, [mbYes], 0);
exit;
end;
loginform.ExecuteSQL('select * from room where room_num='''+mainform.roomnum+'''');
state:=loginform.dsQuery.fieldbyname('room_state').AsString;
loginform.dsQuery.Close;
loginform.ExecuteSQL('update room set room_state=''清理'' where room_num='''+mainform.roomnum+'''');
loginform.ExecuteSQL('update room set room_state='''+state+''',room_ID='''+id+''' '+
'where room_num='''+self.suiComboBox6.Text+'''');
loginform.ExecuteSQL('select * from house where id='''+id+''' and room='''+mainform.roomnum+'''');
entertime:=LoginForm.dsQuery.fieldbyname('entertime').AsDateTime;
factprice:=LoginForm.dsQuery.fieldbyname('factprice').AsString;
deposit:=loginform.dsQuery.fieldbyname('deposit').AsString;
LoginForm.dsQuery.Close;
minute:=MinutesBetween(now,entertime);
Day:=Minute div 1440;
minute:=minute mod 1440;
hour:=minute div 60;
minute:=minute mod 60;
if state='钟点' then
begin
if minute>=30 then
temp:=IntToStr(hour+1)
else
temp:=IntToStr(hour)+'.5';
end
else
begin
if hour>=12 then
temp:=IntToStr(day+1)
else
temp:=IntToStr(day)+'.5';
end;
loginform.ExecuteSQL('select max(Lbxf_xfBegin) from consume '+
'where Lbxf_xfbh='''+id+''' and Lbxf_sph='''+mainform.roomnum+''' and Lbxf_xfxm=''房间费''');
time:=LoginForm.dsQuery.fields[0].AsString;
LoginForm.dsQuery.Close;
LoginForm.ExecuteSQL('update consume set Lbxf_xfsl='''+FormatFloat('0.0',strtofloat(temp))+''','+
'Lbxf_xfje='''+
FormatFloat('¥0.00',StrToFloat(temp)*StrToFloat(factprice))+''' '+
'where Lbxf_xfbh='''+id+''' and Lbxf_sph='''+mainform.roomnum+''' and '+
'Lbxf_xfBegin='''+time+''' and Lbxf_xfxm=''房间费''');
loginform.ExecuteSQL('update consume set Lbxf_sph='''+self.suiComboBox6.Text+''' '+
'where Lbxf_xfbh='''+id+''' and Lbxf_sph='''+mainform.roomnum+'''');
index:=pos(mainform.roomnum,memo);
delete(memo,index,length(mainform.roomnum));
insert(self.suiComboBox6.Text,memo,index);
loginform.ExecuteSQL('update house set memozs='''+memo+''' where id='''+id+'''');
if copy(self.suiComboBox6.Text,1,2)<>copy(mainform.roomnum,1,2) then
begin
loginform.ExecuteSQL('select * from roomtype where type_mc='''+self.suiComboBox5.Text+'''');
dayprice:=loginform.dsQuery.fieldbyname('type_csdj').AsString;
hourprice:=loginform.dsQuery.fieldbyname('type_mp').AsString;
loginform.dsQuery.Close;
if state='钟点' then
begin
loginform.ExecuteSQL('insert into consume '+
'values('''+id+''','''+self.suiComboBox6.Text+''',''房间费'+
''','''+FormatFloat('¥0.00',strtofloat(hourprice))+
''',''1.0'',''1.0'','''+FormatFloat('¥0.00',strtofloat(hourprice))+
''','''+FormatDateTime('yyyy-mm-dd hh:nn:ss',now)+
''','''+FormatFloat('¥0.00',strtofloat(hourprice))+
'元/小时'','''+loginform.username+''')');
loginform.ExecuteSQL('update house set room='''+self.suiComboBox6.Text+''','+
'price='''+hourprice+''',ifclock=''Y'',clock='''+hourprice+''','+
'scale=''1.0'',factprice='''+hourprice+''',deposit='''+deposit+''','+
'entertime='''+FormatDateTime('yyyy-mm-dd hh:nn:ss',now)+''' '+
'where id='''+id+''' and room='''+mainform.roomnum+'''');
end
else
begin
loginform.ExecuteSQL('insert into consume '+
'values('''+id+''','''+self.suiComboBox6.Text+''',''房间费'+
''','''+FormatFloat('¥0.00',strtofloat(dayprice))+
''',''1.0'',''1.0'','''+FormatFloat('¥0.00',strtofloat(dayprice))+
''','''+FormatDateTime('yyyy-mm-dd hh:nn:ss',now)+
''','''+FormatFloat('¥0.00',strtofloat(dayprice))+
'元/天'','''+loginform.username+''')');
loginform.ExecuteSQL('update house set room='''+self.suiComboBox6.Text+''','+
'price='''+dayprice+''',ifclock=''N'',clock='''+dayprice+''','+
'scale=''1.0'',factprice='''+dayprice+''',deposit='''+deposit+''','+
'entertime='''+FormatDateTime('yyyy-mm-dd hh:nn:ss',now)+''' '+
'where id='''+id+''' and room='''+mainform.roomnum+'''');
end;
end
else
begin
loginform.ExecuteSQL('update house set room='''+self.suiComboBox6.Text+''' '+
'where id='''+id+''' and room='''+mainform.roomnum+'''');
end;
loginform.ExecuteSQL('update yjgl set yj_sph='''+self.suiComboBox6.Text+''' '+
'where yj_bh='''+id+''' and yj_sph='''+mainform.roomnum+'''');
loginform.ExecuteSQL('insert into log '+
'values('''+FormatDatetime('yyyy-mm-dd hh:nn:ss',now)+''','''+loginform.userid+
''','''+LoginForm.username+''',''宾客【'+guestname+'】'+
'房间由【'+mainform.roomnum+'】调换到【'+self.suiComboBox6.Text+'】'')');
MessageDlg('宾客【'+guestname+'】房间由【'+mainform.roomnum+'】调换到【'+self.suiComboBox6.Text+'】!',
mtConfirmation, [mbYes], 0);
close;
end;
procedure TChangeForm.suiComboBox5Select(Sender: TObject);
begin
self.suiComboBox6.SetFocus;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?