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

📄 mc_btsz_kt.pas

📁 异洲酒店管理系统
💻 PAS
字号:
unit MC_BTSZ_KT;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, Buttons, Db, DBTables, Grids, DBGrids;

type
  TBTSZ_KT = class(TForm)
  panel1: TPanel;
  Label1: TLabel;
  Edit1: TEdit;
  BitBtn1: TBitBtn;
  Bevel1: TBevel;
  DBGrid1: TDBGrid;
  Table1: TTable;
  DataSource1: TDataSource;
  Query1: TQuery;
  Table1BDEDesigner: TIntegerField;
  Table1BDEDesigner2: TStringField;
  Table1BDEDesigner3: TStringField;
  Table1BDEDesigner4: TStringField;
  Table1BDEDesigner5: TFloatField;
  Table1BDEDesigner6: TStringField;
  Table1BDEDesigner7: TStringField;
  Bevel2: TBevel;
  BitBtn2: TBitBtn;
  Label4: TLabel;
  StoredProc1: TStoredProc;
  Edit2: TEdit;
  Label2: TLabel;
  procedure FormClose(Sender: TObject; var Action: TCloseAction);
  procedure BitBtn2Click(Sender: TObject);
  procedure FormShow(Sender: TObject);
  procedure Edit1KeyPress(Sender: TObject; var Key: Char);
  procedure BitBtn1Click(Sender: TObject);
  procedure Edit2KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  BTSZ_KT: TBTSZ_KT;

implementation

uses MC_TLCYGLXT, MC_KTGL, Unit1;

{$R *.DFM}
procedure TBTSZ_KT.FormShow(Sender: TObject);
begin
 Edit1.Setfocus;
end;

procedure TBTSZ_KT.Edit1KeyPress(Sender: TObject; var Key: Char);  //判断输入编号
begin
 if key=#13 then      //回车
   begin
    if Edit1.Text='' then
    begin
     ShowMessage('请输入目标编号.');
     Edit1.Setfocus;
     end
     else
     begin
     if table1.Locate('编号',StrToInt(Edit1.Text),[loCaseInsensitive]) then
     begin
      Bitbtn1.Click;     //如果房台号存在,开始并台
     end
     else
     begin
      ShowMessage('请输入目标编号.');
       Edit1.setfocus;
     end;
     end;
  end
  else
   if key=#8 then key:=#8 else
   if (key<'0') or (key>'9') then key:=#0;    //屏蔽非数字
end;
procedure TBTSZ_KT.BitBtn1Click(Sender: TObject);   //开始并台
var DJBH: String;
    YMC,MMC:String;
    s:String;
    YDJH,MDJH: Integer;
begin
 if Length(Edit2.Text)=0 then
   begin
    ShowMessage('请输入并台原因');
    Edit2.SetFocus;
    Exit;
   end;
 if MessageDlg('确认将['+TLCYGLXT.KT_FJTHXXB
        .FieldByName('房台名称').AsString+']上的菜合并到['
        +Table1.FieldByName('房台名称').AsString+']上?'
        ,mtCustom,[mbYes,mbNo],0)=mrYes then
   begin
     YMC:=TLCYGLXT.KT_FJTHXXB.FieldByName('房台名称').AsString;
     MMC:=Table1.FieldByName('房台名称').AsString;
     TLCYGLXT.KT_FJTHXXB.Edit;
     TLCYGLXT.KT_FJTHXXB.FieldByName('状态').AsString:='空闲';  //将原房台转为空闲
     TLCYGLXT.KT_FJTHXXB.Post;
     Query1.Close;
     Query1.SQL.Clear;
     Query1.SQL.Add('Select Distinct 结帐编号 From 点菜临时表');
     Query1.SQL.Add('Where 房间台号=:B');
     Query1.Params[0].AsInteger:=Table1.FieldByName('编号').AsInteger;
     Query1.Open;
     DJBH:=Query1.Fields[0].AsString;
     MDJH:=Query1.Fields[0].AsInteger;
     Query1.Close;
     Query1.SQL.Clear;
     Query1.SQL.Add('Select Distinct 结帐编号 From 点菜临时表');
     Query1.SQL.Add('Where 房间台号=:B');
     Query1.Params[0].AsInteger:=TLCYGLXT.KT_FJTHXXB.FieldByName('编号').AsInteger;
     Query1.Open;
     YDJH:=Query1.Fields[0].AsInteger;
     Query1.Close;
     Query1.SQL.Clear;
     Query1.SQL.Add('update 点菜临时表');
     Query1.SQl.Add('set 房间台号=:A,结帐编号=:C Where 房间台号=:B');   //更新点菜临时表
     Query1.Params[0].AsInteger:=Table1.FieldByName('编号').AsInteger;
     Query1.Params[2].AsInteger:=TLCYGLXT.KT_FJTHXXB.FieldByName('编号').AsInteger;
     Query1.Params[1].AsString:=DJBH;
     Query1.ExecSQL;
     Query1.Close;
     Query1.SQL.Clear;
     Query1.SQL.Add('update 房间台号信息表');
     Query1.SQL.Add('set 状态=:A Where 编号=:B');   //更新房台信息
     Query1.Params[0].AsString:='营业';
     Query1.Params[1].AsInteger:=Table1.FieldByName('编号').AsInteger;
     Query1.ExecSQL;
     With Query1 do
      begin
       Close;
       SQL.Clear;
       GetDir(0,S);
       SQL.LoadFromFile(s+'\JG.INI');
      end;
      Query1.ExecSQL;//并台记录表
      Query1.Close;
      Query1.SQL.Clear;
      Query1.SQL.Add('Insert Into 并台记录表(原单据编号,目的单据号,操作员,描述)');
      Query1.SQL.Add('Values(:A,:B,:C,:D)');
      Query1.ParamByName('A').AsInteger:=YDJH;
      Query1.ParamByName('B').AsInteger:=MDJH;
      Query1.ParamByName('C').AsString:=MainForm.User1;
      Query1.ParamByName('D').AsString:=Edit2.Text;
      Query1.ExecSQL;
      ShowMessage('合并成功');
      KTGL.Button1.Click;
      Close;
      end
    else
      Table1.Refresh;
end;
procedure TBTSZ_KT.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then perForm(WM_NEXTDLGCTL,0,0);
end;

procedure TBTSZ_KT.FormClose(Sender: TObject; var Action: TCloseAction); //关闭窗体
begin
 ANiMateWindow(Handle,300,AW_SLIDE+AW_Center+Aw_Hide);
 Table1.Close;
 BTSZ_KT.Release;
 BTSZ_KT:=nil;
end;
procedure TBTSZ_KT.BitBtn2Click(Sender: TObject);  //退出并台
begin
 Close;
end;
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -