⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mc_krmd.pas

📁 异洲酒店管理系统
💻 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 + -