xmflbgrep.pas

来自「日昌餐饮管理系统是用Delphi7+SQL写的管理系统」· PAS 代码 · 共 175 行

PAS
175
字号
unit xmflbgrep;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, Grids, DBGrids, ADODB, StdCtrls, Buttons, ExtCtrls, ComCtrls,
  QuickRpt, QRCtrls;

type
  TxmflFrm = class(TForm)
    DetailDS: TDataSource;
    Shape1: TShape;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    Label1: TLabel;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    Label2: TLabel;
    DateTimePicker3: TDateTimePicker;
    DateTimePicker4: TDateTimePicker;
    Panel1: TPanel;
    QuickRep1: TQuickRep;
    PageHeaderBand1: TQRBand;
    ColumnHeaderBand1: TQRBand;
    DetailBand1: TQRBand;
    QRLabel1: TQRLabel;
    QRLabel3: TQRLabel;
    QRLabel4: TQRLabel;
    QRLabel5: TQRLabel;
    QRLabel6: TQRLabel;
    QRLabel7: TQRLabel;
    QRLabel8: TQRLabel;
    QRLabel9: TQRLabel;
    QRLabel10: TQRLabel;
    QRLabel11: TQRLabel;
    QRLabel12: TQRLabel;
    QRLabel25: TQRLabel;
    QRLabel26: TQRLabel;
    QRLabel29: TQRLabel;
    QRDBText1: TQRDBText;
    QRSysData1: TQRSysData;
    DetailDtSt: TADODataSet;
    mainDtSt: TADODataSet;
    mainDS: TDataSource;
    mainDtStlb: TStringField;
    mainDtStDSDesigner: TStringField;
    DetailDtStlb: TStringField;
    DetailDtStbh: TStringField;
    DetailDtStDSDesigner4: TBCDField;
    DetailDtStDSDesigner5: TIntegerField;
    DetailDtStDSDesigner6: TIntegerField;
    DetailDtStDSDesigner7: TIntegerField;
    DetailDtStDSDesigner8: TIntegerField;
    QRDBText2: TQRDBText;
    QRSubDetail1: TQRSubDetail;
    QRDBText21: TQRDBText;
    QRShape1: TQRShape;
    DetailDtStDSDesigner9: TStringField;
    QRDBText22: TQRDBText;
    QRDBText3: TQRDBText;
    QRDBText4: TQRDBText;
    QRDBText5: TQRDBText;
    QRDBText6: TQRDBText;
    QRDBText7: TQRDBText;
    QRDBText8: TQRDBText;
    QRDBText9: TQRDBText;
    QRDBText10: TQRDBText;
    QRSysData2: TQRSysData;
    Panel2: TPanel;
    DBGrid2: TDBGrid;
    DBGrid1: TDBGrid;
    Splitter1: TSplitter;
    QRShape2: TQRShape;
    QRBand1: TQRBand;
    QRShape3: TQRShape;
    QRLabel2: TQRLabel;
    QRExpr1: TQRExpr;
    QRExpr2: TQRExpr;
    QRExpr3: TQRExpr;
    QRExpr4: TQRExpr;
    SummaryBand1: TQRBand;
    QRLabel13: TQRLabel;
    QRShape4: TQRShape;
    QRExpr5: TQRExpr;
    QRExpr6: TQRExpr;
    QRLabel14: TQRLabel;
    QRExpr7: TQRExpr;
    QRExpr8: TQRExpr;
    QRExpr9: TQRExpr;
    DetailDtStDSDesigner: TBCDField;
    DetailDtStDSDesigner2: TBCDField;
    DetailDtStDSDesigner3: TBCDField;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure QRLabel29Print(sender: TObject; var Value: String);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  xmflFrm: TxmflFrm;

implementation
uses rjsmain;
{$R *.dfm}

procedure TxmflFrm.BitBtn1Click(Sender: TObject);
begin
  screen.Cursor := crHourGlass;
  try

  DateTimePicker1.Time := DateTimePicker2.Time;
  DateTimePicker3.Time := DateTimePicker4.Time;
  mainDtSt.active := false;
  mainDtSt.Parameters.ParamByName('ksrqcs').Value := DateTimePicker1.DateTime;
  mainDtSt.Parameters.ParamByName('jzrqcs').Value := DateTimePicker3.DateTime;
  mainDtSt.active := true;

  detailDtSt.active := false;
  detailDtSt.CommandText := 'Select lb,bh,';
  detailDtSt.CommandText := detailDtSt.CommandText+'"项目名称"=(Select mc from cdwj where bh=a.bh),';
  detailDtSt.CommandText := detailDtSt.CommandText+'"堂吃数量" =(Select sum(sl) from dcd where bh=a.bh and wmbz=0 and zfbz=0),';
  detailDtSt.CommandText := detailDtSt.CommandText+'"外买数量" =(Select sum(sl) from dcd where bh=a.bh and wmbz=1 and zfbz=0),';
  detailDtSt.CommandText := detailDtSt.CommandText+'"总数"=(Select sum(sl) from dcd where bh=a.bh and zfbz=0),';
  detailDtSt.CommandText := detailDtSt.CommandText+'"销售额"=(Select sum(je) from dcd where bh=a.bh and zfbz=0),';
  detailDtSt.CommandText := detailDtSt.CommandText+'"销售%"=0,"单位成本"=0,"成本"=0,"占总成本"=0 from dcd a ';
  detailDtSt.CommandText := detailDtSt.CommandText+'where lb is not Null and bh is not Null and rq between '+''''+datetimetostr(DateTimePicker1.datetime)+''''+' and '+''''+datetimetostr(DateTimePicker3.datetime)+'''';
  detailDtSt.CommandText := detailDtSt.CommandText+'group by lb,bh';
  detailDtSt.active := true;

  finally
    screen.Cursor := crDefault;
  end;
end;

procedure TxmflFrm.BitBtn2Click(Sender: TObject);
begin
  if (not MainDtSt.Active)or(MainDtSt.IsEmpty) then
    Exit;

     messagedlg('请插入A4纸,设定打印机,纸张为“横向”输出!',mtinformation,[mbok],0);
     quickrep1.Preview;
end;

procedure TxmflFrm.BitBtn3Click(Sender: TObject);
begin
     close;
end;

procedure TxmflFrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if MainDtSt.Active then
    MainDtSt.Active := false;
end;

procedure TxmflFrm.QRLabel29Print(sender: TObject; var Value: String);
begin
  Value := '时段'+datetimetostr(DateTimePicker1.DateTime)+'至'+datetimetostr(datetimepicker3.DateTime);
end;

procedure TxmflFrm.FormActivate(Sender: TObject);
begin
     datetimepicker1.Date:=date;
     datetimepicker3.Date:=date;
end;

end.

⌨️ 快捷键说明

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