📄 mc_rjsgl.~pas
字号:
unit MC_RJSGL;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, Buttons, QuickRpt, Db, DBTables, Qrctrls, Grids,
DBGrids;
type
TRJSGL = class(TForm)
BitBtn1: TBitBtn;
Panel1: TPanel;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Panel2: TPanel;
Label1: TLabel;
Label2: TLabel;
Image1: TImage;
Image2: TImage;
QuickRep1: TQuickRep;
Query1: TQuery;
Query1BDEDesigner: TIntegerField;
Query1BDEDesigner2: TIntegerField;
Query1BDEDesigner3: TDateTimeField;
Query1BDEDesigner4: TFloatField;
Query1BDEDesigner5: TStringField;
Query1BDEDesigner6: TStringField;
Query1BDEDesigner7: TStringField;
PageHeaderBand1: TQRBand;
QRLabel1: TQRLabel;
TitleBand1: TQRBand;
QRLabel2: TQRLabel;
QRLabel3: TQRLabel;
QRLabel4: TQRLabel;
QRLabel5: TQRLabel;
QRLabel6: TQRLabel;
QRLabel7: TQRLabel;
QRShape1: TQRShape;
QRShape2: TQRShape;
QRShape3: TQRShape;
QRShape4: TQRShape;
QRShape5: TQRShape;
QRShape6: TQRShape;
DetailBand1: TQRBand;
QRShape7: TQRShape;
QRShape8: TQRShape;
QRShape9: TQRShape;
QRShape10: TQRShape;
QRShape11: TQRShape;
QRShape12: TQRShape;
QRDBText1: TQRDBText;
QRDBText2: TQRDBText;
QRDBText3: TQRDBText;
QRDBText4: TQRDBText;
QRDBText5: TQRDBText;
QRDBText6: TQRDBText;
QRLabel10: TQRLabel;
QRShape14: TQRShape;
Query2: TQuery;
QRShape15: TQRShape;
QRShape17: TQRShape;
QRLabel11: TQRLabel;
QRDBText7: TQRDBText;
SummaryBand1: TQRBand;
QRShape13: TQRShape;
QRLabel8: TQRLabel;
QRLabel9: TQRLabel;
QRExpr1: TQRExpr;
QRLabel12: TQRLabel;
QRExpr2: TQRExpr;
BitBtn4: TBitBtn;
QRSysData1: TQRSysData;
QRLabel13: TQRLabel;
QRLabel14: TQRLabel;
Query3: TQuery;
Query4: TQuery;
procedure BitBtn3Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure QuickRep1Preview(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
RJSGL: TRJSGL;
implementation
uses MC_DYYLBrose, MC_YYCXFX;
{$R *.DFM}
//系统初始化
procedure TRJSGL.FormShow(Sender: TObject);
begin
ANimateWindow(Handle,300,AW_SLIDE+AW_VER_POSITIVE);
Panel1.ReFresh;
Panel2.ReFresh;
Image1.ReFresh;
Image2.ReFresh;
end;
procedure TRJSGL.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
ANimateWindow(Handle,300,AW_SLIDE+AW_VER_NEGATIVE+AW_HIDE);
Query1.Close;
end;
procedure TRJSGL.QuickRep1Preview(Sender: TObject);
begin
DYYLBrose.QRPreview1.QRPrinter:=QuickRep1.QRPrinter;
end;
//打印当天单据
procedure TRJSGL.BitBtn2Click(Sender: TObject);
begin
DYYLBrose.Show;
QuickRep1.Preview;
end;
procedure TRJSGL.FormCreate(Sender: TObject);
begin
Query1.Open;
If Query1.RecordCount = 0 Then
begin
BitBtn1.Enabled:=False;
BitBtn2.Enabled:=False;
end;
end;
procedure TRJSGL.BitBtn1Click(Sender: TObject); //开始日结算
begin
if MessageDLg('确认结算当日数据吗?',mtCustom,[mbYes,mbNO],0)=mrYes then
begin
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('insert 月点菜信息表(房间台号,类别,编号,名称,类型,单位,数量,价格,合计,服务员编号,服务员姓名,状态,点单日期,结单日期,结帐编号,是否结单)');
Query2.SQL.Add('Select 房间台号,类别,编号,名称,类型,单位,数量,价格,合计,服务员编号,服务员姓名,状态,点单日期,结单日期,结帐编号,是否结单');
Query2.SQl.Add('From 日点菜信息表 Where 是否结单=''是'''); //将当日点菜信息保存到月点菜信息
Query2.ExecSQL;
Query3.Close;
Query3.SQL.Clear;
Query3.SQL.Add('Select DisTinct 名称,sum(数量) From 日点菜信息表 where 编号>=10000 and 编号<=20000 group by 名称');
Query3.Open;
QUERY3.First;
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('insert 统计表(商品编号,商品名称,库存数量)Select 酒水费用信息表.编号,库存信息表.商品名称,库存信息表.数量');
Query2.SQL.Add('From 库存信息表,酒水费用信息表 where 库存信息表.编号=酒水费用信息表.货存编号');
Query2.ExecSQL;
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('update 统计表 Set 日期=:A WHERE 日期 IS NULL'); //更新统计表日期字段空数据为当日日期
Query2.ParamByName('A').AsDateTime:=Date;
Query2.ExecSQL;
Query2.Close;
Query2.SQL.Clear;
While not Query3.Eof do
begin
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('Update 统计表 set 出库数量=出库数量+:A Where 商品名称=:B and 日期=:C'); //统计总出库数量
Query2.ParamByName('A').AsInteger:=Query3.Fields[1].AsInteger;
Query2.ParamByName('B').AsString:=Query3.FieldByName('名称').AsString;
Query2.ParamByName('C').AsDateTime:=Date;
Query2.ExecSQL;
Query3.Next;
end;
Query3.Close;
Query3.SQL.Clear;
Query3.SQL.Add('select * From 出货信息历史表 Where 出货日期=:A'); //选择当日出货信息
Query3.ParamByName('A').AsDateTime:=Date;
Query3.Open;
Query3.First;
While not Query3.Eof do
begin
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('Update 统计表 set 出库数量=出库数量+:A Where 日期=:C and 商品名称=:D'); //统计当日出库数量
Query2.ParamByName('A').AsInteger:=Query3.FieldByName('数量').AsInteger;
Query2.ParamByName('D').AsString:=Query3.FieldByName('商品名称').AsString;
Query2.ParamByName('C').AsDateTime:=Date;
Query2.ExecSQL;
Query3.Next;
end;
Query3.Close;
Query3.SQL.Clear;
Query3.SQL.Add('select * From 进货信息历史表 Where 进货日期=:A'); //选择当日进货信息
Query3.ParamByName('A').AsDateTime:=Date;
Query3.Open;
Query3.First;
While not Query3.Eof do
begin
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('Update 统计表 set 入库数量=入库数量+:A Where 日期=:C and 商品名称=:D'); //统计进货数量
Query2.ParamByName('A').AsInteger:=Query3.FieldByName('数量').AsInteger;
Query2.ParamByName('D').AsString:=Query3.FieldByName('商品名称').AsString;
Query2.ParamByName('C').AsDateTime:=Date;
Query2.ExecSQL;
Query3.Next;
end;
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('Delete 日点菜信息表'); //删除当日点菜信息
Query2.ExecSQL;
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('insert 月结算费用信息表(结帐编号,房间台号,日期,费用,结款人,结款方式,结款说明)');
Query2.SQL.Add('Select 结帐编号,房间台号,日期,费用,结款人,结款方式,结款说明 From 日结帐费用表');
Query2.ExecSQL; //将日结帐信息添加到月结账信息
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('Delete 日结帐费用表'); //删除日结帐费用信息
Query2.ExecSQL;
ShowMessage('结算完毕!!');
Close;
end;
end;
procedure TRJSGL.BitBtn4Click(Sender: TObject); //营业查询分析
begin
If Not Assigned(YYCXFX) Then
begin
YYCXFX:=TYYCXFX.Create(Self);
YYCXFX.ShowModal;
end;
end;
procedure TRJSGL.BitBtn3Click(Sender: TObject);
begin
Close;
end;
procedure TRJSGL.FormClose(Sender: TObject; var Action: TCloseAction);
begin
RJSGL.Release; //释放
RJSGL:=Nil;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -