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

📄 mc_krmd_tqjz.pas

📁 异洲酒店管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
             begin
                  ShowMessage('['+Query3.FieldByName('商品名称').AsString+']库存不足');
             end;
          Query2.Next;
     end;
     //--------------------------------------
     Query2.Close;
     Query2.SQL.Clear;
     Query2.SQL.Add('Delete 点菜临时表 Where 房间台号=:A and 是否结单=:B');
     Query2.ParamByName('A').AsInteger:=TLCYGLXT.FJTHXXB.FieldByName('编号').AsInteger;
     Query2.ParamByName('B').AsString:='是';
     Query2.ExecSQL;
     //--------------------------------------
     Query2.Close;
     Query2.SQL.Clear;
     Query2.SQL.Add('insert 日结帐费用表(结帐编号,房间台号,日期,费用,结款人,结款方式,结款说明)');
     Query2.SQL.Add('Values(:A,:B,:C,:D,:E,:F,:G)');
     Query2.Params[0].AsInteger:=Query1.FieldByName('结帐编号').AsInteger;
     Query2.params[1].AsInteger:=Query1.FieldByName('房间台号').AsInteger;
     Query2.Params[2].AsDateTime:=StrToDateTime(DateTimeToStr(now));
     Query2.Params[3].AsFloat:=ZJJE;
     Query2.Params[4].AsString:=Query1.FieldByName('服务员姓名').AsString;
     Query2.Params[5].AsString:='免单';
     Query2.Params[6].AsString:=Edit1.Text;
     Query2.ExecSQL;
     //--------------------------------------
     TLCYGLXT.FJTHXXB.Edit;
     TLCYGLXT.FJTHXXB.FieldByName('状态').AsSTring:='空闲';
     TLCYGLXT.FJTHXXB.Post;
     ShowMessage('结帐完毕');
     Close;
     //--------------------------------------
     end
     else
         Groupbox6.Visible:=False
end;

procedure TKRMD_TQJZ.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
     if key=#13 then BitBtn5.Click;
end;

procedure TKRMD_TQJZ.BitBtn3Click(Sender: TObject);
begin
     GroupBox5.Visible:=True;
     Edit2.SetFocus;
end;

procedure TKRMD_TQJZ.Edit2KeyPress(Sender: TObject; var Key: Char);
var a,c:integer;
    b:String;
begin
     if key=#13 then Edit3.SetFocus
     else
     if key=#8 then key:=#8
     else
     if key<>'.' then
        begin
             if (key<'0') or (key>'9') then key:=#0;
        end
     else
       begin
            {if Pos(Edit2.Text,'.')=0 then
               begin
                    key:=#0;
               end
            else
               begin}
                    key:='.';
               //end;
       end;
end;

procedure TKRMD_TQJZ.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
     if key=#13 then Bitbtn6.Click;
end;

procedure TKRMD_TQJZ.BitBtn6Click(Sender: TObject);
var zJJE:Real;
begin
     if (Length(Edit2.Text)=0) or (Length(Edit3.Text)=0) then
        begin
             ShowMessage('请输入减免单原因');
             Edit2.SetFocus;
        end
     else
     if StrToFloat(Edit2.Text)>=(StrToFloat(Label6.Caption)
        +TLCYGLXT.FJTHXXB.FieldByName('服务费').AsFloat) then
        begin
             ShowMessage('对不起,减免金额大于或等于应收金额.');
             Edit2.SetFocus;
        end
     else
     if MessageDlg('确认结帐吗?',mtCustom,[mbYes,mbNo],0)=mrYes then
     begin
     //--------------------------------------------------------------
 ///    QRLabel9.Caption:=Label12.Caption;
////    QRLabel18.Caption:=FloatToStr(StrToFloat(Label28.Caption)-StrToFloat(Edit2.Text));
 ///    DYYLBrose.Show;
 ///    QuickRep1.Preview;
     //--------------------------------------------------------------
     Query2.Close;
     Query2.SQL.Clear;
     Query2.SQL.Add('update 点菜临时表 Set 是否结单=:A,结单日期=:B Where 房间台号=:C');
     Query2.Params[0].AsString:='是';
     Query2.Params[1].AsDateTime:=StrToDateTime(DateTimeToStr(now));
     Query2.Params[2].AsInteger:=TLCYGLXT.FJTHXXB.FieldByName('编号').AsInteger;
     Query2.ExecSQL;
     //--------------------------------------
     {Query2.Close;
     Query2.SQL.Clear;
     Query2.SQL.Add('Select Sum(合计) From 点菜临时表 where 状态=:A');
     Query2.Params[0].AsString:='点单';
     Query2.Open;
     ZJJE:=Query2.Fields[0].AsFloat+TLCYGLXT.FJTHXXB.FieldByName('服务费').AsFloat;}
     ZJJE:=StrToFloat(Label6.Caption)+TLCYGLXT.FJTHXXB.FieldByName('服务费').AsFloat;
     //--------------------------------------
     Query2.Close;
     Query2.SQL.Clear;
     Query2.SQL.Add('insert 日点菜信息表(房间台号,类别,编号,名称,类型,单位,数量,价格,合计,服务员编号,服务员姓名,状态,点单日期,结单日期,结帐编号,是否结单)');
     Query2.SQL.Add('Select 房间台号,类别,编号,名称,类型,单位,数量,价格,合计,服务员编号,服务员姓名,状态,点单日期,结单日期,结帐编号,是否结单');
     Query2.SQl.Add('From 点菜临时表');
     Query2.SQL.Add('Where 房间台号=:A');
     Query2.Params[0].AsInteger:=TLCYGLXT.FJTHXXB.FieldByName('编号').AsInteger;
     Query2.ExecSQL;
     //--------------------------------------
     //-----返回库存酒水数量-----------------
     Query2.Close;
     Query2.SQL.Clear;
     Query2.SQL.Add('select 点菜临时表.编号,点菜临时表.名称,点菜临时表.数量,酒水费用信息表.货存编号');
     Query2.SQL.Add('from 点菜临时表,酒水费用信息表');
     Query2.SQL.Add(' where 是否结单=''是'' and 点菜临时表.编号>=10000 and 点菜临时表.编号<=20000 and 点菜临时表.编号=酒水费用信息表.编号 ');
     //------------------------后加的--------------
     Query2.SQL.Add('and 房间台号=:C');
     Query2.ParamByName('C').AsInteger:=TLCYGLXT.FJTHXXB.FieldByName('编号').AsInteger;
     //--------------------------------------------
     Query2.Open;
     While not Query2.Eof do
     begin
          Query3.Close;                                                               
          Query3.SQL.Clear;
          Query3.SQL.Add('update 库存信息表 set 数量=数量-:A');
          Query3.SQL.Add('Where 编号=:B');
          Query3.Params[0].AsInteger:=Query2.FieldByName('数量').AsInteger;
          Query3.Params[1].AsInteger:=Query2.FieldByName('货存编号').AsInteger;
          Query3.ExecSQL;
          Query3.Close;
          Query3.SQL.Clear;
          Query3.SQL.Add('Select * From 库存信息表 where 编号=:A');
          Query3.Params[0].AsInteger:=Query2.FieldByName('货存编号').AsInteger;
          Query3.Open;
          if Query3.FieldByName('数量').AsInteger<=Query3.FieldByName('提醒下限').AsInteger then
             begin
                  ShowMessage('['+Query3.FieldByName('商品名称').AsString+']库存不足');
             end;
          Query2.Next;
     end;
     //--------------------------------------
     Query2.Close;
     Query2.SQL.Clear;
     Query2.SQL.Add('Delete 点菜临时表 Where 房间台号=:A and 是否结单=:B');
     Query2.ParamByName('A').AsInteger:=TLCYGLXT.FJTHXXB.FieldByName('编号').AsInteger;
     Query2.ParamByName('B').AsString:='是';
     Query2.ExecSQL;
     //--------------------------------------
     Query2.Close;
     Query2.SQL.Clear;
     Query2.SQL.Add('insert 日结帐费用表(结帐编号,房间台号,日期,费用,结款人,结款方式,结款说明)');
     Query2.SQL.Add('Values(:A,:B,:C,:D,:E,:F,:G)');
     Query2.Params[0].AsInteger:=Query1.FieldByName('结帐编号').AsInteger;
     Query2.params[1].AsInteger:=Query1.FieldByName('房间台号').AsInteger;
     Query2.Params[2].AsDateTime:=StrToDateTime(DateTimeToStr(now));
     Query2.Params[3].AsFloat:=ZJJE-StrToFloat(Edit2.Text);
     Query2.Params[4].AsString:=Query1.FieldByName('服务员姓名').AsString;
     Query2.Params[5].AsString:='优惠';
     Query2.Params[6].AsString:=Edit3.Text+'['+Edit2.Text+']元';
     Query2.ExecSQL;
     //--------------------------------------
     TLCYGLXT.FJTHXXB.Edit;
     TLCYGLXT.FJTHXXB.FieldByName('状态').AsSTring:='空闲';
     TLCYGLXT.FJTHXXB.Post;
     ShowMessage('结帐完毕');
     Close;
     //--------------------------------------
     end
     else
         Groupbox5.Visible:=False
end;

procedure TKRMD_TQJZ.FormShow(Sender: TObject);
begin
     bitBtn1.SetFocus;
end;

procedure TKRMD_TQJZ.Edit2Exit(Sender: TObject);
var a,b,c:integer;
begin
     TEdit(sender).color:=ClWindow;
     a:=Length(Edit2.Text);
     For b:=0 to a do
     begin
           if Copy(Edit2.Text,b,1)='.' then
              begin
                   C:=C+1;
              end;
     end;
     if C>1 then
        begin
             ShowMessage('对不起,减免金额有误.');
             Edit2.setFocus;        
        end;
end;

end.

⌨️ 快捷键说明

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