📄 c_kfzt.pas
字号:
AKrbh: string;
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'接待') then Exit;
AKrbh := qryTd.FieldByName('D_KRBH').AsString;
if AKrbh<>'' then
Tdqx(AKrbh);
end;
//房态说明
procedure TKfztForm.BitBtn16Click(Sender: TObject);
begin
inherited;
Ftsm;
end;
//双击客房
procedure TKfztForm.sgdKfztDblClick(Sender: TObject);
begin
inherited;
if FSelect < FKfNum then
begin
//如果是OK房,则登记
if FKfzt[FSelect].AKfzt=KFZT_OK then
begin
if not HotelData.CheckYgqx(CZY.CzyBh,'接待') then Exit;
NbjdEnter(tblKfztD_KFBH.Value);
ShowKfzt;
ShowRzl;
Exit;
end;
//如果是散客
if FKfzt[FSelect].AKfzt = KFZT_BF then
ZdcxEnter(tblKfztD_KFBH.Value);
//20020630 edit by ls.
//YjxfEnter(tblKfztD_KFBH.Value);
//如果是团队
if FKfzt[FSelect].AKfzt = KFZT_TD then
ZdcxTdEnter(tblKfztD_KRBH.Value);
//YjxfEnter1(tblKfztD_KRBH.Value);
end;
end;
//信息补登
procedure TKfztForm.DBGrid3DblClick(Sender: TObject);
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'接待') then Exit;
XxxgEnter(tblXxbd.FieldByName('D_KRBH').AsString);
end;
//刷新预定餐饮
procedure TKfztForm.ShowYdcy;
var
i: Integer;
begin
FCyNum := qryYdcy.RecordCount; //预定数量
SetLength(FYdcy,FCyNum);
sgdYdcy.ColCount := CyColNum;
sgdYdcy.RowCount := (FCyNum div CyColNum)+1;
qryYdcy.First;
i := 0;
while not qryYdcy.Eof do
begin
FYdcy[i].AYdbh := qryYdcy.FieldByName('D_YDBH').AsString;
FYdcy[i].AKrbh := qryYdcy.FieldByName('D_KRBH').AsString;
FYdcy[i].AKrxm := qryYdcy.FieldByName('D_KRXM').AsString;
FYdcy[i].ASyrq := qryYdcy.FieldByName('D_SYRQ').AsDateTime;
FYdcy[i].ASjdm := qryYdcy.FieldByName('D_SJDM').AsString;
FYdcy[i].ACtbh := qryYdcy.FieldByName('D_CTBH').AsString;
FYdcy[i].ACtmc := qryYdcy.FieldByName('D_CTMC').AsString;
FYdcy[i].AXfje := qryYdcy.FieldByName('D_XFJE').AsCurrency;
FYdcy[i].ARzbz := qryYdcy.FieldByName('D_RZBZ').AsBoolean;
FYdcy[i].AJsbz := qryYdcy.FieldByName('D_JSBZ').AsString;
FYdcy[i].AYcbz := qryYdcy.FieldbyName('D_YCBZ').AsString;
FYdcy[i].AColor := cl3DLight;
//如果过期
if FYdcy[i].ASyrq < Date then FYdcy[i].ASjgq := True
else FYdcy[i].ASjgq := False;
if FYdcy[i].ASjgq then FYdcy[i].AColor := clYellow;
//如果入帐确认
if FYdcy[i].ARzbz then FYdcy[i].AColor := clGreen;
//如果结算
if FYdcy[i].AJsbz = JS_YES then FYdcy[i].AColor := clRed;
FYdcy[i].AImage := 0;
if FYdcy[i].ARzbz then FYdcy[i].AImage := 1;
if FYdcy[i].AJsbz = JS_YES then FYdcy[i].AImage := 2;
if FYdcy[i].ASjgq then FYdcy[i].AImage := 3;
qryYdcy.Next;
Inc(i);
end;
sgdYdcy.Refresh;
end;
//刷新预定客房
procedure TKfztForm.ShowYdkf;
var
i: Integer;
begin
FYdkfNum := qryYdkf.RecordCount;//预定数量
SetLength(FYdkf,FYdkfNum);
sgdYdkf.ColCount := KfColNum;
sgdYdkf.RowCount := (FYdkfNum div KfColNum)+1;
qryYdkf.First;
i := 0;
while not qryYdkf.Eof do
begin
FYdkf[i].AYdbh := qryYdkf.FieldByName('D_YDBH').AsString;
FYdkf[i].AKrbh := qryYdkf.FieldByName('D_KRBH').AsString;
FYdkf[i].AKrxm := qryYdkf.FieldByName('D_KRXM').AsString;
FYdkf[i].ADdrq := qryYdkf.FieldByName('D_DDRQ').AsDateTime;
FYdkf[i].ADdsj := qryYdkf.FieldByName('D_DDSJ').AsDateTime;
FYdkf[i].ALdrq := qryYdkf.FieldByName('D_LDRQ').AsDateTime;
FYdkf[i].ALdsj := qryYdkf.FieldByName('D_LDSJ').AsDateTime;
FYdkf[i].AKfbh := qryYdkf.FieldByName('D_KFBH').AsString;
FYdkf[i].AXfje := qryYdkf.FieldByName('D_XFJE').AsCurrency;
FYdkf[i].ARzbz := qryYdkf.FieldByName('D_RZBZ').AsBoolean;
FYdkf[i].AJsbz := qryYdkf.FieldByName('D_JSBZ').AsString;
FYdkf[i].AYdbz := qryYdkf.FieldByName('D_YDBZ').AsString;
FYdkf[i].AColor := cl3DLight;
//如果过期
if FYdkf[i].ADdrq < Date then FYdkf[i].ASjgq := True
else FYdkf[i].ASjgq := False;
if FYdkf[i].ASjgq then FYdkf[i].AColor := clYellow;
//如果确认
if FYdkf[i].ARzbz then FYdkf[i].AColor := clGreen;
//如果结算
if FYdkf[i].AJsbz = JS_YES then FYdkf[i].AColor := clRed;
FYdkf[i].AImage := 0;
if FYdkf[i].ARzbz then FYdkf[i].AImage := 1;
if FYdkf[i].AJsbz = JS_YES then FYdkf[i].AImage := 2;
if FYdkf[i].ASjgq then FYdkf[i].AImage := 3;
qryYdkf.Next;
Inc(i);
end;
sgdYdkf.Refresh;
end;
//刷新预定会场
procedure TKfztForm.ShowYdhc;
var
i: Integer;
begin
FHcNum := qryYdhc.RecordCount;//预定数量
SetLength(FYdhc,FHcNum);
sgdYdhc.ColCount := HcColNum;
sgdYdhc.RowCount := (FHcNum div HcColNum)+1;
qryYdhc.First;
i := 0;
while not qryYdhc.Eof do
begin
FYdhc[i].AYdbh := qryYdhc.FieldByName('D_YDBH').AsString;
FYdhc[i].AKrbh := qryYdhc.FieldByName('D_KRBH').AsString;
FYdhc[i].AKrxm := qryYdhc.FieldByName('D_KRXM').AsString;
FYdhc[i].ASyrq := qryYdhc.FieldByName('D_SYRQ').AsDateTime;
FYdhc[i].ASjdm := qryYdhc.FieldByName('D_SJDM').AsString;
FYdhc[i].AHcdm := qryYdhc.FieldByName('D_HCBH').AsString;
FYdhc[i].AHcmc := qryYdhc.FieldByName('D_HCMC').AsString;
FYdhc[i].AHczj := qryYdhc.FieldByName('D_HCZJ').AsCurrency;
FYdhc[i].ARzbz := qryYdhc.FieldByName('D_RZBZ').AsBoolean;
FYdhc[i].AJsbz := qryYdhc.FieldByName('D_JSBZ').AsString;
FYdhc[i].AColor := cl3DLight;
//如果过期
if FYdhc[i].ASyrq < Date then FYdhc[i].ASjgq := True
else FYdhc[i].ASjgq := False;
if FYdhc[i].ASjgq then FYdhc[i].AColor := clYellow;
//如果确认
if FYdhc[i].ARzbz then FYdhc[i].AColor := clGreen;
//如果结算
if FYdhc[i].AJsbz = JS_YES then FYdhc[i].AColor := clRed;
FYdhc[i].AImage := 0;
if FYdhc[i].ARzbz then FYdhc[i].AImage := 1;
if FYdhc[i].ASjgq then FYdhc[i].AImage := 3;
if FYdhc[i].AJsbz = JS_YES then FYdhc[i].AImage := 2;
qryYdhc.Next;
Inc(i);
end;
sgdYdhc.Refresh;
end;
//预定刷新
procedure TKfztForm.btnYdRefreshClick(Sender: TObject);
begin
inherited;
ShowYdhc;
ShowYdcy;
ShowYdkf;
end;
//预定会场
procedure TKfztForm.btnYdhcClick(Sender: TObject);
var
AKrbh: string;
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'预定') then Exit;
AKrbh := YdxxSel;
if AKrbh<>'' then
begin
YdhcNew(AKrbh);
ShowYdhc;
end;
end;
procedure TKfztForm.sgdYdhcDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
i : Integer;
begin
inherited;
i := ARow*sgdYdhc.ColCount + ACol;
if i<FHcNum then
begin
with sgdYdhc do
begin
Canvas.Brush.Color := FYdhc[i].AColor;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left,Rect.Top,DateToStr(FYdhc[i].ASyrq)+FYdhc[i].ASjdm);
Canvas.TextOut(Rect.Left,Rect.Top+20,FYdhc[i].AHcmc+' '+CurrToStr(FYdhc[i].AHczj)+'元');
Canvas.TextOut(Rect.Left,Rect.Top+40,FYdhc[i].AKrxm);
ImageList3.Draw(Canvas,Rect.Left,Rect.Top+60,FYdhc[i].AImage);
end;
end;
end;
//预定信息
procedure TKfztForm.btnYdxxClick(Sender: TObject);
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'预定') then Exit;
Ydxx;
ShowYdhc;
end;
procedure TKfztForm.sgdYdhcDblClick(Sender: TObject);
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'预定') then Exit;
if FHcSelect < FHcNum then
begin
if (not FYdhc[FHcSelect].ARzbz)and(FYdhc[FHcSelect].AJsbz=JS_NO) then
begin
YdhcEdit(FYdhc[FHcSelect].AKrbh,FYdhc[FHcSelect].AYdbh);
ShowYdhc;
Exit;
end;
if (FYdhc[FHcSelect].ARzbz)and(FYdhc[FHcSelect].AJsbz = JS_NO) then
begin
YdhcJs(FYdhc[FHcSelect].AKrbh,FYdhc[FHcSelect].AYdbh);
ShowYdhc;
end;
end;
end;
procedure TKfztForm.sgdYdhcSelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
begin
inherited;
FHcSelect := ARow*sgdYDhc.ColCount + ACol;
end;
procedure TKfztForm.sgdYdcyDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
i : Integer;
begin
inherited;
i := ARow*sgdYdcy.ColCount + ACol;
if i<FCyNum then
begin
with sgdYdcy do
begin
Canvas.Brush.Color := FYdcy[i].AColor;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left,Rect.Top,DateToStr(FYdcy[i].ASyrq)+FYdcy[i].ASjdm);
Canvas.TextOut(Rect.Left,Rect.Top+20,FYdcy[i].ACtmc+' '+FYdcy[i].AYcbz);
Canvas.TextOut(Rect.Left,Rect.Top+40,FYdcy[i].AKrxm);
ImageList3.Draw(Canvas,Rect.Left,Rect.Top+60,FYdcy[i].AImage);
end;
end;
end;
procedure TKfztForm.sgdYdcySelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
begin
inherited;
FCySelect := ARow*sgdYdcy.ColCount + ACol;
end;
procedure TKfztForm.sgdYdcyDblClick(Sender: TObject);
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'预定') then Exit;
if FCySelect < FCyNum then
begin
if FYdcy[FCySelect].ACtmc<>'团队定餐' then
YdcyskEdit(FYdcy[FCySelect].AKrbh,FYdcy[FCySelect].AYdbh)
else
YdcytdEdit(FYdcy[FCySelect].AKrbh,FYdcy[FCySelect].AYdbh);
ShowYdcy;
end;
end;
procedure TKfztForm.btnHcjsClick(Sender: TObject);
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'结帐') then Exit;
if (FHcSelect < FHcNum) then
begin
if (FYdhc[FHcSelect].ARzbz)and(FYdhc[FHcSelect].AJsbz = JS_NO) then
begin
YdhcJs(FYdhc[FHcSelect].AKrbh,FYdhc[FHcSelect].AYdbh);
ShowYdhc;
end;
end;
end;
//预定清理
procedure TKfztForm.btnYdClearClick(Sender: TObject);
var
s: string;
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'预定') then Exit;
s := 'delete from YDHC where D_SYRQ<:D';
with HotelData.qryUserData do
begin
if Active then Active := False;
SQL.Clear;
SQL.Add(s);
Params[0].DataType := ftDate;
Params[0].Value := Date;
ExecSQL;
Close;
end;
s := 'delete from YDCY where D_SYRQ<:D';
with HotelData.qryUserData do
begin
if Active then Active := False;
SQL.Clear;
SQL.Add(s);
Params[0].DataType := ftDate;
Params[0].Value := Date;
ExecSQL;
Close;
end;
s := 'delete from YDKF where D_DDRQ<:D';
with HotelData.qryUserData do
begin
if Active then Active := False;
SQL.Clear;
SQL.Add(s);
Params[0].DataType := ftDate;
Params[0].Value := Date;
ExecSQL;
Close;
end;
s := 'delete from YDXX '
+'where (D_KRBH<>any(select D_KRBH from YDHC))'
+'and(D_KRBH<>any(select D_KRBH from YDCY))';
with HotelData.qryUserData do
begin
if Active then Active := False;
SQL.Clear;
SQL.Add(s);
ExecSQL;
Close;
end;
ShowYdhc;
ShowYdcy;
ShowYdkf;
end;
//散客预定餐饮
procedure TKfztForm.btnYdcyskClick(Sender: TObject);
var
AKrbh: string;
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'预定') then Exit;
AKrbh := YdxxSel;
if AKrbh<>'' then
begin
YdcyskNew(AKrbh);
ShowYdcy;
end;
end;
//团队预定餐饮
procedure TKfztForm.btnYdcytdClick(Sender: TObject);
var
AKrbh: string;
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'预定') then Exit;
AKrbh := YdxxSel;
if AKrbh<>'' then
begin
YdcytdNew(AKrbh);
ShowYdcy;
end;
end;
procedure TKfztForm.sgdYdkfDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
i : Integer;
begin
inherited;
i := ARow*sgdYdkf.ColCount + ACol;
if i<FYdkfNum then
begin
with sgdYdkf do
begin
Canvas.Brush.Color := FYdkf[i].AColor;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left,Rect.Top,DateToStr(FYdkf[i].ADdrq)+' '+FormatDateTime('hh:mm',FYdkf[i].ADdsj));
Canvas.TextOut(Rect.Left,Rect.Top+15,DateToStr(FYdkf[i].ALdrq)+' '+FormatDateTime('hh:mm',FYdkf[i].ALdsj));
Canvas.TextOut(Rect.Left,Rect.Top+30,FYdkf[i].AKfbh+'房 '+CurrToStr(FYdkf[i].AXfje)+'元');
Canvas.TextOut(Rect.Left,Rect.Top+45,FYdkf[i].AKrxm);
ImageList3.Draw(Canvas,Rect.Left,Rect.Top+60,FYdkf[i].AImage);
end;
end;
end;
procedure TKfztForm.sgdYdkfDblClick(Sender: TObject);
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'预定') then Exit;
if FKfSelect < FYdkfNum then
begin
if FYdKf[FKfSelect].AKfbh<>'' then
begin
if FYdkf[FKfSelect].AYdbz = YDKF_SK then
YdkfskEdit(FYdkf[FKfSelect].AKrbh,FYdkf[FKfSelect].AYdbh)
else
YdkftdEdit(FYdkf[FKfSelect].AKrbh,FYdkf[FKfSelect].AYdbh);
end;
ShowYdkf;
end;
end;
//散客预定客房
procedure TKfztForm.btnYdkfskClick(Sender: TObject);
var
AKrbh: string;
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'预定') then Exit;
AKrbh := YdxxSel;
if AKrbh<>'' then
begin
YdKfskNew(AKrbh);
ShowYdkf;
end;
end;
procedure TKfztForm.sgdYdkfSelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
begin
inherited;
FKfSelect := ARow*sgdYdkf.ColCount + ACol;
end;
//团队预定客房
procedure TKfztForm.btnYdkftdClick(Sender: TObject);
var
AKrbh: string;
begin
inherited;
if not HotelData.CheckYgqx(CZY.CzyBh,'预定') then Exit;
AKrbh := YdxxSel;
if AKrbh<>'' then
begin
YdKfTdNew(AKrbh);
ShowYdkf;
end;
end;
//预定说明
procedure TKfztForm.BitBtn17Click(Sender: TObject);
begin
inherited;
Ydsm;
end;
procedure TKfztForm.FormCreate(Sender: TObject);
begin
inherited;
KfztInit;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -