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

📄 uz_cbkz.pas

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

interface

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

type
  Tz_cbkz = class(TForm)
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    dy: TToolButton;
    bz: TToolButton;
    ToolButton8: TToolButton;
    MainMenu1: TMainMenu;
    MenuItem11: TMenuItem;
    N1: TMenuItem;
    MenuItem18: TMenuItem;
    P1: TMenuItem;
    MenuItem19: TMenuItem;
    MenuItem20: TMenuItem;
    MenuItem73: TMenuItem;
    MenuItem74: TMenuItem;
    MenuItem75: TMenuItem;
    MenuItem76: TMenuItem;
    ImageList2: TImageList;
    ImageList1: TImageList;
    yl: TToolButton;
    fg1: TToolButton;
    ToolButton5: TToolButton;
    CoolBar2: TCoolBar;
    Panel1: TPanel;
    TabSet1: TTabSet;
    zl: TToolButton;
    gl: TToolButton;
    sl: TToolButton;
    m_zl: TMenuItem;
    m_gl: TMenuItem;
    m_sl: TMenuItem;
    TreeView1: TTreeView;
    Label1: TLabel;
    clm: TLabel;
    Label3: TLabel;
    DBText1: TDBText;
    DBText2: TDBText;
    PrinterSetup: TPrinterSetupDialog;
    Panel2: TPanel;
    DBGrid1: TDBGrid;
    DBGrid2: TDBGrid;
    Label2: TLabel;
    S1: TMenuItem;
    z_cbkz_cksz: TMenuItem;
    cypl: TTable;
    cyplBh: TIntegerField;
    cyplCh: TStringField;
    cyplCllb: TStringField;
    cyplBm: TStringField;
    cyplLb: TStringField;
    cyplJl: TStringField;
    cyplZl: TFloatField;
    cyplDj: TFloatField;
    cyplJe: TFloatField;
    cyplYl: TStringField;
    cyplJll: TFloatField;
    d_cypl: TDataSource;
    d_cy: TDataSource;
    cy: TTable;
    cyCH: TStringField;
    cyClh: TStringField;
    cyMc: TStringField;
    cyZjm: TStringField;
    cyGg: TStringField;
    cyDj: TFloatField;
    cyBz: TStringField;
    cyDzl: TFloatField;
    cyLbh: TStringField;
    cyCb: TFloatField;
    cyLl: TFloatField;
    sb: TStatusBar;
    cl: TTable;
    clClh: TStringField;
    clClm: TStringField;
    clDzl: TFloatField;
    clLBH: TStringField;
    d_cl: TDataSource;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    lb: TPopupMenu;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    xflb: TTable;
    cyxflb1: TStringField;
    cyclm: TStringField;
    PopupMenu1: TPopupMenu;
    yl1: TMenuItem;
    yl2: TMenuItem;
    N5: TMenuItem;
    yl3: TMenuItem;
    PopupMenu2: TPopupMenu;
    dy1: TMenuItem;
    dy2: TMenuItem;
    MenuItem3: TMenuItem;
    dy3: TMenuItem;
    gfdg1: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    procedure FormShow(Sender: TObject);
    procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
    procedure ToolButton8Click(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure TabSet1Change(Sender: TObject; NewTab: Integer;
      var AllowChange: Boolean);
    procedure MenuItem18Click(Sender: TObject);
    procedure MenuItem76Click(Sender: TObject);
    procedure bzClick(Sender: TObject);
    procedure ylClick(Sender: TObject);
    procedure zlClick(Sender: TObject);
    procedure z_cbkz_ckszClick(Sender: TObject);
    procedure slClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure N2Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure yl1Click(Sender: TObject);
    procedure yl2Click(Sender: TObject);
    procedure dy1Click(Sender: TObject);
    procedure dy2Click(Sender: TObject);
    procedure yl3Click(Sender: TObject);
    procedure dy3Click(Sender: TObject);
    procedure cyAfterScroll(DataSet: TDataSet);
    procedure cyplZlChange(Sender: TField);
    procedure glClick(Sender: TObject);
    procedure DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure cyplAfterPost(DataSet: TDataSet);
    procedure N7Click(Sender: TObject);
    procedure MenuItem74Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure sb_sz;
    procedure tree_csh;
  end;

var
  z_cbkz: Tz_cbkz;
  s_mess:string;
  lbh:string;

implementation

uses uabout,uz_clsz, uz_cbkz_xl, ug_wait, uzp_cp, uz_cbkz_cl;

{$R *.DFM}
procedure Tz_cbkz.sb_sz;
begin
 sb.Panels[6].text:=inttostr(cl.RecordCount);
 sb.Panels[8].text:=inttostr(main.h_count('select count(ch) as hj from cy'));
 sb.Panels[10].text:=inttostr(cypl.RecordCount);
 s_sql:='select count(clh) as hj from cl where lbh="'+lbh+'"';
 sb.Panels[2].text:=inttostr(main.h_count(s_sql));  //当前菜类
 sb.Panels[4].text:=inttostr(cy.RecordCount);
 if cypl.RecordCount=0 then
   begin
     gl.Enabled:=false;
     sl.Enabled:=false;
     m_gl.Enabled:=false;
     m_sl.Enabled:=false;
   end
  else
   begin
     gl.Enabled:=true;
     sl.Enabled:=true;
     m_gl.Enabled:=true;
     m_sl.Enabled:=true;
   end;
{
 with main.query1 do
  begin
   active:=false;
   sql.Clear;
   sql.add('select sum(je) as hj from  cypl where ch=:p_ch');
   ParamByName('p_ch').asstring:=cy.fieldbyname('ch').asstring;
   active:=true;
   cy.edit;
   cy.fieldbyname('cb').value:=fieldbyname('hj').ascurrency;
   cy.fieldbyname('ll').value:=(cy.fieldbyname('dj').ascurrency-fieldbyname('hj').ascurrency)/cy.fieldbyname('dj').ascurrency;
  end;
 }
end;
procedure Tz_cbkz.tree_csh;
begin
with TreeView1,cl do
  begin
   items.clear;
   items.AddChild(getnodeat(0,0),'菜谱');
   first;
   while not eof do
     begin
      if fieldbyname('lbh').asstring=lbh then
       items.AddChild(getnodeat(1,1),'['+fieldbyname('clh').asstring+']'+fieldbyname('clm').asstring);
      next;
     end;
   fullexpand;
   cy.filter:='lbh='+lbh;
   TreeView1.Refresh;
  end;
end;
procedure Tz_cbkz.FormShow(Sender: TObject);
begin
 if not xflb.Active then xflb.Active:=true;
 if not cl.Active then cl.Active:=true;
 if not cy.Active then cy.Active:=true;
 if not cypl.Active then cypl.Active:=true;
 if z_cbkz_xl=NIL then z_cbkz_xl:=Tz_cbkz_xl.Create(self);
 if z_cbkz_cl=NIL then z_cbkz_cl:=Tz_cbkz_cl.Create(self);
 if zp_cp=NIL then zp_cp:=Tzp_cp.Create(self);
 lbh:=inttostr(TabSet1.TabIndex+1); //放入消费类别号
 tree_csh;
 clm.caption:='菜谱';
 sb_sz;
 g_wait.close;
end;
procedure Tz_cbkz.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
 clm.caption:=TreeView1.Selected.text;
 with TreeView1.Selected,cy do
  begin
    if text='菜谱' then filter:='lbh='+lbh
     else
      begin
        filtered:=false;
        filter:='lbh='+lbh+' and clh='+copy(text,2,2);
        filtered:=true;
      end
  end;
 clm.caption:=TreeView1.Selected.text;
 sb_sz;
end;
procedure Tz_cbkz.ToolButton8Click(Sender: TObject);
begin
 close;
end;
procedure Tz_cbkz.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   case key of
     76:TabSet1.tabindex:=0;
     82:TabSet1.tabindex:=1;
     77:TabSet1.tabindex:=2;
     74:TabSet1.tabindex:=3;
     79:TabSet1.tabindex:=4;
     end;
   case key of
    76,82,77,74,79:
     begin
      lbh:=inttostr(TabSet1.tabindex+1);
      with TreeView1 do
       begin
        items.clear;
        items.AddChild(getnodeat(0,0),'菜谱');
        cl.first;
        while not cl.eof do
          begin
            if cl.fieldbyname('lbh').Value=lbh then items.AddChild(getnodeat(1,1),'['+cl.fieldbyname('clh').asstring+']'+cl.fieldbyname('clm').asstring);
            cl.next;
          end;
         fullexpand;
       end;
      cy.filter:='lbh='+lbh;
     end;
     end;
end;
procedure Tz_cbkz.TabSet1Change(Sender: TObject; NewTab: Integer;
  var AllowChange: Boolean);
begin
 lbh:=inttostr(newtab+1);
 tree_csh;
 sb_sz;
end;

procedure Tz_cbkz.MenuItem18Click(Sender: TObject);
begin
  PrinterSetup.Execute;
end;

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

procedure Tz_cbkz.bzClick(Sender: TObject);
begin
  Application.HelpFile:='\hbjd\cyzy\help\hbcy.hlp';
  Application.HelpJump('ptcbkz');
end;

procedure Tz_cbkz.ylClick(Sender: TObject);
begin
//
end;

procedure Tz_cbkz.zlClick(Sender: TObject);
begin
 y_n:=1;
 z_cbkz_cl.showmodal;
 sb.Panels[10].text:=inttostr(cypl.RecordCount);
end;

procedure Tz_cbkz.z_cbkz_ckszClick(Sender: TObject);
begin
 z_clsz:=Tz_clsz.Create(Application); 
 z_clsz.showmodal;
end;

procedure Tz_cbkz.slClick(Sender: TObject);
begin
 if cypl.recordcount=0 then
   begin
     messagebox(handle,'您没有选择到可被删除的菜料!','系统提示信息',MB_OK+MB_ICONWARNING);
     exit;
   end;
  s_mess:='您真的要删除 ['+cypl.fieldbyname('bm').AsString+']'+cypl.fieldbyname('jl').AsString+' 菜料吗 ?';
 if messagebox(handle,pchar(s_mess),'系统提示信息',MB_OKCANCEL+MB_ICONQUESTION)=IDOK then
  begin
   cypl.delete;
   cypl.edit;
   cypl.post;
   sb.Panels[10].text:=inttostr(cypl.RecordCount);
  end;
end;

procedure Tz_cbkz.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 Release;
 z_cbkz:=NIl;
 z_cbkz_xl.Release;
 z_cbkz_xl:=NIl;
 z_cbkz_cl.Release;
 z_cbkz_cl:=NIl;
 zp_cp.Release;
 zp_cp:=NIl;
end;

procedure Tz_cbkz.N2Click(Sender: TObject);
begin
 cypl.edit;
 cypl.fieldbyname('lb').value:='主料';
end;

procedure Tz_cbkz.N3Click(Sender: TObject);
begin
 cypl.edit;
 cypl.fieldbyname('lb').value:='配料';
end;

procedure Tz_cbkz.N4Click(Sender: TObject);
begin
 cypl.edit;
 cypl.fieldbyname('lb').value:='调料';
end;

procedure Tz_cbkz.yl1Click(Sender: TObject);
var
 s_filter:string;
begin
 s_filter:=cy.Filter;
 cy.filter:='';
 zp_cp.QuickRep4.preview;
 cy.Filter:=s_filter;
end;

procedure Tz_cbkz.yl2Click(Sender: TObject);
begin
 zp_cp.QuickRep4.preview;
end;

procedure Tz_cbkz.dy1Click(Sender: TObject);
var
 s_filter:string;
begin
 s_filter:=cy.Filter;
 cy.filter:='';
 zp_cp.QuickRep4.print;
 cy.Filter:=s_filter;
end;

procedure Tz_cbkz.dy2Click(Sender: TObject);
begin
 zp_cp.QuickRep4.print;
end;

procedure Tz_cbkz.yl3Click(Sender: TObject);
begin
 zp_cp.QuickRep5.preview;
end;

procedure Tz_cbkz.dy3Click(Sender: TObject);
begin
 zp_cp.QuickRep5.print;
end;

procedure Tz_cbkz.cyAfterScroll(DataSet: TDataSet);
begin
 if trim(cy.fieldbyname('ch').asstring)<>'' then
   cypl.filter:='ch='+cy.fieldbyname('ch').asstring
  else
   cypl.filter:='ch='+'0000';
end;

procedure Tz_cbkz.cyplZlChange(Sender: TField);
begin
 cypl.fieldbyname('je').value:=cypl.fieldbyname('dj').value*cypl.fieldbyname('zl').value;
end;

procedure Tz_cbkz.glClick(Sender: TObject);
begin
 y_n:=0;
 z_cbkz_cl.showmodal;
 sb.Panels[10].text:=inttostr(cypl.RecordCount);
end;

procedure Tz_cbkz.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
 if cy.fieldbyname('ll').value<0.00 then
   begin
    DBGrid2.Canvas.Font.Color:=clred;
    DBGrid2.DefaultDrawColumnCell(rect,datacol,column,state);
   end;
 if cy.fieldbyname('ll').value=0.00 then
   begin
    DBGrid2.Canvas.Font.Color:=clteal;
    DBGrid2.DefaultDrawColumnCell(rect,datacol,column,state);
   end;
end;

procedure Tz_cbkz.cyplAfterPost(DataSet: TDataSet);
begin
 with main.query1 do
  begin
   active:=false;
   sql.Clear;
   sql.add('select sum(je) as hj from  cypl where ch=:p_ch');
   ParamByName('p_ch').asstring:=cy.fieldbyname('ch').asstring;
   active:=true;
   cy.edit;
   cy.fieldbyname('cb').value:=fieldbyname('hj').ascurrency;
   if cy.fieldbyname('dj').ascurrency=0 then
     cy.fieldbyname('ll').value:=0
    else
     cy.fieldbyname('ll').value:=(cy.fieldbyname('dj').ascurrency-fieldbyname('hj').ascurrency)/cy.fieldbyname('dj').ascurrency;
   cy.post;
  end;
end;

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

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

end.

⌨️ 快捷键说明

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