📄 c_kfzt.pas
字号:
with qryTd do
begin
DisableControls;
for i:=1 to 10 do
(KfztForm.FindComponent('lblTdmc'+IntToStr(i)) as TStaticText).Caption := '';
Close;
Open;
First;
while not Eof do
begin
(KfztForm.FindComponent('lblTdmc'+IntToStr(qryTd.RecNo)) as TStaticText).Caption := qryTd.FieldbyName('D_KRXM').AsString;
for i:=0 to FKfNum-1 do
if FKfzt[i].AKrxm = qryTd.FieldByName('D_KRXM').AsString then
FKfzt[i].AColor := (KfztForm.FindComponent('lblTdmc'+IntToStr(qryTd.RecNo)) as TStaticText).Color;
Next;
end;
EnableControls;
end;
sgdKfzt.Refresh;
tblXxbd.Refresh;
Screen.Cursor := crDefault;
end;
//入住率图表显示
procedure TKfztForm.ShowRzl;
var
AOk,ABf,ATd,AWx,AMf,AZk: Integer;
ACzl: Double;
begin
tblkfzt.DisableControls;
AOk := 0;ABf := 0;ATd := 0;AWx := 0;AMf := 0;AZk := 0;
with tblKfzt do
begin
First;
while not Eof do
begin
if FieldByName('D_KFZT').AsString = KFZT_OK then Inc(AOk)
else
if FieldByName('D_KFZT').AsString = KFZT_BF then Inc(ABf)
else
if FieldByName('D_KFZT').AsString = KFZT_TD then Inc(ATd)
else
if FieldByName('D_KFZT').AsString = KFZT_WX then Inc(AWx)
else
if FieldByName('D_KFZT').AsString = KFZT_MF then Inc(AMf)
else
if FieldByName('D_KFZT').AsString = KFZT_ZK then Inc(AZk);
Next;
end;
end;
with Series1 do
begin
Clear;
AddPie(AOk,'空房',clWhite);
AddPie(ABf,'散客',clGreen);
AddPie(ATd,'团队',clBlue);
AddPie(AWx,'维修',clRed);
AddPie(AMf,'免费',clYellow);
AddPie(AZk,'脏空',clBlack);
end;
with Series2 do
begin
Clear;
if (AOk+ABf+ATd+AMf+AZk)=0 then ACzl := 0
else
ACzl := (ABf+ATd+AMf)/(AOk+ABf+ATd+AMf+AZk);
AddBar(AOk+ABf+ATd+AMf+AZk,'客房总数',clBlue);
AddBar(ABf+ATd+AMf,'出租数',clGreen);
AddBar(ACzl*100,'出租率%',clRed)
end;
tblKfzt.EnableControls;
end;
//右键菜单
procedure TKfztForm.PopupMenu1Popup(Sender: TObject);
var
Enable: Boolean;
AKfzt : string;
begin
inherited;
Enable := False;
menuNbdj.Enabled := Enable;
menuWbdj.Enabled := Enable;
menuMfdj.Enabled := Enable;
menuTddj.Enabled := Enable;
menuXxxg.Enabled := Enable;
menuCyxf.Enabled := Enable;
menuDhfj.Enabled := Enable;
menuYksy.Enabled := Enable;
menuJz.Enabled := Enable;
menuOkf.Enabled := Enable;
menuWxf.Enabled := Enable;
if FSelect >= FKfNum then Exit;
AKfzt := FKfzt[FSelect].AKfzt;
if (AKfzt<>KFZT_WX)and(AKfzt<>KFZT_MF)and(AKfzt<>KFZT_ZK) then
begin
Enable := AKfzt<> KFZT_OK;
menuNbdj.Enabled := not Enable;
menuWbdj.Enabled := not Enable;
menuMfdj.Enabled := not Enable;
menuTddj.Enabled := not Enable;
menuXxxg.Enabled := Enable;
menuDhfj.Enabled := Enable;
menuYksy.Enabled := Enable;
menuCyxf.Enabled := Enable;
menuJz.Enabled := Enable and (AKfzt<>KFZT_TD);
end;
if AKfzt=KFZT_OK then menuWxf.Enabled := True;
if (AKfzt=KFZT_ZK)
or(AKfzt=KFZT_WX)
or(AKfzt=KFZT_MF) then
menuOkf.Enabled := True;
end;
//内宾接待
procedure TKfztForm.menuNbdjClick(Sender: TObject);
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'接待') then Exit;
NbjdEnter(tblKfztD_KFBH.Value);
//刷新
ShowKfzt;
ShowRzl;
end;
//信息修改
procedure TKfztForm.menuXxxgClick(Sender: TObject);
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'接待') then Exit;
XxxgEnter(tblKfztD_KRBH.Value);
ShowKfzt;
end;
//房态刷新
procedure TKfztForm.btnRefreshClick(Sender: TObject);
begin
inherited;
ShowKfzt;
ShowRzl;
ShowYjxf;
end;
//外宾接待
procedure TKfztForm.menuWbdjClick(Sender: TObject);
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'接待') then Exit;
WbjdEnter(tblKfztD_KFBH.Value);
ShowKfzt;
ShowRzl;
end;
//团队接待
procedure TKfztForm.menuTddjClick(Sender: TObject);
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'接待') then Exit;
Tdjd;
ShowKfzt;
ShowRzl;
end;
//调换房间
procedure TKfztForm.menuDhfjClick(Sender: TObject);
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'接待') then Exit;
SktfEnter(tblKfztD_KFBH.Value);
ShowKfzt;
ShowRzl;
end;
//押金查询
procedure TKfztForm.menuCyyjClick(Sender: TObject);
begin
inherited;
end;
//帐单查询
procedure TKfztForm.menuCyxfClick(Sender: TObject);
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'查询') then Exit;
if tblKfztD_KFZT.Value=KFZT_BF then
ZdcxEnter(tblKfztD_KFBH.Value);
if tblKfztD_KFZT.Value=KFZT_TD then
ZdcxtdEnter(tblKfztD_KRBH.Value);
end;
//寓客收银
procedure TKfztForm.menuYksyClick(Sender: TObject);
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'结帐') then Exit;
YksyEnter(tblKfztD_KFBH.Value);
end;
//散客结帐
procedure TKfztForm.menuJzClick(Sender: TObject);
var
AJzxx: TJZXX;
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'结帐') then Exit;
AJzxx := SkjzEnter(tblKfztD_KFBH.Value);
if AJzxx.AJzfs<>'' then
Zd(AJzxx);
ShowKfzt;
ShowRzl;
end;
//设置OK房
procedure TKfztForm.menuOkfClick(Sender: TObject);
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'接待') then Exit;
//如果是免费房
if tblKfztD_KFZT.Value = KFZT_MF then
begin
//20020627 edit by ls.
HotelData.EmptyData('select * from KRXX where D_KRBH="'+tblKfztD_KRBH.Value+'"');
tblKfzt.Edit;
tblKfztD_KRBH.Value := '';
tblKfzt.Post;
end;
HotelData.SetKfzt(tblKfztD_KFBH.Value,KFZT_OK);
ShowKfzt;
ShowRzl;
end;
//设置维修房
procedure TKfztForm.menuWxfClick(Sender: TObject);
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'接待') then Exit;
HotelData.SetKfzt(tblKfztD_KFBH.Value,KFZT_WX);
ShowKfzt;
ShowRzl;
end;
//显示时间
procedure TKfztForm.Timer1Timer(Sender: TObject);
begin
inherited;
lblTime.Caption := DateToStr(Date)+' '+TimeToStr(Time);
end;
//房态导航
procedure TKfztForm.btnFtdhClick(Sender: TObject);
begin
inherited;
FtdhForm.Show;
end;
//房态导航函数
procedure TKfztForm.Ftdh;
begin
ShowKfzt;
end;
//团队补登
procedure TKfztForm.BitBtn1Click(Sender: TObject);
var
AKrbh: string;
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'接待') then Exit;
AKrbh := qryTd.FieldByName('D_KRBH').AsString;
if AKrbh<>'' then
begin
Tdbd(AKrbh);
ShowKfzt;
end;
end;
//团队退房
procedure TKfztForm.BitBtn2Click(Sender: TObject);
var
AKrbh: string;
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'结帐') then Exit;
AKrbh := qryTd.FieldByName('D_KRBH').AsString;
if AKrbh<>'' then
begin
Tdtf(AKrbh);
ShowKfzt;
end;
end;
//团队结帐
procedure TKfztForm.BitBtn3Click(Sender: TObject);
var
AKrbh: string;
AJzxx: TTdJzxx;
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'结帐') then Exit;
AKrbh := qryTd.FieldByName('D_KRBH').AsString;
if AKrbh<>'' then
begin
AJzxx := Tdjz(AKrbh);
if AJzxx.AJzfs<>'' then
begin
Tdzd(AJzxx);
ShowKfzt;
end;
end;
end;
//团队补交押金
procedure TKfztForm.BitBtn4Click(Sender: TObject);
var
AKrbh: string;
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'结帐') then Exit;
AKrbh := qryTd.FieldByName('D_KRBH').AsString;
if AKrbh<>'' then
begin
Bjyjtd(AKrbh);
end;
end;
//团队变更押金
procedure TKfztForm.BitBtn5Click(Sender: TObject);
var
AKrbh: string;
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'结帐') then Exit;
AKrbh := qryTd.FieldByName('D_KRBH').AsString;
if AKrbh<>'' then
begin
Tdyjbg(AKrbh);
end;
end;
//团队押金查询
//团队预先结帐
procedure TKfztForm.BitBtn7Click(Sender: TObject);
var
AKrbh: string;
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'结帐') then Exit;
AKrbh := qryTd.FieldByName('D_KRBH').AsString;
if AKrbh<>'' then
begin
YxjzTd(AKrbh);
end;
end;
//团队用房
procedure TKfztForm.BitBtn8Click(Sender: TObject);
var
AKrbh: string;
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'查询') then Exit;
AKrbh := qryTd.FieldByName('D_KRBH').AsString;
if AKrbh<>'' then
begin
Tdyfcx(AKrbh);
end;
end;
//团队接待
procedure TKfztForm.BitBtn9Click(Sender: TObject);
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'接待') then Exit;
Tdjd;
ShowKfzt;
end;
//房价变更
procedure TKfztForm.BitBtn10Click(Sender: TObject);
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'房价变更') then Exit;
Fjbg;
end;
//当天半全价
procedure TKfztForm.BitBtn11Click(Sender: TObject);
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'查询') then Exit;
Dtbqj;
end;
//团队信息修改
procedure TKfztForm.BitBtn12Click(Sender: TObject);
var
AKrbh: string;
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'接待') then Exit;
AKrbh := qryTd.FieldByName('D_KRBH').AsString;
if AKrbh<>'' then
begin
XxxgEnter(AKrbh);
end;
end;
//押金消费
procedure TKfztForm.tblKfztD_KFZTGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
inherited;
if DisplayText then
begin
if Sender.AsString=KFZT_BF then Text := '包房';
if Sender.AsString=KFZT_TD then Text := '团队';
if Sender.AsString=KFZT_MF then Text := '免费';
if Sender.AsString=KFZT_WX then Text := '维修';
if Sender.AsString=KFZT_OK then Text := '空房';
if Sender.AsString=KFZT_ZK then Text := '脏空';
end;
end;
//刷新客房时
procedure TKfztForm.sgdKfztDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
i : Integer;
begin
inherited;
i := ARow*sgdKfzt.ColCount + ACol;
if i<FKfNum then
begin
with sgdKfzt do
begin
Canvas.Brush.Color := FKfzt[i].AColor;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left,Rect.Top,FKfzt[i].AKfbh);
Canvas.TextOut(Rect.Left,Rect.Top+13,FKfzt[i].ACjbz+FKfzt[i].AYdbz);
//20020627 edit by ls.
{if FKfzt[i].ASjfj<>0 then
Canvas.TextOut(Rect.Left,Rect.Top+13,CurrToStr(FKfzt[i].ASjfj)+'元');
if IS_SHOWIMAGE then
ImageList1.Draw(Canvas,Rect.Left,Rect.Top+13,FKfzt[i].AImage);}
end;
end;
end;
//当选择客房时
procedure TKfztForm.sgdKfztSelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
begin
inherited;
sgdKfzt.ShowHint := False;
FSelect := ARow*sgdKfzt.ColCount + ACol;
if FSelect < FKfnum then
begin
tblKfzt.Locate('D_KFBH',FKfzt[FSelect].AKfbh,[]);
sgdKfzt.Hint := '客人姓名:' + tblKfztD_KRXM.Value+#13#10
+ '实际房价:' + CurrToStr(tblKfztD_SJFJ.Value);
sgdKfzt.ShowHint := True;
end;
end;
//免费登记
procedure TKfztForm.menuMfdjClick(Sender: TObject);
var
AKfbh: string;
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'接待') then Exit;
AKfbh := tblKfztD_KFBH.Value;
MfjdEnter(AKfbh);
ShowKfzt;
ShowRzl;
end;
//团帐查询
procedure TKfztForm.BitBtn14Click(Sender: TObject);
var
AKrbh: string;
begin
inherited;
AKrbh := qryTd.FieldByName('D_KRBH').AsString;
if AKrbh<>'' then
ZdcxTdEnter(AKrbh);
end;
//团队取消客房
procedure TKfztForm.BitBtn15Click(Sender: TObject);
var
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -