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

📄 uy_yyt_jz.pas

📁 恒邦餐饮管理源码。将源码放到C:hbjdcyzy 登陆:1001/1001
💻 PAS
字号:
unit uy_yyt_jz;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Mask, StdCtrls, DBCtrls, ExtCtrls, Buttons,u_main, Grids, DBGrids, Db,
  DBTables, ImgList, Menus, ComCtrls, ToolWin;

type
  Ty_yyt_jz = class(TForm)
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    ckxx: TCheckBox;
    c_jzfs: TRadioGroup;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    xj: TDBEdit;
    Label10: TLabel;
    Label6: TLabel;
    DBEdit1: TDBEdit;
    Label17: TLabel;
    Label14: TLabel;
    fwfl: TEdit;
    dzl: TEdit;
    Label11: TLabel;
    Label13: TLabel;
    fwf: TDBEdit;
    zkf: TDBEdit;
    Label1: TLabel;
    Label2: TLabel;
    zj: TDBEdit;
    Label12: TLabel;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    Bevel1: TBevel;
    Bevel2: TBevel;
    Label3: TLabel;
    sr: TEdit;
    Label4: TLabel;
    zh: TEdit;
    p2: TPanel;
    ckbh1: TLabel;
    Label7: TLabel;
    dwmc: TEdit;
    SpeedButton1: TSpeedButton;
    ckbh: TEdit;
    Label5: TLabel;
    DBEdit4: TDBEdit;
    c_dy: TCheckBox;
    BitBtn5: TBitBtn;
    dz: TBitBtn;
    ckzl: TTable;
    ckzlCkbh: TStringField;
    ckzlDwmc: TStringField;
    ckzlZjm: TStringField;
    ckzlXfcs: TIntegerField;
    ckzlXfze: TFloatField;
    ckzlXydj: TStringField;
    ckzlDwxz: TStringField;
    ckzlDwdz: TStringField;
    ckzlYzbm: TStringField;
    ckzlKhyh: TStringField;
    ckzlZh: TStringField;
    ckzlDbxm: TStringField;
    ckzlXb: TStringField;
    ckzlDh: TStringField;
    ckzlChh: TStringField;
    ckzlSj: TStringField;
    ckzlEmail: TStringField;
    ckzlCsrq: TDateTimeField;
    ckzlQldj: TStringField;
    ckzlZw: TStringField;
    d_ckzl: TDataSource;
    q_ck: TQuery;
    StringField22: TStringField;
    q_ckdwmc: TStringField;
    q_ckzjm: TStringField;
    q_ckxfcs: TIntegerField;
    q_ckxfze: TFloatField;
    q_ckxydj: TStringField;
    q_ckdbxm: TStringField;
    q_ckzw: TStringField;
    q_ckqldj: TStringField;
    q_ckxb: TStringField;
    q_ckdwxz: TStringField;
    q_ckdwdz: TStringField;
    q_ckdh: TStringField;
    dq_ck: TDataSource;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure srChange(Sender: TObject);
    procedure fwflChange(Sender: TObject);
    procedure dzlChange(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure zkfChange(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure ckxxClick(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure ckbhKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure BitBtn5Click(Sender: TObject);
    procedure fwfChange(Sender: TObject);
    procedure dzClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    function h_zsje(s_cdbh:string):currency;
  end;

var
  y_yyt_jz: Ty_yyt_jz;
  c_zh:currency;
  s_fwfl,s_dzl,s_xj,ys_sr:string;
implementation

uses uy_yyt, uy_yyt_qd, uyp_yyt1, uy_yyt_md,
  uy_yyt_jz_dz, ug_ckcx;

{$R *.DFM}
function Ty_yyt_jz.h_zsje(s_cdbh:string):currency;
begin
 with main.Query1  do
  begin
   active:=false;
   sql.Clear;
   sql.add('select sum(hj) as hj from cdmx where cdbh=:s_cdbh and cz="2"');
   ParamByName('s_cdbh').asstring:=s_cdbh;
   active:=true;
   h_zsje:=fieldbyname('hj').ascurrency;
  end;
end;
procedure Ty_yyt_jz.BitBtn1Click(Sender: TObject);
var
 i_xfcs:integer;
 c_xfze:currency;
begin
 if (y_yyt.y_yyt_zdxf.Checked) and (y_yyt.q_cdje.fieldbyname('hj').ascurrency<y_yyt.t_tai.fieldbyname('zdxf').ascurrency) then
   if messagebox(handle,'此单总计金额小于台的最低消费!  继续吗?','系统提示信息',MB_OKCANCEL+MB_ICONQUESTION)=IDCANCEL then  exit;
 if ((c_jzfs.itemindex=0) and (length(sr.text)=0)) or ((c_jzfs.itemindex=0) and (strtocurr(zh.text)<0)) then
  begin
    messagebox(handle,'收入金额为空,或收入金额小于总计金额','系统提示信息',MB_OK+MB_ICONWARNING);
    sr.setfocus;
    exit;
  end;
 if (c_jzfs.itemindex=3) and (length(ckbh.text)=0) then
  begin
    messagebox(handle,'请先确定签单常客!','系统提示信息',MB_OK+MB_ICONWARNING);
    ckxx.Checked:=true;
    p2.Visible:=true;
    ckbh.setfocus;
    exit;
  end;
 y_yyt.cd.edit;
 y_yyt.cd.fieldbyname('ssje').value:=y_yyt.cd.fieldbyname('zj1').ascurrency;
 y_yyt.cd.fieldbyname('zj').value:=y_yyt.cd.fieldbyname('zj1').ascurrency;
 if c_jzfs.itemindex=0 then
   begin
     if strtocurr(sr.text)>y_yyt.cd.fieldbyname('zj1').ascurrency then
      y_yyt.cd.fieldbyname('ssje').value:=y_yyt.cd.fieldbyname('zj1').ascurrency
     else
      begin
       y_yyt.cd.fieldbyname('ssje').value:=strtocurr(sr.text);
       y_yyt.cd.fieldbyname('skje').value:=strtocurr(sr.text);
      end;
   end;
 if c_jzfs.itemindex=3 then
   begin
     esc_enter:=0;
     y_yyt_qd.showmodal;
     if esc_enter=0 then exit;
   end;
 if c_jzfs.itemindex=4 then
   begin
     esc_enter:=0;
     y_yyt_md.showmodal;
     if esc_enter=0 then exit;
   end;
 y_yyt.cd.fieldbyname('jzfs').value:=inttostr(c_jzfs.itemindex+1);
 y_yyt.cd.post;
//更新常客消费次数和消费总额
 if (p2.Visible) and (ckzl.FindKey([trim(ckbh.text)])) then
   begin
    i_xfcs:=ckzl.fieldbyname('xfcs').asinteger;
    c_xfze:=ckzl.fieldbyname('xfze').ascurrency;
    ckzl.edit;
    ckzl.fieldbyname('xfcs').value:=i_xfcs+1;
    ckzl.fieldbyname('xfze').value:=c_xfze+y_yyt.cd.fieldbyname('zj').ascurrency;
  end;
 esc_enter:=1;
 if c_dy.Checked then
  yp_yyt1.QuickRep1.Print;
 close;
end;

procedure Ty_yyt_jz.BitBtn2Click(Sender: TObject);
begin
  close;
end;
procedure Ty_yyt_jz.FormShow(Sender: TObject);
var
  f_fwfl,f_zkfl:currency;
begin
 if not ckzl.Active then ckzl.Active:=true;
 activeControl:=sr;
 sr.text:='';
 zh.text:='0.00';
 c_jzfs.itemindex:=0;
 ckxx.Checked:=false;
 p2.Visible:=false;
 ckbh.text:='';
 dwmc.text:='';
 dz.Enabled:=y_yyt.y_yyt_jzdz.Checked;  //结帐打折权限 与‘是否使用折扣费’不一样
 fwfl.Enabled:=y_yyt.y_yyt_fwfl.Checked;
 f_fwfl:=y_yyt.t_tai.fieldbyname('fwfl').ascurrency;
 f_zkfl:=y_yyt.t_tai.fieldbyname('dzl').ascurrency;
 fwfl.text:=Format('%*.*f', [8, 2,f_fwfl]);
 dzl.text:=Format('%*.*f', [8, 2,f_zkfl]);
 if ckzl.FindKey([y_yyt.cd.fieldbyname('ckbh').asstring]) then
   begin
    ckxx.Checked:=true;
    p2.Visible:=true;
    ckbh.text:=ckzl.fieldbyname('ckbh').asstring;
    dwmc.text:=ckzl.fieldbyname('dwmc').asstring;
   end
  else
   begin
    ckxx.Checked:=false;
    p2.Visible:=false;
   end;
 if y_yyt.y_yyt_sfbz.Checked then  //是否加上台的收费标准
   begin
    y_yyt.cd.edit;
    y_yyt.cd.fieldbyname('sfbz').value:=y_yyt.t_tai.fieldbyname('sfbz').ascurrency;
   end
  else
    begin
     y_yyt.cd.edit;
     y_yyt.cd.fieldbyname('sfbz').value:=0.00;  //此句不可去掉,已防在结帐时改变 收费标准设置
    end;
 with y_yyt.cd do
  begin
   edit;
   fieldbyname('xj').ascurrency:=y_yyt.q_cdje.fieldbyname('hj').ascurrency;
   fieldbyname('zsje').ascurrency:=h_zsje(s_cdbh);
   if y_yyt.y_yyt_fwfl.Checked then
     fieldbyname('fwf').ascurrency:=fieldbyname('xj').asfloat*f_fwfl
   else
    fieldbyname('fwf').ascurrency:=0;
   if y_yyt.y_yyt_zkfl.Checked then      //是否使用折扣费率 与结帐打折不一回事
    fieldbyname('zkf').ascurrency:=fieldbyname('xj').asfloat*f_zkfl
    else
     fieldbyname('zkf').ascurrency:=0;
   post;
 end;
 s_fwfl:=fwfl.text;
 s_dzl:=dzl.text;
end;
procedure Ty_yyt_jz.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if (key=#13) then selectnext(activecontrol,true,true);
  if key=#27 then  close;
end;

procedure Ty_yyt_jz.srChange(Sender: TObject);
begin
 if (trim(sr.text)='') or (trim(sr.text)='-') then
  begin
   zh.text:='0.00';
   exit;
  end;
 try
  strtocurr(sr.text);
 except
  sr.text:=ys_sr;
  exit;
 end;
 ys_sr:=sr.text;
 c_zh:=strtocurr(sr.text)-y_yyt.cd.fieldbyname('zj1').value;
 zh.text:=Format('%*.*f', [8, 2,c_zh]);
end;
procedure Ty_yyt_jz.fwflChange(Sender: TObject);
begin
 if (trim(fwfl.text)='') or (trim(fwfl.text)='-') then  fwfl.text:=s_fwfl;
 try
  strtocurr(fwfl.text);
 except
  fwfl.text:=s_fwfl;
  exit;
 end;
 s_fwfl:=fwfl.text;
 y_yyt.cd.edit;
 if fwfl.Focused then
   y_yyt.cd.fieldbyname('fwf').value:=y_yyt.cd.fieldbyname('xj').value*strtocurr(fwfl.Text);
 y_yyt.cd.post;
end;

procedure Ty_yyt_jz.dzlChange(Sender: TObject);
begin
 y_yyt.cd.edit;
 y_yyt.cd.fieldbyname('zkf').value:=y_yyt.cd.fieldbyname('xj').value*strtocurr(dzl.Text);
end;

procedure Ty_yyt_jz.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  case key of
    68:dzl.setfocus;
    70:fwfl.setfocus;
    83:sr.setfocus;
    112:c_jzfs.ItemIndex:=0;
    113:c_jzfs.ItemIndex:=1;
    114:c_jzfs.ItemIndex:=2;
    115:c_jzfs.ItemIndex:=3;
    116:c_jzfs.ItemIndex:=4;
    117:c_jzfs.ItemIndex:=5;
    end;
end;

procedure Ty_yyt_jz.zkfChange(Sender: TObject);
begin
 zh.text:='0.00';
 sr.text:='';
end;

procedure Ty_yyt_jz.BitBtn3Click(Sender: TObject);
begin
//置当前台状态为'未满'
 y_yyt.t_tai.edit;
 y_yyt.t_tai.fieldbyname('zt').value:='4';
 y_yyt.t_tai.post;
//置当前菜单状态为'预结'
 y_yyt.cd.edit;
 y_yyt.cd.fieldbyname('zt').value:='2';
 y_yyt.cd.post;
 y_yyt.zt.caption:='2';
 y_yyt.ztc.caption:='预结';
 close;
end;

procedure Ty_yyt_jz.BitBtn4Click(Sender: TObject);
begin
 yp_yyt1.QuickRep1.preview;
end;

procedure Ty_yyt_jz.ckxxClick(Sender: TObject);
begin
 if ckxx.Checked then
    p2.Visible:=true
  else
   begin
    p2.Visible:=false;
    y_yyt.cd.edit;
    y_yyt.cd.fieldbyname('ckbh').value:='';
   end;
end;

procedure Ty_yyt_jz.SpeedButton1Click(Sender: TObject);
begin
 esc_enter:=0;
 g_ckcx.showmodal;
 if esc_enter=1 then
  begin
   dwmc.text:=q_ck.fieldbyname('dwmc').asstring;
   ckbh.text:=q_ck.fieldbyname('ckbh').asstring;
   y_yyt.cd.edit;
   y_yyt.cd.fieldbyname('ckbh').value:=q_ck.fieldbyname('ckbh').asstring;
  end;
 esc_enter:=0;
end;

procedure Ty_yyt_jz.ckbhKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if ((key>=65) and (key<=90))  or ((key<=57) and (key>=48)) or ((key<=105) and (key>=96)) then
  begin
   c_key:=chr(key);
   esc_enter:=0;
   g_ckcx.showmodal;
   if esc_enter=1 then
     begin
      dwmc.text:=q_ck.fieldbyname('dwmc').asstring;
      ckbh.text:=q_ck.fieldbyname('ckbh').asstring;
      y_yyt.cd.edit;
      y_yyt.cd.fieldbyname('ckbh').value:=q_ck.fieldbyname('ckbh').asstring;
     end;
   esc_enter:=0;
  end;
end;

procedure Ty_yyt_jz.BitBtn5Click(Sender: TObject);
begin
  yp_yyt1.QuickRep1.Print;
end;

procedure Ty_yyt_jz.fwfChange(Sender: TObject);
begin
 zh.text:='0.00';
 sr.text:='';
end;

procedure Ty_yyt_jz.dzClick(Sender: TObject);
begin
 s_xj:=xj.text;
 y_yyt_jz_dz.showmodal;
end;

end.

⌨️ 快捷键说明

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