📄 mc_yyyfxtj.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 + -