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

📄 uy_yyt.pas

📁 一个针对酒店大堂管理的delphi应用管理软件
💻 PAS
📖 第 1 页 / 共 3 页
字号:
  if (key=38) or (key=37) then tai.setfocus;
end;
procedure Ty_yyt.fwyhKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if (key=39) or (key=40) then DBGrid1.setfocus;
end;
procedure Ty_yyt.jcClick(Sender: TObject);
begin
 if trim(tai.text)='' then
  begin
   messagebox(handle,'请先选台!','系统提示信息',MB_OK+MB_ICONWARNING);
   tai.setfocus();
   exit;
  end;
 y_yyt_jc:=ty_yyt_jc.Create(self);
 y_yyt_jc.showmodal;
end;
procedure Ty_yyt.zcClick(Sender: TObject);
begin
 with cdmx do
  begin
   if (trim(fieldbyname('cm').asstring)='') or (trim(fieldbyname('cz').asstring)='1') or (trim(fieldbyname('cz').asstring)='2') then
       exit;        //此菜为退菜、赠菜,返回
   if fieldbyname('sl').value=fieldbyname('tsl').value then
       exit;       //此菜已退完,返回
   esc_enter:=0;
   y_yyt_zc:=ty_yyt_zc.Create(self);
   y_yyt_zc.showmodal;
   if esc_enter=0 then exit;
   edit;
   fieldbyname('cz').value:='2';
   fieldbyname('pzrh').value:=s_pzrh;
  end;
//计算菜单金额
  h_xjje(q_cdje,'s_cdbh',s_cdbh,0);
end;
procedure Ty_yyt.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
 if cdmx.fieldbyname('cz').value='1' then
   begin
    DBGrid1.Canvas.Font.Color:=clteal;
    DBGrid1.DefaultDrawColumnCell(rect,datacol,column,state);
   end;
 if cdmx.fieldbyname('cz').value='2' then
   begin
    DBGrid1.Canvas.Font.Color:=clred;
    DBGrid1.DefaultDrawColumnCell(rect,datacol,column,state);
   end;
 if cdmx.fieldbyname('cz').value='3' then
   begin
    DBGrid1.Canvas.Font.Color:=clblue;
    DBGrid1.DefaultDrawColumnCell(rect,datacol,column,state);
   end;
 if (cdmx.fieldbyname('sl').value=cdmx.fieldbyname('tsl').value) or (cdmx.fieldbyname('cz').asstring='1') or (cdmx.fieldbyname('cz').asstring='2') or (cdmx.fieldbyname('cm').asstring='') or (zt.Caption='3') then
   begin
     zc.Enabled:=false;
     tc.Enabled:=false;
     my_yyt_zc.Enabled:=false;
     my_yyt_tc.Enabled:=false;
     DBGrid1.ReadOnly:=true;
   end
  else
   begin
     zc.Enabled:=true;
     tc.Enabled:=true;
     my_yyt_zc.Enabled:=true;
     my_yyt_tc.Enabled:=true;
     DBGrid1.ReadOnly:=false;
   end;
end;
procedure Ty_yyt.cpClick(Sender: TObject);
begin
 g_wait.show;
 g_wait.Update;
 if z_cpzz=NIL then z_cpzz:=Tz_cpzz.Create(Application);
 z_cpzz.showmodal;
end;
procedure Ty_yyt.yhClick(Sender: TObject);
begin
 if trim(zt.caption)<>'0' then exit; //如不为新单,返回
 y_n:=0;   //判断是否转入预定菜单
 esc_enter:=0;
 y_yyt_yh:=Ty_yyt_yh.Create(self);
 y_yyt_yh.showmodal;
 if esc_enter=0 then exit;
 srlb.Caption:='3';
 s_yd_ths:=trim(yhyd.fieldbyname('tht').asstring);

 if not t_tai.Locate('tht',s_yd_ths,[loCaseInsensitive]) then
  begin
   messagebox(handle,'台查询操作有误,请检查“宴会预定管理”中宴会预定单!','系统提示信息',MB_OK+MB_ICONWARNING);
   exit;
  end;
 with t_tai do
  begin
   th.caption:='['+fieldbyname('th').asstring+']';
   tm.caption:=fieldbyname('tm').asstring;
   tai.text:=fieldbyname('tht').asstring;
   zws.caption:=fieldbyname('zws').asstring;
   fwyh.text:=fieldbyname('fwyh').asstring;
  end;
// krs.text:=yhyd.fieldbyname('krzs').asstring;
 yddh.caption:=yhyd.fieldbyname('yddh').asstring;
 if y_n=0 then exit; //不转入预定菜单
 yhydcd.Filter:='yddh='+yhyd.fieldbyname('yddh').asstring;
 if yhydcd.recordcount=0 then
  begin
    messagebox(handle,'宴会预定单查询操作有误,或没预定任何菜肴!','系统提示信息',MB_OK+MB_ICONWARNING);
    exit;
  end;
 with yhydcd do
  begin
   first;
   while not eof do
    begin
     cdmx.append;
     cdmx.fieldbyname('dzl').value:=fieldbyname('dzl').asfloat;
    // cdmx.fieldbyname('bh').value:=hn_cdmxbh;
     cdmx.fieldbyname('cdbh').value:=s_cdbh;
     cdmx.fieldbyname('clh').value:=fieldbyname('clh').asstring;
     cdmx.fieldbyname('ch').value:=fieldbyname('ch').asstring;
     cdmx.fieldbyname('cm').value:=fieldbyname('cm').asstring;
     cdmx.fieldbyname('dj').value:=fieldbyname('dj').asfloat;
     cdmx.fieldbyname('gg').value:=fieldbyname('gg').asstring;
     cdmx.fieldbyname('lbh').value:=fieldbyname('lbh').asstring;
     cdmx.fieldbyname('sl').value:=fieldbyname('sl').value;     
     cdmx.post;
     next;
    end;
  end;
 yhyd.filter:='';
 yhydcd.Filter:='';
// gd.Enabled:=true;
 jz.Enabled:=true;
 my_yyt_gd.Enabled:=true;
 my_yyt_jz.Enabled:=true;
end;
procedure Ty_yyt.DBGrid1DblClick(Sender: TObject);
begin
 if (cdmx.fieldbyname('cm').isnull) or (length(cdmx.fieldbyname('cm').asstring)=0) then
  begin
  c_key:=chr(96-48);
   dccz;
   end;
end;
procedure Ty_yyt.taiDblClick(Sender: TObject);
begin
 if trim(zt.caption)<>'0' then exit; //如不为新单,返回
 esc_enter:=0;
 y_yyt_rt:=ty_yyt_rt.Create(self); 
 y_yyt_rt.showmodal;
 if esc_enter=0 then  exit;
//krs.setfocus;
 with y_yyt_rt.q_xt do
  begin
   th.caption:='['+fieldbyname('th').asstring+']';
   tm.caption:=fieldbyname('tm').asstring;
   tai.text:=fieldbyname('tht').asstring;
   zws.caption:=fieldbyname('zws').asstring;
   fwyh.text:=fieldbyname('fwyh').asstring;
  end;
 //krs.setfocus;
end;
procedure Ty_yyt.jbClick(Sender: TObject);
begin
//判断当前的菜单是否是新菜单
 if (trim(zt.Caption)='0') and (cdmx.RecordCount<>0) then gdcz;
 dcClick(sender);
  if main.h_count('select count(cdbh) as hj_all from cd where (jzfs is not NULL) and (skth='+quotedstr(s_skth)+')')=0 then
  begin
   messagebox(handle,'没有找到结帐单!','系统提示信息',MB_OK+MB_ICONWARNING);
   exit;
  end;
 esc_enter:=0;
 y_yyt_jb:=Ty_yyt_jb.Create(self);
 y_yyt_jb.showmodal;
 if esc_enter=1 then
  begin
   x_ghczy:=Tx_ghczy.create(self);
   x_ghczy.showmodal;
  end;
 main.h_del('delete from cd where cdbh is NULL');
end;
procedure Ty_yyt.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if key=33 then
  begin
   if (trim(zt.Caption)='0') and (cdmx.RecordCount<>0) then  gdcz;
   if cd.RecordCount=0 then exit;
   if cd.bof then exit;
   cd.prior;
   cdcz;
  end;
 if key=34 then
  begin
   if (trim(zt.Caption)='0') and (cdmx.RecordCount<>0) then gdcz;
   if cd.RecordCount=0 then exit;
   if cd.eof then exit;
   cd.next;
   cdcz;
 end;
end;
procedure Ty_yyt.DBGrid1Enter(Sender: TObject);
begin
 if trim(tai.text)='' then
   begin
     messagebox(handle,'请先选台!','系统提示信息',MB_OK+MB_ICONWARNING);
     tai.setfocus();
     exit;
   end;
 if trim(fwyh.text)='' then
   begin
     messagebox(handle,'请先确定服务员!','系统提示信息',MB_OK+MB_ICONWARNING);
     fwyh.setfocus();
     exit;
   end;
 if zt.caption='0' then
  begin
   jc.Enabled:=true;
   bz.Enabled:=true;
   my_yyt_jc.Enabled:=true;
   my_yyt_bz.Enabled:=true;
  end;
end;

procedure Ty_yyt.gdClick(Sender: TObject);
begin
  //保存编辑
   if (zt.caption='1') and (not (cd.State in [dsinsert])) then
    begin
     cdmx.ApplyUpdates;
     cdmx.CommitUpdates;
     cdmx.Close;
     cdmx.Open;
     exit;
    end;
//保存新单
 if (trim(zt.Caption)='0') and (cdmx.RecordCount=0) or (zt.caption='3') or (zt.caption='2') or (zt.caption='1')  then   exit;
 if trim(tai.text)='' then
  begin
   messagebox(handle,'请先选台!','系统提示信息',MB_OK+MB_ICONWARNING);
   tai.setfocus;
   exit;
  end;

 gdcz;
end;

procedure Ty_yyt.ddClick(Sender: TObject);
begin
 if (trim(zt.Caption)='0') and (cdmx.RecordCount<>0) then gdcz;
 if not cd.Locate('cdbh',s_cdbh,[loCaseInsensitive]) then
   begin
     messagebox(handle,'菜单查询操作有误!','系统提示信息',MB_OK+MB_ICONWARNING);
     exit;
   end;
 if not t_tai.Locate('tht',y_yyt.tai.text,[loCaseInsensitive]) then
  begin
   messagebox(handle,'台查询操作有误!','系统提示信息',MB_OK+MB_ICONWARNING);
   exit;
  end;
 y_yyt_dd:=Ty_yyt_dd.Create(self);
 y_yyt_dd.showmodal;
end;

procedure Ty_yyt.ToolButton1Click(Sender: TObject);
begin
 if y_ctyl=NIL then y_ctyl:=Ty_ctyl.create(self);
 y_ctyl.showmodal;
end;

procedure Ty_yyt.E1Click(Sender: TObject);
begin
  PrinterSetup.Execute;
end;

procedure Ty_yyt.syckClick(Sender: TObject);
begin
 if z_ckgl=NIL then z_ckgl:=Tz_ckgl.create(self);
 z_ckgl.showmodal;
end;

procedure Ty_yyt.dqckClick(Sender: TObject);
begin
 {if not cd.FindKey([s_cdbh]) then
   begin
     messagebox(handle,'菜单查询操作有误!','系统提示信息',MB_OK+MB_ICONWARNING);
     exit;
   end;  }
 if trim(cd.fieldbyname('ckbh').asstring)='' then
    begin
     if y_yyt_ck=NIL then y_yyt_ck:=Ty_yyt_ck.Create(self);
     y_yyt_ck.showmodal
    end
  else
    begin
     s_ckbh:=cd.fieldbyname('ckbh').asstring;
     if g_ckxx=NIL then g_ckxx:=Tg_ckxx.Create(self);
     g_ckxx.showmodal;
    end;
end;

procedure Ty_yyt.bzClick(Sender: TObject);
begin
 if trim(zt.caption)<>'0' then exit;
 esc_enter:=0;
 y_yyt_bz:=Ty_yyt_bz.Create(self);
 y_yyt_bz.showmodal;
 if esc_enter=0 then exit;
 srlb.Caption:='2';
 bzccd.Filter:='bzbh='+bzc.fieldbyname('bzbh').asstring;
 if bzccd.recordcount=0 then
   begin
     messagebox(handle,'包桌菜查询操作有误,或包桌菜没录入任何菜肴!','系统提示信息',MB_OK+MB_ICONWARNING);
     exit;
   end;
 
 with bzccd do
   begin
    first;
    while not eof do
     begin
      cdmx.append;
     // cdmx.fieldbyname('bh').value:=hn_cdmxbh;
      cdmx.fieldbyname('cdbh').value:=s_cdbh;
      cdmx.fieldbyname('dzl').value:=fieldbyname('dzl').asfloat;
      cdmx.fieldbyname('clh').value:=fieldbyname('clh').asstring;
      cdmx.fieldbyname('ch').value:=fieldbyname('ch').asstring;
      cdmx.fieldbyname('cm').value:=fieldbyname('cm').asstring;
      cdmx.fieldbyname('dj').value:=fieldbyname('dj').asfloat;
      cdmx.fieldbyname('gg').value:=fieldbyname('gg').asstring;
      cdmx.fieldbyname('lbh').value:=fieldbyname('lbh').asstring;
      cdmx.fieldbyname('sl').value:=fieldbyname('sl').value;
       cdmx.post;
      next;
     end;
   end;
 bzccd.Filter:='';
// gd.Enabled:=true;
 jz.Enabled:=true;
 my_yyt_gd.Enabled:=true;
 my_yyt_jz.Enabled:=true;
end;

procedure Ty_yyt.DBGrid1Exit(Sender: TObject);
begin
 zc.Enabled:=false;
 my_yyt_zc.Enabled:=false;
 tc.Enabled:=false;
 my_yyt_tc.Enabled:=false;
end;

procedure Ty_yyt.FormClose(Sender: TObject; var Action: TCloseAction);
begin
{ Release;
 y_yyt:=NIL;
 g_ckcx.Release;  g_ckcx:=NIL;
 y_cd_cx.Release; y_cd_cx:=NIL;
 g_dc.Release; g_dc:=NIL;
 y_yyt_jc.Release; y_yyt_jc:=NIL;
 y_yyt_jz.Release; y_yyt_jz:=NIL;
 y_yyt_jz_dz.Release; y_yyt_jz_dz:=NIL;
 y_yyt_md.Release;    y_yyt_md:=NIL;
 y_yyt_qd.Release; y_yyt_qd:=NIL;
 y_yyt_rt.Release; y_yyt_rt:=NIL;
 y_yyt_tc.Release; y_yyt_tc:=NIL;
 y_yyt_zc.Release; y_yyt_zc:=NIL;
 yp_yyt1.Release; yp_yyt1:=NIL;}
 Timer2.Enabled:=false;
 if (trim(zt.Caption)='0') and (cdmx.RecordCount<>0) then //如果是新菜单
   gdcz;
action:=cafree;
end;

procedure Ty_yyt.A1Click(Sender: TObject);
begin
 if about=NIL then about:=Tabout.Create(self);
 about.showmodal;
end;

procedure Ty_yyt.cdCalcFields(DataSet: TDataSet);
begin
 with cd do
  begin
   if fieldbyname('zsje').value=0.00 then
     fieldbyname('zj1').value:=fieldbyname('xj').ascurrency+fieldbyname('fwf').ascurrency-fieldbyname('zkf').ascurrency+fieldbyname('sfbz').ascurrency
    else
     fieldbyname('zj1').value:=fieldbyname('xj').ascurrency+fieldbyname('fwf').ascurrency-fieldbyname('zkf').ascurrency-fieldbyname('zsje').ascurrency+fieldbyname('sfbz').ascurrency;
  end;
end;

procedure Ty_yyt.cdmxAfterEdit(DataSet: TDataSet);
begin
 if main.fdxx.fieldbyname('yycldz').asboolean then
   begin
    cdmx.edit;
    cdmx.fieldbyname('hj').value:=cdmx.fieldbyname('dj').value*cdmx.fieldbyname('sl').value-cdmx.fieldbyname('dj').value*cdmx.fieldbyname('sl').value*cdmx.fieldbyname('dzl').value;
   end
  else
   begin
    cdmx.edit;
    cdmx.fieldbyname('hj').value:=cdmx.fieldbyname('dj').value*cdmx.fieldbyname('sl').value;
   end;
end;

procedure Ty_yyt.cdmxAfterPost(DataSet: TDataSet);
begin
   //计算点菜金额
 with q_cdje do
  begin
   DisableControls;
   ParamByName('s_cdbh').asstring:=s_cdbh;
   active:=false;
   active:=true;
   EnableControls;
  end;
  cdmx.close;
  cdmx.Open;
  cdmx.Last;
end;

procedure Ty_yyt.cdmxSlChange(Sender: TField);
begin
 if main.fdxx.fieldbyname('yycldz').asboolean then
   cdmx.fieldbyname('hj').value:=cdmx.fieldbyname('dj').value*cdmx.fieldbyname('sl').value-cdmx.fieldbyname('dj').value*cdmx.fieldbyname('sl').value*cdmx.fieldbyname('dzl').value
  else
   cdmx.fieldbyname('hj').value:=cdmx.fieldbyname('dj').value*cdmx.fieldbyname('sl').value;
end;

procedure Ty_yyt.H1Click(Sender: TObject);
begin
  Application.HelpFile:='\hbjd\cyzy\help\hbcy.hlp';
  Application.HelpCommand(Help_Finder,0);
end;

procedure Ty_yyt.helpClick(Sender: TObject);
begin
cdmx.CancelUpdates;
if cd.State in [dsedit,dsinsert ] then
 cd.cancel;
end;

procedure Ty_yyt.N16Click(Sender: TObject);
begin
  Application.HelpFile:='\hbjd\cyzy\help\hbcy.hlp';
  Application.HelpCommand(Help_PartialKey,0);
end;

procedure Ty_yyt.DBGrid1ColEnter(Sender: TObject);
begin
 if (DBGrid1.SelectedIndex=1) or (DBGrid1.SelectedIndex=2) or (DBGrid1.SelectedIndex=4) or (DBGrid1.SelectedIndex=5) or (DBGrid1.SelectedIndex=6) then
  DBGrid1.SelectedIndex:=0;
end;

procedure Ty_yyt.cdmxBeforePost(DataSet: TDataSet);
begin
cdmxSlChange(cdmxSl);
end;

procedure Ty_yyt.taiExit(Sender: TObject);
begin
// if (length(trim(tai.text))>2) then tai.text:=copy(tai.text,1,2);
 if not (cd.State=dsinsert) or (trim(tai.text)='')  then exit;

 s_sql:='select a.th,a.tm,b.zws,b.fwyh from t a,tai b where ((b.zt='+''''+'2'+''''+' and b.tht=:s_tai) or (b.zt='+''''+'4'+''''+' and b.tht=:s_tai)) and a.th=b.th';
 if main.h_only(s_sql,'s_tai',tai.text)=0 then
   begin
    messagebox(y_yyt.handle,'您输入的台号可能:'+#13+'  1、已被使用;'+#13+'  2、或被预定;'#13+'  3、或没有设置.'+#13+'请重输或用鼠标双击或用回车键进行选台.','系统提示信息',MB_OK+MB_ICONWARNING);
    th.caption:='';  tm.caption:='';  zws.caption:='';  fwyh.Text:='';
    tai.setfocus;  exit;
   end;
 with main.query1 do
  begin
   th.caption:='['+fieldbyname('th').asstring+']';
   zws.caption:=fieldbyname('zws').asstring;
   fwyh.text:=fieldbyname('fwyh').asstring;
   tm.caption:=fieldbyname('tm').asstring;
  end;
end;

procedure Ty_yyt.cdCdbhChange(Sender: TField);
var i:integer;
begin
       cdmx.First ;
       for i:=1 to cdmx.RecordCount do
        begin
         cdmx.edit;
         cdmx.fieldbyname('cdbh').asstring:=sender.asstring;
         cdmx.Post;
         cdmx.Next;
        end;
end;

end.

⌨️ 快捷键说明

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