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

📄 mc_yyyfxtj.pas

📁 异洲酒店管理系统
💻 PAS
字号:
unit MC_YYYFXTJ;

interface

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

type
  TYYYFXTJ = class(TForm)
    Panel2: TPanel;
    TreeView1: TTreeView;
    ImageList1: TImageList;
    Query1: TQuery;
    GroupBox1: TGroupBox;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    BitBtn3: TBitBtn;
    Query2: TQuery;
    Query1BDEDesigner: TIntegerField;
    Query1BDEDesigner2: TIntegerField;
    Query1BDEDesigner3: TDateTimeField;
    Query1BDEDesigner4: TFloatField;
    Query1BDEDesigner5: TStringField;
    Query1BDEDesigner6: TStringField;
    Query1BDEDesigner7: TStringField;
    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 FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure TreeView1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure QuickRep1Preview(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  YYYFXTJ: TYYYFXTJ;

implementation

uses MC_CKJZDJDJCXX, MC_DYYLBrose;

{$R *.DFM}
//系统初始化
procedure TYYYFXTJ.FormCreate(Sender: TObject);
var TList:array[0..6] of TTreeNode;
a:integer;
begin
 TreeView1.Items.Clear;
 TreeView1.Items.Add(nil,'月营业分析');
 Query1.CLose;
 Query1.SQL.Clear;
 Query1.SQL.Add('Select * From 餐饮部门信息表');
 Query1.Open;
 While not Query1.Eof do
 begin
  TList[0]:=TreeView1.Items.AddChild(TreeView1.Items[0],Query1.FieldByName('部门名称').AsString);
  Tlist[0].ImageIndex:=2;
  TList[0].SelectedIndex:=2;
  Query1.Next;
 end;
 Query1.Close;
 Query1.SQL.Clear;
 Query1.SQL.Add('select * From 房间台号信息表');
 Query1.Open;
 While not Query1.Eof do
 begin
  for a:=0 to TreeView1.Items[0].Count-1 do
  begin
   if Query1.FieldByName('餐饮部门').AsString=TreeView1.Items[0].Item[a].Text then
     begin
      TList[1]:=TreeView1.Items.AddChild(Treeview1.Items[0].Item[a],Query1.FieldByName('房台名称').AsString);
      TList[1].ImageIndex:=1;
      TList[1].SelectedIndex:=1;
     end;
  end;
  Query1.Next;
 end;
 Query1.Close;
 Query1.SQL.Clear;
end;
// 树状显示各部门
procedure TYYYFXTJ.FormShow(Sender: TObject);
begin
 TreeView1.Items[0].Expanded:=True;
end;
//选择分析内容
procedure TYYYFXTJ.TreeView1Click(Sender: TObject);
var list:array[0..3]of TTreeNode;
a:integer;
begin
 List[0]:=TreeView1.Selected;
 if list[0].ImageIndex=2 then
 begin
 Query2.Close;
 Query2.SQL.Clear;
 Query2.SQL.Add('select 月结算费用信息表.* From 月结算费用信息表');
 Query2.SQL.Add('where 月结算费用信息表.结帐编号 in (Select DisTinCt 月点菜信息表.结帐编号 From 月点菜信息表');
 Query2.SQL.Add('Where 月点菜信息表.房间台号 in (Select 房间台号信息表.编号 From 房间台号信息表');
 Query2.SQL.Add('Where 房间台号信息表.餐饮部门=:A))');
 Query2.Params[0].AsString:=List[0].Text;
 Query2.Open;
 Label2.Caption:=IntToStr(Query2.RecordCount);
 Query1.Close;
 Query1.SQL.Clear;
 Query1.SQL.Add('Select Sum(费用) From 月结算费用信息表');
 Query1.SQL.Add('where 月结算费用信息表.结帐编号 in (Select DisTinCt 月点菜信息表.结帐编号 From 月点菜信息表');
 Query1.SQL.Add('Where 月点菜信息表.房间台号 in (Select 房间台号信息表.编号 From 房间台号信息表');
 Query1.SQL.Add('Where 房间台号信息表.餐饮部门=:A))');
 Query1.Params[0].AsString:=List[0].Text;
 Query1.Open;
 Label4.Caption:=Query1.Fields[0].AsString;
 Query1.Close;
 end;
 if list[0].ImageIndex=1 then
 begin
 for a:=0 to TreeView1.Items[0].Count-1 do
 begin
 if TreeView1.Items[0].Item[a].IndexOf(List[0])>-1 then
  begin
   List[1]:=TreeView1.Items[0].Item[a];
   Query2.Close;
   Query2.SQL.Clear;
   Query2.SQL.Add('select 月结算费用信息表.* From 月结算费用信息表');
   Query2.SQL.Add('where 月结算费用信息表.结帐编号 in (Select DisTinCt 月点菜信息表.结帐编号 From 月点菜信息表');
   Query2.SQL.Add('Where 月点菜信息表.房间台号=(Select 房间台号信息表.编号 From 房间台号信息表');
   Query2.SQL.Add('Where 房间台号信息表.餐饮部门=:A and 房间台号信息表.房台名称=:B))');
   Query2.Params[0].AsString:=List[1].Text;
   Query2.Params[1].AsString:=List[0].Text;
   Query2.Open;
   Label2.Caption:=IntToStr(Query2.RecordCount);
   Query1.Close;
   Query1.SQL.Clear;
   Query1.SQL.Add('Select Sum(费用) From 月结算费用信息表');
   Query1.SQL.Add('where 月结算费用信息表.结帐编号 in (Select DisTinCt 月点菜信息表.结帐编号 From 月点菜信息表');
   Query1.SQL.Add('Where 月点菜信息表.房间台号=(Select 房间台号信息表.编号 From 房间台号信息表');
   Query1.SQL.Add('Where 房间台号信息表.餐饮部门=:A and 房间台号信息表.房台名称=:B))');
   Query1.Params[0].AsString:=List[1].Text;
   Query1.Params[1].AsString:=List[0].Text;
   Query1.Open;
   Label4.Caption:=Query1.Fields[0].AsString;
   Query1.Close;
   Break;
  end;
 end;
 end;
 if list[0].ImageIndex=0 then
 begin
 Query2.Close;
 Query2.SQL.Clear;
 Query2.SQL.Add('Select * From 月结算费用信息表');
 Query2.Open;
 Label2.Caption:=IntToStr(Query2.RecordCount);
 Query1.Close;
 Query1.SQL.Clear;
 Query1.SQL.Add('Select Sum(费用) From 月结算费用信息表');
 Query1.Open;
 Label4.Caption:=Query1.Fields[0].AsString;
 Query1.Close;
 end;
end;
//显示点菜信息
procedure TYYYFXTJ.BitBtn3Click(Sender: TObject);
begin
 If Query2.Active = True Then
 If Query2.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 月点菜信息表');
  CKJZDJDJCXX.Query1.SQL.Add('Where 结帐编号 = :A');
  CKJZDJDJCXX.Query1.ParamByName('A').AsInteger:=Query2.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 编号 in (Select DisTinCt 房间台号 From 月点菜信息表');
  CKJZDJDJCXX.Query2.SQL.Add('where 结帐编号 = :A)');
  CKJZDJDJCXX.Query2.ParambyName('A').AsInteger:=Query2.FieldByName('结帐编号').AsInteger;
  CKJZDJDJCXX.Query2.Open;
  CKJZDJDJCXX.Label4.Caption:=CKJZDJDJCXX.Query2.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:=Query2.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:=Query2.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:=Query2.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:=Query2.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:=Query2.FieldByName('结帐编号').AsString;
  CKJZDJDJCXX.Query2.Close;
  CKJZDJDJCXX.ShowModal;
 end;
end;
// 预览报表
procedure TYYYFXTJ.QuickRep1Preview(Sender: TObject);
begin
 DYYLBrose.QRPreview1.QRPrinter:=QuickRep1.QRPrinter;
end;
//打印结账信息
procedure TYYYFXTJ.BitBtn2Click(Sender: TObject);
begin
 If Query2.Active = True Then
 begin
  If Query2.RecordCount <> 0 Then
  begin
    DYYLBrose.Show;
    QuickRep1.Preview;
  End
  else ShowMessage('没有数据无法打印.');
 End
 Else
 ShowMessage('没有数据无法打印.');
end;
//退出窗体
procedure TYYYFXTJ.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 YYYFXTJ.Release;
 YYYFXTJ:=Nil;
end;
//退出系统
procedure TYYYFXTJ.BitBtn1Click(Sender: TObject);
begin
 Close;
end;
end.

⌨️ 快捷键说明

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