📄 mc_krmd.pas
字号:
unit MC_KRMD;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, ImgList, ComCtrls, DBCtrls, StdCtrls, Buttons, Grids, DBGrids
,DB, DBTables;
type
TKRMD = class(TForm)
Panel1: TPanel;
ListView1: TListView;
ImageList1: TImageList;
GroupBox1: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
DBText2: TDBText;
DBText3: TDBText;
DBText4: TDBText;
DBText5: TDBText;
DBText6: TDBText;
DBText7: TDBText;
DBText8: TDBText;
Bevel1: TBevel;
Panel2: TPanel;
Label1: TLabel;
Label10: TLabel;
Edit1: TEdit;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
DBGrid1: TDBGrid;
CheckBox1: TCheckBox;
Query1: TQuery;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn1: TBitBtn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ListView1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn2Click(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
private
Function ADDListView:Boolean;
{ Private declarations }
public
{ Public declarations }
end;
var
KRMD: TKRMD;
implementation
uses MC_TLCYGLXT, MC_KRMD_JZ, MC_KRMD_TQJZ, MC_GZFrom, MC_GZFYFrom;
{$R *.DFM}
procedure TKRMD.FormShow(Sender: TObject);
begin
ADDListView; //初始化房台信息列表
Edit1.SetFocus; //焦点在买单房台输入框
end;
function TKRMD.ADDListView:Boolean; //定义房台信息列表显示函数
begin
TLCYGLXT.FJTHXXB.RefResh;
KRMD.Listview1.Items.Clear;
TLCYGLXT.FJTHXXB.First;
While not TLCYGLXT.FJTHXXB.Eof do
begin
KRMD.ListView1.Items.Add.Caption:=TLCYGLXT.FJTHXXB.FieldByName('房台名称').AsString;
TLCYGLXT.FJTHXXB.Next;
end;
end;
procedure TKRMD.CheckBox1Click(Sender: TObject); //设置房台显示模式
begin
If CheckBox1.Checked = True Then
begin
Panel1.Visible:=False;
DBGrid1.Visible:=True;
End
Else
begin
Panel1.Visible:=True;
DBGrid1.Visible:=False;
end;
end;
//选择房台
procedure TKRMD.ListView1Click(Sender: TObject);
var list:TListItem;
ListString:String;
begin
List:=TlistView(Sender).Selected;
If List <> nil Then
begin
ListString:=List.Caption;
If Length(ListString) <> 0 Then
if TLCYGLXT.FJTHXXB.Locate('房台名称',ListString,[loPartialKey]) then
begin
Edit1.Text:=TLCYGLXT.FJTHXXB.FieldByName('编号').AsString;
end;
end;
end;
//计算消费金额
procedure TKRMD.BitBtn3Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select Sum(合计) From 点菜临时表');
Query1.SQL.Add('Where 房间台号=:A and 状态=:C');
Query1.Params[0].AsInteger:=TLCYGLXT.FJTHXXB
.FieldByName('编号').AsInteger;
Query1.Params[1].AsString:='点单';
Query1.Open;
ShowMessage('编号为['+TLCYGLXT.FJTHXXB
.FieldByName('编号').AsString+']名称为['
+TLCYGLXT.FJTHXXB
.FieldByName('房台名称')
.AsString+']总计消费('+FloatToStr(Query1
.Fields [0].AsFloat
+TLCYGLXT.FJTHXXB.FieldByName('服务费').AsFloat)
+')元人民币.');
Query1.Close;
end;
//查找房台
procedure TKRMD.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
If Length(Edit1.Text) = 0 Then
begin
ShowMessage('请输入房台编号.');
Edit1.SetFocus;
End
Else
if TLCYGLXT.FJTHXXB.Locate('编号',StrToInt(Edit1.Text),[loCaseInsensitive]) then
begin
BitBtn2.SetFocus;
End
Else
begin
ShowMessage('没有发现编号为['+Edit1.Text+']的房台编号.');
Edit1.SetFocus;
end;
End
Else
if key=#8 then key:=#8
Else
if (key<'0') or (key>'9') then
key:=#0;
end;
//客人买单
procedure TKRMD.BitBtn2Click(Sender: TObject);
begin
If Length(Edit1.Text) = 0 Then
begin
ShowMessage('请输入房台编号.');
Edit1.SetFocus;
End
Else
if TLCYGLXT.FJTHXXB.Locate('编号',StrToInt(Edit1.Text),[loCaseInsensitive]) then
begin
KRMD_JZ:=TKRMD_JZ.Create(Self);
KRMD_JZ.QUery1.Close;
KRMD_JZ.QUery1.SQL.Clear;
KRMD_JZ.QUery1.SQL.Add('Select * From 点菜临时表');
KRMD_JZ.QUery1.SQL.Add('Where 房间台号=:A and 是否结单=:B');
KRMD_JZ.Query1.Params[0].AsInteger:=TLCYGLXT.FJTHXXB.FieldByName('编号').AsInteger;
KRMD_JZ.Query1.Params[1].AsString:='否';
KRMD_JZ.Query1.Open;
KRMD_JZ.Label29.Caption:=KRMD_JZ.Query1.FieldByName('服务员编号').AsString;
KRMD_JZ.Label30.Caption:=KRMD_JZ.Query1.FieldByName('服务员姓名').AsString;
KRMD_JZ.Label31.Caption:=KRMD_JZ.Query1.FieldByName('点单日期').AsString;
KRMD_JZ.Label32.Caption:=KRMD_JZ.Query1.FieldByName('结帐编号').AsString;
//--------------------------------------------------------------
KRMD_JZ.Query2.Close;
KRMD_JZ.Query2.SQL.Clear;
KRMD_JZ.Query2.SQL.Add('Select Sum(数量),Sum(合计) from 点菜临时表');
KRMD_JZ.Query2.SQL.Add('Where 是否结单=:A and 房间台号=:B and 状态=:C');
KRMD_JZ.Query2.Params[0].AsString:='否';
KRMD_JZ.Query2.params[1].AsInteger:=TLCYGLXT.FJTHXXB.FieldByName('编号').AsInteger;
KRMD_JZ.Query2.Params[2].AsString:='点单';
KRMD_JZ.Query2.Open;
KRMD_JZ.Label5.Caption:=KRMD_JZ.Query2.Fields[0].AsString;
KRMD_JZ.Label6.Caption:=KRMD_JZ.Query2.Fields[1].AsString;
KRMD_JZ.Label14.Caption:=FloatToStr(KRMD_JZ.Query2.Fields[1].AsFloat
+TLCYGLXT.FJTHXXB.FieldByName('服务费').AsFloat)+'元';
KRMD_JZ.Query2.Close;
KRMD_JZ.Query2.SQL.Clear;
KRMD_JZ.Query2.SQL.Add('Select Sum(数量),Sum(合计) from 点菜临时表');
KRMD_JZ.Query2.SQL.Add('Where 是否结单=:A and 房间台号=:B and 状态=:C');
KRMD_JZ.Query2.Params[0].AsString:='否';
KRMD_JZ.Query2.params[1].AsInteger:=TLCYGLXT.FJTHXXB.FieldByName('编号').AsInteger;
KRMD_JZ.Query2.Params[2].AsString:='赠单';
KRMD_JZ.Query2.Open;
KRMD_JZ.Label7.Caption:=KRMD_JZ.Query2.Fields[0].AsString;
KRMD_JZ.Label8.Caption:=KRMD_JZ.Query2.Fields[1].AsString;
KRMD_JZ.Query2.Close;
KRMD_JZ.Query2.SQL.Clear;
KRMD_JZ.Query2.SQL.Add('Select Sum(数量),Sum(合计) from 点菜临时表');
KRMD_JZ.Query2.SQL.Add('Where 是否结单=:A and 房间台号=:B');
KRMD_JZ.Query2.Params[0].AsString:='否';
KRMD_JZ.Query2.params[1].AsInteger:=TLCYGLXT.FJTHXXB.FieldByName('编号').AsInteger;
KRMD_JZ.Query2.Open;
KRMD_JZ.Label11.Caption:=KRMD_JZ.Query2.Fields[0].AsString;
KRMD_JZ.Label12.Caption:=KRMD_JZ.Query2.Fields[1].AsString;
KRMD_JZ.Query2.Close;
KRMD_JZ.ShowModal;
ADDListView;
End
Else
begin
ShowMessage('没有发现编号为['+Edit1.Text+']的房台编号.');
Edit1.Setfocus;
end;
end;
//在表格显示模式下选择房台
procedure TKRMD.DBGrid1CellClick(Column: TColumn);
begin
If TLCYGLXT.FJTHXXB.RecordCount <> 0 Then
Edit1.Text:=TLCYGLXT.FJTHXXB.FieldByName('编号').AsString;
end;
//特权结账
procedure TKRMD.BitBtn4Click(Sender: TObject);
begin
If Length(Edit1.Text) = 0 Then
begin
ShowMessage('请输入房台编号.');
Edit1.SetFocus;
End
Else
if TLCYGLXT.FJTHXXB.Locate('编号',StrToInt(Edit1.Text),[loCaseInsensitive]) then
begin
KRMD_TQJZ:=TKRMD_TQJZ.Create(Self);
KRMD_TQJZ.QUery1.Close;
KRMD_TQJZ.QUery1.SQL.Clear;
KRMD_TQJZ.QUery1.SQL.Add('Select * From 点菜临时表');
KRMD_TQJZ.QUery1.SQL.Add('Where 房间台号=:A and 是否结单=:B');
KRMD_TQJZ.Query1.Params[0].AsInteger:=TLCYGLXT.FJTHXXB.FieldByName('编号').AsInteger;
KRMD_TQJZ.Query1.Params[1].AsString:='否';
KRMD_TQJZ.Query1.Open;
KRMD_TQJZ.Label29.Caption:=KRMD_TQJZ.Query1.FieldByName('服务员编号').AsString;
KRMD_TQJZ.Label30.Caption:=KRMD_TQJZ.Query1.FieldByName('服务员姓名').AsString;
KRMD_TQJZ.Label31.Caption:=KRMD_TQJZ.Query1.FieldByName('点单日期').AsString;
KRMD_TQJZ.Label32.Caption:=KRMD_TQJZ.Query1.FieldByName('结帐编号').AsString;
KRMD_TQJZ.Query2.Close;
KRMD_TQJZ.Query2.SQL.Clear;
KRMD_TQJZ.Query2.SQL.Add('Select Sum(数量),Sum(合计) from 点菜临时表');
KRMD_TQJZ.Query2.SQL.Add('Where 是否结单=:A and 房间台号=:B and 状态=:C');
KRMD_TQJZ.Query2.Params[0].AsString:='否';
KRMD_TQJZ.Query2.params[1].AsInteger:=TLCYGLXT.FJTHXXB.FieldByName('编号').AsInteger;
KRMD_TQJZ.Query2.Params[2].AsString:='点单';
KRMD_TQJZ.Query2.Open;
KRMD_TQJZ.Label5.Caption:=KRMD_TQJZ.Query2.Fields[0].AsString;
KRMD_TQJZ.Label6.Caption:=KRMD_TQJZ.Query2.Fields[1].AsString;
KRMD_TQJZ.Label14.Caption:=FloatToStr(KRMD_TQJZ.Query2.Fields[1].AsFloat
+TLCYGLXT.FJTHXXB.FieldByName('服务费').AsFloat)+'元';
KRMD_TQJZ.label28.Caption:=FloatToStr(KRMD_TQJZ.Query2.Fields[1].AsFloat
+TLCYGLXT.FJTHXXB.FieldByName('服务费').AsFloat);
KRMD_TQJZ.Query2.Close;
KRMD_TQJZ.Query2.SQL.Clear;
KRMD_TQJZ.Query2.SQL.Add('Select Sum(数量),Sum(合计) from 点菜临时表');
KRMD_TQJZ.Query2.SQL.Add('Where 是否结单=:A and 房间台号=:B and 状态=:C');
KRMD_TQJZ.Query2.Params[0].AsString:='否';
KRMD_TQJZ.Query2.params[1].AsInteger:=TLCYGLXT.FJTHXXB.FieldByName('编号').AsInteger;
KRMD_TQJZ.Query2.Params[2].AsString:='赠单';
KRMD_TQJZ.Query2.Open;
KRMD_TQJZ.Label7.Caption:=KRMD_TQJZ.Query2.Fields[0].AsString;
KRMD_TQJZ.Label8.Caption:=KRMD_TQJZ.Query2.Fields[1].AsString;
KRMD_TQJZ.Query2.Close;
KRMD_TQJZ.Query2.SQL.Clear;
KRMD_TQJZ.Query2.SQL.Add('Select Sum(数量),Sum(合计) from 点菜临时表');
KRMD_TQJZ.Query2.SQL.Add('Where 是否结单=:A and 房间台号=:B');
KRMD_TQJZ.Query2.Params[0].AsString:='否';
KRMD_TQJZ.Query2.params[1].AsInteger:=TLCYGLXT.FJTHXXB.FieldByName('编号').AsInteger;
KRMD_TQJZ.Query2.Open;
KRMD_TQJZ.Label11.Caption:=KRMD_TQJZ.Query2.Fields[0].AsString;
KRMD_TQJZ.Label12.Caption:=KRMD_TQJZ.Query2.Fields[1].AsString;
KRMD_TQJZ.Query2.Close;
KRMD_TQJZ.ShowModal;
ADDListView;
End
Else
begin
ShowMessage('没有发现编号为['+Edit1.Text+']的房台编号.');
Edit1.Setfocus;
end;
end;
//挂账归还
procedure TKRMD.BitBtn6Click(Sender: TObject);
begin
If Not Assigned(GZFrom) Then
begin
GZFrom:=TGZFrom.Create(Self);
GZFrom.ShowModal;
end;
end;
//挂账
procedure TKRMD.BitBtn5Click(Sender: TObject);
begin
If Length(Edit1.Text) = 0 Then
begin
ShowMessage('请输入房台编号.');
Edit1.SetFocus;
End
Else
if TLCYGLXT.FJTHXXB.Locate('编号',StrToInt(Edit1.Text),[loCaseInsensitive]) then
begin
GZFYFrom:=TGZFYFrom.Create(Self);
GZFYFrom.QUery1.Close;
GZFYFrom.QUery1.SQL.Clear;
GZFYFrom.QUery1.SQL.Add('Select * From 点菜临时表');
GZFYFrom.QUery1.SQL.Add('Where 房间台号=:A and 是否结单=:B');
GZFYFrom.Query1.Params[0].AsInteger:=TLCYGLXT.FJTHXXB.FieldByName('编号').AsInteger;
GZFYFrom.Query1.Params[1].AsString:='否';
GZFYFrom.Query1.Open;
GZFYFrom.Label29.Caption:=GZFYFrom.Query1.FieldByName('服务员编号').AsString;
GZFYFrom.Label30.Caption:=GZFYFrom.Query1.FieldByName('服务员姓名').AsString;
GZFYFrom.Label31.Caption:=GZFYFrom.Query1.FieldByName('点单日期').AsString;
GZFYFrom.Label32.Caption:=GZFYFrom.Query1.FieldByName('结帐编号').AsString;
GZFYFrom.Query2.Close;
GZFYFrom.Query2.SQL.Clear;
GZFYFrom.Query2.SQL.Add('Select Sum(数量),Sum(合计) from 点菜临时表');
GZFYFrom.Query2.SQL.Add('Where 是否结单=:A and 房间台号=:B and 状态=:C');
GZFYFrom.Query2.Params[0].AsString:='否';
GZFYFrom.Query2.params[1].AsInteger:=TLCYGLXT.FJTHXXB.FieldByName('编号').AsInteger;
GZFYFrom.Query2.Params[2].AsString:='点单';
GZFYFrom.Query2.Open;
GZFYFrom.Label5.Caption:=GZFYFrom.Query2.Fields[0].AsString;
GZFYFrom.Label6.Caption:=GZFYFrom.Query2.Fields[1].AsString;
GZFYFrom.Label14.Caption:=FloatToStr(GZFYFrom.Query2.Fields[1].AsFloat
+TLCYGLXT.FJTHXXB.FieldByName('服务费').AsFloat)+'元';
GZFYFrom.label38.Caption:=FloatToStr(GZFYFrom.Query2.Fields[1].AsFloat
+TLCYGLXT.FJTHXXB.FieldByName('服务费').AsFloat);
GZFYFrom.Query2.Close;
GZFYFrom.Query2.SQL.Clear;
GZFYFrom.Query2.SQL.Add('Select Sum(数量),Sum(合计) from 点菜临时表');
GZFYFrom.Query2.SQL.Add('Where 是否结单=:A and 房间台号=:B and 状态=:C');
GZFYFrom.Query2.Params[0].AsString:='否';
GZFYFrom.Query2.params[1].AsInteger:=TLCYGLXT.FJTHXXB.FieldByName('编号').AsInteger;
GZFYFrom.Query2.Params[2].AsString:='赠单';
GZFYFrom.Query2.Open;
GZFYFrom.Label7.Caption:=GZFYFrom.Query2.Fields[0].AsString;
GZFYFrom.Label8.Caption:=GZFYFrom.Query2.Fields[1].AsString;
GZFYFrom.Query2.Close;
GZFYFrom.Query2.SQL.Clear;
GZFYFrom.Query2.SQL.Add('Select Sum(数量),Sum(合计) from 点菜临时表');
GZFYFrom.Query2.SQL.Add('Where 是否结单=:A and 房间台号=:B');
GZFYFrom.Query2.Params[0].AsString:='否';
GZFYFrom.Query2.params[1].AsInteger:=TLCYGLXT.FJTHXXB.FieldByName('编号').AsInteger;
GZFYFrom.Query2.Open;
GZFYFrom.Label11.Caption:=GZFYFrom.Query2.Fields[0].AsString;
GZFYFrom.Label12.Caption:=GZFYFrom.Query2.Fields[1].AsString;
GZFYFrom.Query2.Close;
GZFYFrom.ShowModal;
ADDListView;
End
Else
begin
ShowMessage('没有发现编号为['+Edit1.Text+']的房台编号.');
Edit1.Setfocus;
end;
end;
//关闭窗体
procedure TKRMD.FormClose(Sender: TObject; var Action: TCloseAction);
begin
TLCYGLXT.FJTHXXB.Filter:='';
TLCYGLXT.FJTHXXB.Filtered:=False;
TLCYGLXT.KT_FJTHXXB.Close;//关闭房间台号信息表
KRMD.Release;
KRMD:=Nil;
end;
//关闭系统
procedure TKRMD.BitBtn1Click(Sender: TObject);
begin
Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -