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