📄 mc_sjfxt.~pas
字号:
unit MC_SJFXT;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, Db, DBTables,TeEngine,
Series, TeeProcs, Chart,ImgList, ComCtrls, StdCtrls, Buttons,
Grids, DBGrids;
type
TSJFXT = class(TForm)
GroupBox1: TGroupBox;
DBGrid1: TDBGrid;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
GroupBox2: TGroupBox;
TreeView1: TTreeView;
BitBtn3: TBitBtn;
Panel2: TPanel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Query1: TQuery;
ImageList1: TImageList;
Query2: TQuery;
Query2BDEDesigner: TIntegerField;
Query2BDEDesigner2: TStringField;
Query2BDEDesigner3: TIntegerField;
Query2BDEDesigner4: TStringField;
Query2BDEDesigner5: TStringField;
Query2BDEDesigner6: TStringField;
Query2BDEDesigner7: TIntegerField;
Query2BDEDesigner8: TFloatField;
Query2BDEDesigner9: TFloatField;
Query2BDEDesigner10: TDateTimeField;
Query2BDEDesigner11: TDateTimeField;
Query2BDEDesigner12: TIntegerField;
Query2BDEDesigner13: TStringField;
Query2BDEDesigner14: TStringField;
Query2BDEDesigner15: TIntegerField;
Query2BDEDesigner16: TStringField;
DataSource1: TDataSource;
Query3: TQuery;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn3Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TreeView1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
ZJ:String;
List1:TTreeNode;
{ Private declarations }
public
{ Public declarations }
end;
var
SJFXT: TSJFXT;
implementation
{$R *.DFM}
procedure TSJFXT.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SJFXT.Release;
SJFXT:=Nil;
end;
//退出水酒分析
procedure TSJFXT.BitBtn3Click(Sender: TObject);
begin
Close;
end;
//树状显示水酒信息
procedure TSJFXT.FormShow(Sender: TObject);
var List:Array[0..5] of TTreeNode;
A,b:integer;
begin
Query1.Open;
while not Query1.Eof do
begin
List[0]:=TreeView1.Items.AddChild(TreeView1.Items[0],Query1.FieldByName('类别名称').AsString);
List[0].ImageIndex:=1;
List[0].SelectedIndex:=1;
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 TreeView1.Items[0].Item[a].Text=Query1.FieldByName('酒水类别').AsString then
begin
List[0]:=TreeView1.Items.AddChild(TreeView1.Items[0].Item[a],Query1.FieldByName('酒水名称').AsString);
List[0].ImageIndex:=2;
List[0].SelectedIndex:=2;
Break;
end;
end;
Query1.Next;
end;
DateTimePicker1.Date:=Date-365;
DateTimePicker2.Date:=Date;
List1:=TreeView1.Items[0];
ZJ:='ALL';
TreeView1.Items[0].Expanded:=True;
end;
//选择水酒信息
procedure TSJFXT.TreeView1Click(Sender: TObject);
begin
List1:=TreeView1.Selected;
if List1.ImageIndex=0 then ZJ:='ALL';
if List1.ImageIndex=1 then ZJ:=List1.Text;
if List1.ImageIndex=2 then ZJ:=List1.Text;
end;
//统计水酒信息
procedure TSJFXT.BitBtn1Click(Sender: TObject);
begin
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('Select * From 点菜历史信息表');
If List1.ImageIndex = 0 Then
begin
Query2.SQL.Add('where 类型 in (Select 类别名称 From 酒水类别表 )');
Query2.SQL.Add('and 结单日期 >= :A and 结单日期 <= :B');
Query2.SQL.Add('ORDER BY 结单日期 ASC');
Query2.ParamByName('A').AsDateTime:=DateTimePicker1.DateTime;
Query2.ParamByName('B').AsDateTime:=DateTimePicker2.DateTime;
Query2.Open;
Query3.Close;
Query3.SQL.Clear;
Query3.SQL.Add('Select Count(DisTinCt 房间台号),Sum(数量),Sum(合计) From 点菜历史信息表');
Query3.SQL.Add('where 类型 in (Select 类别名称 From 酒水类别表 )');
Query3.SQL.Add('and 结单日期 >= :A and 结单日期 <= :B ');
Query3.ParamByName('A').AsDateTime:=DateTimePicker1.DateTime;
Query3.ParamByName('B').AsDateTime:=DateTimePicker2.DateTime;
Query3.Open;
Label6.Caption:=Query3.Fields[0].AsString;
Label7.Caption:=Query3.Fields[1].AsString;
Label8.Caption:=Query3.Fields[2].AsString;
End
Else
If List1.ImageIndex = 1 Then
begin
Query2.SQL.Add('Where 类型 = :C');
Query2.SQL.Add('and 结单日期 >= :A and 结单日期 <= :B');
Query2.SQL.Add('ORDER BY 结单日期 ASC');
Query2.ParamByName('A').AsDateTime:=DateTimePicker1.DateTime;
Query2.ParamByName('B').AsDateTime:=DateTimePicker2.DateTime;
Query2.ParamByName('C').AsString:=ZJ;
Query2.Open;
Query3.Close;
Query3.SQL.Clear;
Query3.SQL.Add('Select Count(DisTinCt 房间台号),Sum(数量),Sum(合计) From 点菜历史信息表');
Query3.SQL.Add('Where 类型 = :C');
Query3.SQL.Add('and 结单日期 >= :A and 结单日期 <= :B');
Query3.ParamByName('A').AsDateTime:=DateTimePicker1.DateTime;
Query3.ParamByName('B').AsDateTime:=DateTimePicker2.DateTime;
Query3.ParamByName('C').AsString:=ZJ;
Query3.Open;
Label6.Caption:=Query3.Fields[0].AsString;
Label7.Caption:=Query3.Fields[1].AsString;
Label8.Caption:=Query3.Fields[2].AsString;
End
Else
begin
Query2.SQL.Add('Where 名称 = :C');
Query2.SQL.Add('and 结单日期 >= :A and 结单日期 <= :B');
Query2.SQL.Add('ORDER BY 结单日期 ASC');
Query2.ParamByName('A').AsDateTime:=DateTimePicker1.DateTime;
Query2.ParamByName('B').AsDateTime:=DateTimePicker2.DateTime;
Query2.ParamByName('C').AsString:=ZJ;
Query2.Open;
Query3.Close;
Query3.SQL.Clear;
Query3.SQL.Add('Select Count(DisTinCt 房间台号),Sum(数量),Sum(合计) From 点菜历史信息表');
Query3.SQL.Add('Where 名称 = :C');
Query3.SQL.Add('and 结单日期 >= :A and 结单日期 <= :B');
Query3.ParamByName('A').AsDateTime:=DateTimePicker1.DateTime;
Query3.ParamByName('B').AsDateTime:=DateTimePicker2.DateTime;
Query3.ParamByName('C').AsString:=ZJ;
Query3.Open;
Label6.Caption:=Query3.Fields[0].AsString;
Label7.Caption:=Query3.Fields[1].AsString;
Label8.Caption:=Query3.Fields[2].AsString;
end;
end;
//清空统计结果
procedure TSJFXT.BitBtn2Click(Sender: TObject);
begin
Query2.Close;
Label6.Caption:='0';
Label7.Caption:='0';
Label8.Caption:='0';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -