dfm_xscx.pas

来自「仓库管理系统 仓库管理系统」· PAS 代码 · 共 345 行

PAS
345
字号
unit dfm_xscx;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, DBGrids, ComCtrls, DBCtrls, StdCtrls, Buttons, ExtCtrls, DBTables,
  Db, ppModule, daDatMod, ppCtrls, ppVar, ppBands, ppClass, ppPrnabl, ppDB,
  ppProd, ppReport, ppComm, ppRelatv, ppCache, ppDBPipe, ppDBBDE, Mask;

type
  Tdfmxsfx = class(TForm)
    StatusBar1: TStatusBar;
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    BitBtn1: TBitBtn;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    Panel2: TPanel;
    Panel3: TPanel;
    DBGrid1: TDBGrid;
    dstposloca: TDataSource;
    tbltposloca: TTable;
    dstposplu: TDataSource;
    qrytpossale: TQuery;
    dsqrysale: TDataSource;
    RadioGroup1: TRadioGroup;
    BitBtn2: TBitBtn;
    ppBDEPipeline1: TppBDEPipeline;
    ppReport1: TppReport;
    ppHeaderBand1: TppHeaderBand;
    ppDetailBand1: TppDetailBand;
    ppLabel1: TppLabel;
    ppGroup1: TppGroup;
    ppGroupHeaderBand1: TppGroupHeaderBand;
    ppGroupFooterBand1: TppGroupFooterBand;
    ppGroup2: TppGroup;
    ppGroupHeaderBand2: TppGroupHeaderBand;
    ppGroupFooterBand2: TppGroupFooterBand;
    ppDBText1: TppDBText;
    ppDBText2: TppDBText;
    ppDBText3: TppDBText;
    ppDBCalc1: TppDBCalc;
    ppDBCalc2: TppDBCalc;
    ppDBCalc3: TppDBCalc;
    ppDBCalc4: TppDBCalc;
    ppLabel2: TppLabel;
    ppLabel3: TppLabel;
    ppLabel4: TppLabel;
    ppDBText4: TppDBText;
    ppLabel5: TppLabel;
    ppLabel6: TppLabel;
    ppDBText5: TppDBText;
    ppLabel7: TppLabel;
    ppLabel8: TppLabel;
    ppLabel9: TppLabel;
    ppLabel10: TppLabel;
    ppLabel11: TppLabel;
    ppLabel12: TppLabel;
    ppLabel13: TppLabel;
    ppSummaryBand1: TppSummaryBand;
    ppLabel14: TppLabel;
    ppLabel15: TppLabel;
    ppDBCalc5: TppDBCalc;
    ppDBCalc6: TppDBCalc;
    ppLine1: TppLine;
    ppLabel17: TppLabel;
    ppDBText6: TppDBText;
    ppLine2: TppLine;
    ppSystemVariable2: TppSystemVariable;
    ppSystemVariable3: TppSystemVariable;
    ppLabel18: TppLabel;
    ppLabel19: TppLabel;
    ppLabel20: TppLabel;
    ppLabel21: TppLabel;
    ppLine3: TppLine;
    ppLabel22: TppLabel;
    ppVariable1: TppVariable;
    ppVariable2: TppVariable;
    ppLabel23: TppLabel;
    ppVariable3: TppVariable;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    tbltposplu: TTable;
    dssumsale: TDataSource;
    sumsale: TQuery;
    DBEdit1: TDBEdit;
    Label5: TLabel;
    Label6: TLabel;
    DBEdit2: TDBEdit;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure totalnum;
    procedure iaskufind;
    procedure iaqtyfind;
    procedure isasal;
    procedure inormal;
    procedure iadatefind;
    procedure BitBtn1Click(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
    procedure ppVariable1Calc(Sender: TObject; var Value: Variant);
    procedure ppVariable2Calc(Sender: TObject; var Value: Variant);
    procedure ppVariable3Calc(Sender: TObject; var Value: Variant);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
//    procedure qrytpossaleCalcFields(DataSet: TDataSet);
//    procedure qrytpossaleAfterOpen(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  dfmxsfx: Tdfmxsfx;

implementation

uses dfm_xsqxfx;

{$R *.DFM}

procedure Tdfmxsfx.totalnum;
begin
  with sumsale do
  begin
    close;
    SQL.clear;
    SQL.add('SELECT SUM( SASAL ) tsasal, SUM( SAQTY ) tsaqty FROM dbo.t_possale Dbo_t_possale');
    SQL.Add('where SASTOR like :vsastor and sasku like :viasku and sadate>=:vsdate and sadate<=:vedate');
//    SQL.Add('group by all');
    ParamByName ('vsastor').asstring:=trim(combobox1.text)+'%';
    ParamByName ('viasku').asstring:=trim(combobox2.text)+'%';
    ParamByName ('vsdate').asdate :=DateTimePicker1.date;
    ParamByName ('vedate').asdate :=DateTimePicker2.date;
    open;
  end;
end;

procedure Tdfmxsfx.inormal;
begin
  qrytpossale.close;
  qrytpossale.SQL.clear;
  qrytpossale.SQL.add('SELECT SASTOR, SADATE, SASKU, SASAL, SASTYL, SACOLR,SASIZE, SAQTY, SALPRC FROM dbo.t_possale Dbo_t_possale');
  qrytpossale.SQL.Add('where SASTOR like :vsastor and sasku like :viasku and sadate>=:vsdate and sadate<=:vedate');
  qrytpossale.ParamByName ('vsastor').asstring:=trim(combobox1.text)+'%';
  qrytpossale.ParamByName ('viasku').asstring:=trim(combobox2.text)+'%';
  qrytpossale.ParamByName ('vsdate').asdate :=DateTimePicker1.date;
  qrytpossale.ParamByName ('vedate').asdate :=DateTimePicker2.date;
  qrytpossale.open;
end;

procedure Tdfmxsfx.iadatefind;
begin
  qrytpossale.close;
  qrytpossale.SQL.clear;
  qrytpossale.SQL.add('SELECT SASTOR, SADATE, SASKU, SASAL, SASTYL, SACOLR,SASIZE, SAQTY, SALPRC FROM dbo.t_possale Dbo_t_possale');
  qrytpossale.SQL.Add('where SASTOR like :vsastor and sasku like :viasku and sadate>=:vsdate and sadate<=:vedate');
  qrytpossale.SQL.Add('order by sadate');
  qrytpossale.ParamByName ('vsastor').asstring:=trim(combobox1.text)+'%';
  qrytpossale.ParamByName ('viasku').asstring:=trim(combobox2.text)+'%';
  qrytpossale.ParamByName ('vsdate').asdate :=DateTimePicker1.date;
  qrytpossale.ParamByName ('vedate').asdate :=DateTimePicker2.date;
  qrytpossale.open;
end;

procedure Tdfmxsfx.iaskufind;
begin
  qrytpossale.close;
  qrytpossale.SQL.clear;
  qrytpossale.SQL.add('SELECT SASTOR, SADATE, SASKU, SASAL, SASTYL, SACOLR,SASIZE, SAQTY, SALPRC FROM dbo.t_possale Dbo_t_possale');
  qrytpossale.SQL.Add('where SASTOR like :vsastor and sasku like :viasku and sadate>=:vsdate and sadate<=:vedate');
  qrytpossale.SQL.Add('order by sasku');
  qrytpossale.ParamByName ('vsastor').asstring:=trim(combobox1.text)+'%';
  qrytpossale.ParamByName ('viasku').asstring:=trim(combobox2.text)+'%';
  qrytpossale.ParamByName ('vsdate').asdate :=DateTimePicker1.date;
  qrytpossale.ParamByName ('vedate').asdate :=DateTimePicker2.date;
  qrytpossale.open;
end;

procedure Tdfmxsfx.iaqtyfind;
begin
  qrytpossale.close;
  qrytpossale.SQL.clear;
  qrytpossale.SQL.add('SELECT SASTOR, SADATE, SASKU, SASAL, SASTYL, SACOLR,SASIZE, SAQTY, SALPRC FROM dbo.t_possale Dbo_t_possale');
  qrytpossale.SQL.Add('where SASTOR like :vsastor and sasku like :viasku and sadate>=:vsdate and sadate<=:vedate');
  qrytpossale.SQL.Add('order by -saqty');
  qrytpossale.ParamByName ('vsastor').asstring:=trim(combobox1.text)+'%';
  qrytpossale.ParamByName ('viasku').asstring:=trim(combobox2.text)+'%';
  qrytpossale.ParamByName ('vsdate').asdate :=DateTimePicker1.date;
  qrytpossale.ParamByName ('vedate').asdate :=DateTimePicker2.date;
  qrytpossale.open;
end;

procedure Tdfmxsfx.isasal;
begin
  qrytpossale.close;
  qrytpossale.SQL.clear;
  qrytpossale.SQL.add('SELECT SASTOR, SADATE, SASKU, SASAL, SASTYL, SACOLR,SASIZE, SAQTY, SALPRC FROM dbo.t_possale Dbo_t_possale');
  qrytpossale.SQL.Add('where SASTOR like :vsastor and sasku like :viasku and sadate>=:vsdate and sadate<=:vedate');
  qrytpossale.SQL.Add('order by -SASAL');
  qrytpossale.ParamByName ('vsastor').asstring:=trim(combobox1.text)+'%';
  qrytpossale.ParamByName ('viasku').asstring:=trim(combobox2.text)+'%';
  qrytpossale.ParamByName ('vsdate').asdate :=DateTimePicker1.date;
  qrytpossale.ParamByName ('vedate').asdate :=DateTimePicker2.date;
  qrytpossale.open;
end;

procedure Tdfmxsfx.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  tbltposloca.active:=false;
  tbltposplu.active:=false;
  action:=cafree;
end;

procedure Tdfmxsfx.BitBtn1Click(Sender: TObject);
begin
  with radiogroup1 do
  begin
    case itemindex of
      0:begin
          iadatefind;
          totalnum;
        end;
      1:begin
          iaskufind;
          totalnum;
        end;
      2:begin
          iaqtyfind;
          totalnum;
        end;
      3:begin
          isasal;
          totalnum;
        end;
    else
      inormal;
      totalnum;
    end;
  end;
end;

procedure Tdfmxsfx.RadioGroup1Click(Sender: TObject);
begin
  with radiogroup1 do
  begin
    case itemindex of
      0:begin
          iadatefind;
          totalnum;
        end;
      1:begin
          iaskufind;
          totalnum;
        end;
      2:begin
          iaqtyfind;
          totalnum;
        end;
      3:begin
          isasal;
          totalnum;
        end;
    else
      inormal;
      totalnum;
    end;
  end;
end;

procedure Tdfmxsfx.ppVariable1Calc(Sender: TObject; var Value: Variant);
begin
  value:=combobox1.text;
end;

procedure Tdfmxsfx.ppVariable2Calc(Sender: TObject; var Value: Variant);
begin
  value:=datetostr(DateTimePicker1.date);
end;

procedure Tdfmxsfx.ppVariable3Calc(Sender: TObject; var Value: Variant);
begin
  value:=datetostr(DateTimePicker2.date);
end;

procedure Tdfmxsfx.BitBtn2Click(Sender: TObject);
begin
  ppReport1.Print;  
end;

procedure Tdfmxsfx.BitBtn3Click(Sender: TObject);
begin
  If  Application.FindComponent('dfmxsqxfx')=Nil Then
    dfmxsqxfx:=Tdfmxsqxfx.Create(Application);
  dfmxsqxfx.Show;
end;

procedure Tdfmxsfx.FormCreate(Sender: TObject);
begin
  tbltposloca.active:=true;
  tbltposplu.active:=true;
  while not tbltposloca.Eof do begin
    ComboBox1.Items.Add(tbltposloca.FieldByName('lcstor').AsString);
    tbltposloca.Next;
  end;
  while not tbltposplu.Eof do begin
    ComboBox2.Items.Add(tbltposplu.FieldByName('lusku').AsString);
    tbltposplu.Next;
  end;
end;

{procedure Tdfmxsfx.qrytpossaleCalcFields(DataSet: TDataSet);
var
  Goodsgold:Integer;
  i:integer;
begin
  Goodsgold:=qrytpossale.fieldbyname('saqty').asinteger;
  i:=i+Goodsgold;
  edit1.Text:=inttostr(i);
  //formatfloat('0.00',i);
end;}

{procedure Tdfmxsfx.qrytpossaleAfterOpen(DataSet: TDataSet);
var
  Goodsgold:Integer;
  i:integer;
begin
  Goodsgold:=qrytpossale.fieldbyname('saqty').asinteger;
  i:=i+Goodsgold;
  edit1.Text:=inttostr(i);
  //formatfloat('0.00',i);
end;}
procedure Tdfmxsfx.FormShow(Sender: TObject);
begin
  DateTimePicker1.DateTime:=date();
  DateTimePicker2.DateTime:=date();
end;

end.

⌨️ 快捷键说明

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