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

📄 mc_ndyyfxtj.pas

📁 一个通用的餐饮管理软件
💻 PAS
字号:
unit MC_NDYYFXTJ;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, Grids,  Db, DBTables,
  TeeProcs, TeEngine, Chart, StdCtrls, ComCtrls, DBGrids, Buttons,
  Qrctrls, QuickRpt;

type
  TNDYYFXTJ = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    DBGrid1: TDBGrid;
    Label1: TLabel;
    DateTimePicker1: TDateTimePicker;
    Label2: TLabel;
    DateTimePicker2: TDateTimePicker;
    Query1: TQuery;
    DataSource1: TDataSource;
    BitBtn1: TBitBtn;
    GroupBox3: TGroupBox;
    Label3: TLabel;
    Label4: TLabel;
    Bevel1: TBevel;
    Bevel2: TBevel;
    BitBtn2: TBitBtn;
    Bevel3: TBevel;
    BitBtn3: TBitBtn;
    Query1BDEDesigner: TIntegerField;
    Query1BDEDesigner2: TIntegerField;
    Query1BDEDesigner3: TDateTimeField;
    Query1BDEDesigner4: TFloatField;
    Query1BDEDesigner5: TStringField;
    Query1BDEDesigner6: TStringField;
    Query1BDEDesigner7: TStringField;
    Bevel4: TBevel;
    BitBtn4: TBitBtn;
    Label5: TLabel;
    Label6: TLabel;
    Bevel5: TBevel;
    Label7: TLabel;
    Label8: TLabel;
    Query2: TQuery;
    QuickRep1: TQuickRep;
    PageHeaderBand1: TQRBand;
    QRLabel1: TQRLabel;
    QRShape1: TQRShape;
    QRLabel2: TQRLabel;
    TitleBand1: TQRBand;
    QRShape2: TQRShape;
    QRLabel3: TQRLabel;
    QRLabel4: TQRLabel;
    QRLabel5: TQRLabel;
    QRLabel6: TQRLabel;
    QRLabel7: TQRLabel;
    QRLabel8: TQRLabel;
    QRLabel9: TQRLabel;
    QRShape3: TQRShape;
    QRShape4: TQRShape;
    QRShape5: TQRShape;
    QRShape6: TQRShape;
    QRShape7: TQRShape;
    QRShape8: TQRShape;
    DetailBand1: TQRBand;
    QRShape9: TQRShape;
    QRShape10: TQRShape;
    QRShape11: TQRShape;
    QRShape12: TQRShape;
    QRShape13: TQRShape;
    QRShape14: TQRShape;
    QRShape15: TQRShape;
    QRDBText1: TQRDBText;
    QRDBText2: TQRDBText;
    QRDBText3: TQRDBText;
    QRDBText4: TQRDBText;
    QRDBText5: TQRDBText;
    QRDBText6: TQRDBText;
    QRDBText7: TQRDBText;
    SummaryBand1: TQRBand;
    QRShape16: TQRShape;
    QRLabel10: TQRLabel;
    QRExpr1: TQRExpr;
    QRLabel11: TQRLabel;
    QRExpr2: TQRExpr;
    QRSysData1: TQRSysData;
    QRLabel12: TQRLabel;
    QRLabel13: TQRLabel;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure QuickRep1Preview(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  NDYYFXTJ: TNDYYFXTJ;

implementation

uses MC_CKJZDJDJCXX, MC_DYYLBrose;

{$R *.DFM}
procedure TNDYYFXTJ.FormShow(Sender: TObject);
begin
 ANiMateWindow(Handle,300,AW_SLIDE+AW_VER_POSITIVE);
 GroupBox1.Refresh;
 GroupBox2.Refresh;
 GroupBox3.Refresh;
 Bevel1.Refresh;
 Bevel2.Refresh;
 Bevel3.Refresh;
 DBGrid1.Refresh;
 DateTimePicker1.Date:=Date-365;   //默认时间段为一年
 DateTimePicker2.Date:=Date;   //默认截止时间为系统日期
end;

procedure TNDYYFXTJ.BitBtn1Click(Sender: TObject);  //统计年度营业信息
begin
 Query1.Close;
 Query1.SQL.Clear;
 Query1.SQL.Add('Select * From 结款费用历史信息表');
 Query1.SQL.Add('where 日期 >= :A and 日期 <= :B ORDER BY 结帐编号 ASC');
 Query1.ParamByName('A').AsDateTime:=DateTimePicker1.DateTime;
 Query1.ParamByName('B').AsDateTime:=DateTimePicker2.DateTime;
 Query1.Open;   //统计结账信息
 Query2.Close;
 Query2.SQL.Clear;
 Query2.SQL.Add('Select Sum(费用) From 结款费用历史信息表');
 Query2.SQL.Add('Where 日期 >= :A and 日期 <= :B');
 Query2.ParamByName('A').AsDateTime:=DateTimePicker1.Datetime;
 Query2.ParamByName('B').AsDateTime:=DateTimePicker2.Datetime;
 Query2.Open;    //汇总结账信息
 Label4.Caption:=Query2.Fields[0].AsString;
 Label8.Caption:=IntToStr(Query1.RecordCount);
 Query2.Close;
end;

procedure TNDYYFXTJ.BitBtn4Click(Sender: TObject);   //查看结帐单据的水酒信息
begin
 If Query1.Active = True Then
 If Query1.RecordCount <> 0 Then
 If Not Assigned(CKJZDJDJCXX) Then
 begin
  CKJZDJDJCXX:=TCKJZDJDJCXX.Create(Self);
  CKJZDJDJCXX.Query1.Close;
  CKJZDJDJCXX.Query1.SQL.Clear;
  CKJZDJDJCXX.Query1.SQL.Add('Select * From 点菜历史信息表 Where 结帐编号 = :A');
  CKJZDJDJCXX.Query1.ParamByName('A').AsInteger:=Query1.FieldByName('结帐编号').AsInteger;
  CKJZDJDJCXX.Query1.Open;
  CKJZDJDJCXX.Query2.Close;
  CKJZDJDJCXX.Query2.SQL.Clear;
  CKJZDJDJCXX.Query2.SQL.Add('Select * From 员工信息表');
  CKJZDJDJCXX.Query2.SQL.Add('Where 员工编号 = :A');
  CKJZDJDJCXX.Query2.ParamByName('A').AsInteger:=CKJZDJDJCXX.Query1.FieldbyName('服务员编号').AsInteger;
  CKJZDJDJCXX.Query2.Open;
  CKJZDJDJCXX.Label24.Caption:=CKJZDJDJCXX.Query2.FieldByName('员工编号').AsString;
  CKJZDJDJCXX.Label26.Caption:=CKJZDJDJCXX.Query2.FieldByName('姓名').AsString;
  CKJZDJDJCXX.Query2.Close;
  CKJZDJDJCXX.Query2.SQL.Clear;
  CKJZDJDJCXX.Query2.SQL.Add('Select * From 房间台号信息表');
  CKJZDJDJCXX.Query2.SQL.Add('where 编号 = :A');
  CKJZDJDJCXX.Query2.ParambyName('A').AsInteger:=Query1.FieldByName('房间台号').AsInteger;
  CKJZDJDJCXX.Query2.Open;
  CKJZDJDJCXX.Label4.Caption:=Query1.FieldByName('房间台号').AsString;
  CKJZDJDJCXX.Label8.Caption:=CKJZDJDJCXX.Query2.FieldByName('类型说明').AsString;
  CKJZDJDJCXX.Label6.Caption:=CKJZDJDJCXX.Query2.FieldByName('房台名称').AsString;
  CKJZDJDJCXX.Label10.Caption:=CKJZDJDJCXX.Query2.FieldByName('餐饮部门').AsString;
  CKJZDJDJCXX.Label12.Caption:=CKJZDJDJCXX.Query2.FieldByName('服务费').AsString;
  CKJZDJDJCXX.Label14.Caption:=CKJZDJDJCXX.Query2.FieldByName('简要说明').AsString;
  CKJZDJDJCXX.Query2.Close;
  CKJZDJDJCXX.Query2.SQL.Clear;
  CKJZDJDJCXX.Query2.SQL.Add('Select Sum(数量) From 点菜历史信息表');
  CKJZDJDJCXX.Query2.SQL.Add('Where 状态 = :A and 结帐编号 = :B');
  CKJZDJDJCXX.Query2.ParamByName('A').AsString:='点单';
  CKJZDJDJCXX.Query2.ParamByName('B').AsInteger:=Query1.FieldByName('结帐编号').AsInteger;
  CKJZDJDJCXX.Query2.Open;
  CKJZDJDJCXX.Label16.Caption:=CKJZDJDJCXX.Query2.Fields[0].AsString;
  CKJZDJDJCXX.Query2.Close;
  CKJZDJDJCXX.Query2.SQL.Clear;
  CKJZDJDJCXX.Query2.SQL.Add('Select Sum(数量) From 点菜历史信息表');
  CKJZDJDJCXX.Query2.SQL.Add('Where 状态 = :A and 结帐编号 = :B');
  CKJZDJDJCXX.Query2.ParamByName('A').AsString:='赠单';
  CKJZDJDJCXX.Query2.ParamByName('B').AsInteger:=Query1.FieldByName('结帐编号').AsInteger;
  CKJZDJDJCXX.Query2.Open;
  CKJZDJDJCXX.Label18.Caption:=CKJZDJDJCXX.Query2.Fields[0].AsString;
  CKJZDJDJCXX.Query2.Close;
  CKJZDJDJCXX.Query2.SQL.Clear;
  CKJZDJDJCXX.Query2.SQL.Add('Select Sum(合计) From 点菜历史信息表');
  CKJZDJDJCXX.Query2.SQL.Add('Where 状态 = :A and 结帐编号 = :B');
  CKJZDJDJCXX.Query2.ParamByName('A').AsString:='点单';
  CKJZDJDJCXX.Query2.ParamByName('B').AsInteger:=Query1.FieldByName('结帐编号').AsInteger;
  CKJZDJDJCXX.Query2.Open;
  CKJZDJDJCXX.Label20.Caption:=CKJZDJDJCXX.Query2.Fields[0].AsString;
  CKJZDJDJCXX.Query2.Close;
  CKJZDJDJCXX.Query2.SQL.Clear;
  CKJZDJDJCXX.Query2.SQL.Add('Select Sum(合计) From 点菜历史信息表');
  CKJZDJDJCXX.Query2.SQL.Add('Where 状态 = :A and 结帐编号 = :B');
  CKJZDJDJCXX.Query2.ParamByName('A').AsString:='赠单';
  CKJZDJDJCXX.Query2.ParamByName('B').AsInteger:=Query1.FieldByName('结帐编号').AsInteger;
  CKJZDJDJCXX.Query2.Open;
  CKJZDJDJCXX.Label22.Caption:=CKJZDJDJCXX.Query2.Fields[0].AsString;
  if Length(CKJZDJDJCXX.Label12.Caption)=0 then CKJZDJDJCXX.Label2.Caption:=CKJZDJDJCXX.Label20.Caption
  Else
  if Length(CKJZDJDJCXX.Label20.Caption)=0 then CKJZDJDJCXX.Label2.Caption:=CKJZDJDJCXX.Label12.Caption
  Else
  CKJZDJDJCXX.Label2.Caption:=FloatToStr(StrToFloat(CKJZDJDJCXX.Label12.Caption)+StrtoFloat(CKJZDJDJCXX.Label20.Caption));
  CKJZDJDJCXX.Label28.Caption:=Query1.FieldByName('结帐编号').AsString;
  CKJZDJDJCXX.Query2.Close;
  CKJZDJDJCXX.ShowModal;
 end;
end;

procedure TNDYYFXTJ.QuickRep1Preview(Sender: TObject);   //预览报表
begin
 DYYLBrose.QRPreview1.QRPrinter:=QuickRep1.QRPrinter;
end;

procedure TNDYYFXTJ.BitBtn2Click(Sender: TObject);  //打印结账信息
begin
 If Query1.Active = True Then
  begin
   If Query1.RecordCount <> 0 Then
     begin
      DYYLBrose.Show;
      QuickRep1.Preview;
     End
   else ShowMessage('没有数据无法打印.');
  End
 Else
  ShowMessage('没有数据无法打印.');
end;

procedure TNDYYFXTJ.FormClose(Sender: TObject; var Action: TCloseAction); //关闭窗体
begin
 ANiMateWindow(Handle,300,Aw_HIDE+AW_SLIDE+AW_VER_NEGATIVE);
 NDYYFXTJ.Release;
 NDYYFXTJ:=Nil;
end;

procedure TNDYYFXTJ.BitBtn3Click(Sender: TObject);
begin
 Close;     //退出年度营业分析统计
end;
end.

⌨️ 快捷键说明

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