📄 c_ctmain.pas
字号:
IS_YDXS := False;
ShowCtzt;
end;
procedure TCtmainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
tblCtzt.Close;
end;
//刷新餐厅状态
procedure TCtmainForm.sgdCtztDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
i : Integer;
begin
i := ARow*sgdCtzt.ColCount + ACol;
if i<FCtNum then
begin
with sgdCtzt do
begin
Canvas.Brush.Color := FCtzt[i].AColor;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left,Rect.Top,FCtzt[i].ACtmc);
Canvas.TextOut(Rect.Left,Rect.Top+14,FCtzt[i].AKrxm);
if FCtzt[i].AXfje<>0 then
Canvas.TextOut(Rect.Left,Rect.Top+28,CurrToStr(FCtzt[i].AXfje)+'元');
if (FCtzt[i].ACtzt = CTZT_OK)and IS_YDXS then
begin
Canvas.TextOut(Rect.Left,Rect.Top+14,FCtzt[i].AYdbz);
Canvas.TextOut(Rect.Left,Rect.Top+28,FCtzt[i].ASjdm);
end;
//ImageList1.Draw(Canvas,Rect.Left,Rect.Top+48,FCtzt[i].AImage);
end;
end;
end;
procedure TCtmainForm.sgdCtztSelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
var
s: string;
begin
sgdCtzt.ShowHint := False;
FSelect := ARow*sgdCtzt.ColCount + ACol;
if FSelect < FCtnum then
begin
tblCtzt.Locate('D_CTBH',FCtzt[FSelect].ACtbh,[]);
s := '客人姓名:'+tblCtztD_KRXM.Value+#13#10;
s := s+'客人人数:'+IntToStr(tblCtztD_KRSL.Value)+#13#10;
s := s + '开台时间:'+TimeToStr(tblCtztD_XFSJ.Value);
sgdCtzt.Hint := s;
sgdCtzt.ShowHint := True;
tblCtdc.FindKey([FCtzt[FSelect].ADcbh,FCtzt[FSelect].ACtbh]);
end;
end;
procedure TCtmainForm.sgdCtztDblClick(Sender: TObject);
var
ACtzt: TCtzt;
begin
if (FSelect < FCtNum)and(FCtzt[FSelect].ACtzt = CTZT_OK) then
begin
ACtzt := FCtzt[FSelect];
Ctkt(ACtzt);
if ACtzt.ADcbh <> '' then
CtdcForm.Ctdc(ACtzt);
ShowCtzt;
Exit;
end;
if (FSelect < FCtNum)and((FCtzt[FSelect].ACtzt = CTZT_USE)or(FCtzt[FSelect].ACtzt = CTZT_JZ)) then
begin
ACtzt := FCtzt[FSelect];
CtdcForm.Ctdc(ACtzt);
ShowCtzt;
Exit;
end;
end;
procedure TCtmainForm.N18Click(Sender: TObject);
begin
Close;
end;
//选台
procedure TCtmainForm.btnXtClick(Sender: TObject);
var
ACtzts: TCtzts;
begin
with CtxtmForm do
begin
ACtzts := Ctxtm;
if ModalResult = mrOK then
begin
Ctktm(ACtzts);
if CtktForm.ModalResult = mrOk then
begin
CtdcForm.Ctdc(ACtzts[0]);
ShowCtzt;
end;
end;
end;
end;
//转台
procedure TCtmainForm.btnZtClick(Sender: TObject);
var
ACtzts,ACtztd: TCtzt;
ACtbhd: string;
begin
if (FSelect < FCtNum)and(FCtzt[FSelect].ACtzt = CTZT_USE) then
begin
ACtzts := FCtzt[FSelect];
ACtbhd := Ctzt;
if ACtbhd<>'' then
begin
ACtztd := ACtzts;
ACtztd.ACtbh := ACtbhd;
CtData.DatabaseUser.StartTransaction;
try
//设置目的餐台的状态
CtData.SetCtzt(ACtztd);
//初始化源餐台的状态
CtData.InitCtzt(ACtzts);
//修改餐厅编号
CtData.UpdateCtbh(ACtztd.ADcbh,ACtzts.ACtbh,ACtbhd);
//修改点菜明细
CtData.UpdateDcmx(ACtztd.ADcbh,ACtzts.ACtbh,ACtbhd);
CtData.DatabaseUser.Commit;
except
CtData.DatabaseUser.Rollback;
raise;
end;
ShowCtzt;
end;
end;
end;
//并台
procedure TCtmainForm.btnBtClick(Sender: TObject);
var
ACtzts,ACtztd: TCtzt;
ACtbhd: string;
begin
if (FSelect < FCtNum)and(FCtzt[FSelect].ACtzt = CTZT_USE) then
begin
ACtzts := FCtzt[FSelect];
ACtbhd := Ctbt;
if ACtbhd<>'' then
begin
ACtztd := CtData.GetCtzt(ACtbhd);
CtData.DatabaseUser.StartTransaction;
try
CtData.Dcmxbt(ACtzts.ADcbh,ACtztd.ADcbh);
CtData.UpdateCtdcbt(ACtzts.ADcbh,ACtztd.ADcbh);
ACtzts.ADcbh := ACtztd.ADcbh;
CtData.SetCtzt(ACtzts);
CtData.DatabaseUser.Commit;
except
CtData.DatabaseUser.Rollback;
raise;
end;
ShowCtzt;
end;
end;
end;
//清台
procedure TCtmainForm.btnQtClick(Sender: TObject);
var
i : Integer;
begin
for i := 0 to FCtNum -1 do
if FCtzt[i].ACtzt = CTZT_JZ then
CtData.InitCtzt(FCtzt[i]);
ShowCtzt;
end;
//非餐费结帐
procedure TCtmainForm.N16Click(Sender: TObject);
begin
Fcfjz;
ShowCtzt;
end;
//营业查询
procedure TCtmainForm.N10Click(Sender: TObject);
begin
Yycx;
end;
//消耗统计
procedure TCtmainForm.N8Click(Sender: TObject);
begin
Xhtj;
end;
//点菜变动
procedure TCtmainForm.N9Click(Sender: TObject);
begin
Dcbd;
end;
//刷新
procedure TCtmainForm.btnRefreshClick(Sender: TObject);
begin
ShowCtzt;
end;
procedure TCtmainForm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if tblCtdcD_JZFS.Value <> '' then
DBGrid1.Canvas.Font.Color := clRed;
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
//预定开台
procedure TCtmainForm.Ydcykt(const ADcbh,ACtbh,AKrxm,AYcbz,AYdbz: string;AYcje: Currency);
var
ACtzt: TCtzt;
begin
tblCtdc.Insert;
tblCtdcD_DCBH.Value := ADcbh;
tblCtdcD_CTBH.Value := ACtbh;
tblCtdcD_KRSL.Value := 1;
tblCtdcD_KRXM.Value := AKrxm;
tblCtdcD_XFRQ.Value := Date;
tblCtdcD_XFSJ.Value := Time;
tblCtdcD_YCBZ.Value := AYcbz;
tblCtdcD_SJDM.Value := GetSjdm(Time);
tblCtdcD_XMBH.Value := '0';
tblCtdcD_DCLB.Value := DCLB_YC;
tblCtdcD_JSBZ.Value := JS_NO;
tblCtdcD_CZYXM.Value:= CZY.CzyXm;
tblCtdc.Post;
ACtzt.ACtbh := tblCtdcD_CTBH.Value;
ACtzt.ACtzt := CTZT_USE;
ACtzt.AKrxm := tblCtdcD_KRXM.Value;
ACtzt.AKrsl := tblCtdcD_KRSL.Value;
ACtzt.ADcbh := tblCtdcD_DCBH.Value;
ACtzt.AXfrq := tblCtdcD_XFRQ.AsDateTime;
ACtzt.AXfsj := tblCtdcD_XFSJ.AsDateTime;
CtData.SetCtzt(ACtzt);
if AYcje<>0 then
CtData.InsertBzc(ACtzt.ADcbh,ACtzt.ACtbh,ACtzt.AXfrq,AYcje);
{if AYdbz = 'P' then
begin
if AYcje<>0 then
CtData.InsertBzc(ACtzt.ADcbh,ACtzt.ACtbh,ACtzt.AXfrq,AYcje);
end
else
begin
if AYcje<>0 then
CtData.InsertBzc(ACtzt.ADcbh,ACtzt.ACtbh,ACtzt.AXfrq,tblYdcydD_XFJE.Value);
end;}
end;
//口令设置
procedure TCtmainForm.N20Click(Sender: TObject);
begin
Klsz(CZY.CzyBh);
end;
//重新登录
procedure TCtmainForm.N21Click(Sender: TObject);
begin
if (not CzyDl)or(not CtData.CheckYgqx(CZY.CzyBh,'餐饮管理系统')) then
Application.Terminate;
Caption := '餐饮管理系统(操作员:' + CZY.CzyXm+')';
end;
//关于
procedure TCtmainForm.N23Click(Sender: TObject);
begin
About;
end;
//系统设置
procedure TCtmainForm.N24Click(Sender: TObject);
begin
Xtsz;
end;
procedure TCtmainForm.tblYdcyD_YDBZGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
if DisPlayText then
begin
if Sender.AsString = 'P' then Text := '散客预定'
else Text := '团队预定';
end;
end;
procedure TCtmainForm.N26Click(Sender: TObject);
begin
Yytj(0);
end;
procedure TCtmainForm.N30Click(Sender: TObject);
begin
Yytj(1);
end;
procedure TCtmainForm.N31Click(Sender: TObject);
begin
Yytj(2);
end;
procedure TCtmainForm.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case Key of
VK_F1 : btnYdClick(nil);
VK_F2 : btnXtClick(nil);
VK_F3 : sgdCtztDblClick(nil);
VK_F4 : btnZtClick(nil);
VK_F5 : btnBtClick(nil);
VK_F6 : btnQtClick(nil);
VK_F7 : btnJtClick(nil);
VK_F8 : btnRefreshClick(nil);
VK_F10: begin
IS_YDXS := not IS_YDXS;
//N33.Checked := IS_YDXS;
ShowCtzt;
end;
end;
end;
procedure TCtmainForm.btnYdClick(Sender: TObject);
begin
Ydcy;
end;
procedure TCtmainForm.btnJtClick(Sender: TObject);
begin
Ctjt;
end;
procedure TCtmainForm.sgdCtztKeyPress(Sender: TObject; var Key: Char);
var
ACtzt: TCtzt;
begin
if Key=#13 then
begin
if (FSelect < FCtNum)and(FCtzt[FSelect].ACtzt = CTZT_OK) then
begin
ACtzt := FCtzt[FSelect];
Ctkt(ACtzt);
if ACtzt.ADcbh <> '' then
CtdcForm.Ctdc(ACtzt);
ShowCtzt;
Exit;
end;
if (FSelect < FCtNum)and((FCtzt[FSelect].ACtzt = CTZT_USE)or(FCtzt[FSelect].ACtzt = CTZT_JZ)) then
begin
ACtzt := FCtzt[FSelect];
CtdcForm.Ctdc(ACtzt);
ShowCtzt;
Exit;
end;
end;
end;
procedure TCtmainForm.DBGrid1DblClick(Sender: TObject);
var
aDcbh : string;
begin
if tblCtdc.IsEmpty then Exit;
aDcbh := tblCtdcD_DCBH.Value;
YycxEnter(aDcbh);
end;
procedure TCtmainForm.N33Click(Sender: TObject);
begin
IS_YDXS := N33.Checked;
ShowCtzt;
end;
procedure TCtmainForm.OnWjzcx(Sender: TObject);
begin
Wjzcx;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -