f_xsfx.pas

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

PAS
175
字号
unit f_xsfx;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids, Db, DBTables, Mask,
  DBCtrls, ADODB, TeEngine, Series, TeeProcs, Chart, DbChart, MXTABLES,
  Mxstore, MXDB, MXGRAPH, DBGridEh;

type
  Tdfmxsfx = class(TForm)
    StatusBar1: TStatusBar;
    Panel2: TPanel;
    quitbtn: TBitBtn;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    ADOQuery1: TADOQuery;
    Label1: TLabel;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    DataSource1: TDataSource;
    ADOQuery2: TADOQuery;
    Label4: TLabel;
    Label5: TLabel;
    DBChart1: TDBChart;
    Series1: TPieSeries;
    DataSource2: TDataSource;
    TabSheet3: TTabSheet;
    DBChart2: TDBChart;
    Series2: TLineSeries;
    ADOQuery3: TADOQuery;
    DataSource3: TDataSource;
    ADOQuery1bmh: TWideStringField;
    ADOQuery1clabel: TWideStringField;
    ADOQuery1flh: TWideStringField;
    ADOQuery1esl: TFloatField;
    ADOQuery1esjje: TFloatField;
    ComboBox2: TComboBox;
    ComboBox1: TComboBox;
    ADOTable1: TADOTable;
    ADOTable2: TADOTable;
    DBGridEh1: TDBGridEh;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure quitbtnClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure DBGrid1Exit(Sender: TObject);
    procedure DBGridEh1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
    procedure DBGridEh1TitleClick(Column: TColumnEh);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  dfmxsfx: Tdfmxsfx;

implementation

uses dbmRainbowMis, chHeadUnit;

{$R *.DFM}

procedure Tdfmxsfx.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  adotable1.close;
  adotable2.close;
  action:=cafree;
end;

procedure Tdfmxsfx.quitbtnClick(Sender: TObject);
var
  fstr:String;
  fstr2,fstr3:string;
begin
  fstr:='SELECT t_saledet.bmh, t_saledet.clabel, t_ware.flh,sum(t_saledet.sl) as esl, sum(t_saledet.sjje) as esjje FROM t_saledet,t_ware'
       +' WHERE t_saledet.clabel=t_ware.clabel and t_saledet.spbh=t_ware.spbh and t_saledet.bmh like ''%s'' AND (t_saledet.clabel) like ''%s'' and (t_ware.flh) like ''%s'' AND ([t_saledet.rq])>=#%s# and ([t_saledet.rq])<=#%s#'
       +' group by t_saledet.bmh, t_ware.flh, t_saledet.clabel';
  with ADOQuery1 do
  begin
    close;
    sql.Clear ;
    sql.Add(Format(fstr,[chHeadUnit.getbmh(ComboBox1.text)+'%',trim(ComboBox2.text)+'%',trim(edit1.text)+'%',datetostr(DateTimePicker1.Date),datetostr(DateTimePicker2.Date)]));
    Prepared;
    open;
  end;

  fstr2:='SELECT t_ware.flh,sum(t_saledet.sl) as esl, sum(t_saledet.sjje) as esjje FROM t_saledet,t_ware'
       +' WHERE t_saledet.clabel=t_ware.clabel and t_saledet.spbh=t_ware.spbh and t_saledet.bmh like ''%s'' AND (t_saledet.clabel) like ''%s'' AND ([t_saledet.rq])>=#%s# and ([t_saledet.rq])<=#%s#'
       +' group by t_ware.flh';
  with ADOQuery2 do
  begin
    close;
    sql.Clear ;
    sql.Add(Format(fstr2,[chHeadUnit.getbmh(ComboBox1.text)+'%',trim(ComboBox2.text)+'%',datetostr(DateTimePicker1.Date),datetostr(DateTimePicker2.Date)]));
    Prepared;
    open;
  end;

  fstr3:='SELECT t_saledet.rq,sum(t_saledet.sl) as esl, sum(t_saledet.sjje) as esjje FROM t_saledet,t_ware'
       +' WHERE t_saledet.clabel=t_ware.clabel and t_saledet.spbh=t_ware.spbh and t_saledet.bmh like ''%s'' AND (t_saledet.clabel) like ''%s'' AND ([t_saledet.rq])>=#%s# and ([t_saledet.rq])<=#%s#'
       +' group by t_saledet.rq';
  with ADOQuery3 do
  begin
    close;
    sql.Clear ;
    sql.Add(Format(fstr3,[chHeadUnit.getbmh(ComboBox1.text)+'%',trim(ComboBox2.text)+'%',datetostr(DateTimePicker1.Date),datetostr(DateTimePicker2.Date)]));
    Prepared;
    open;
  end;
end;

procedure Tdfmxsfx.FormCreate(Sender: TObject);
begin
  adotable1.Open;
  adotable2.Open;
  DateTimePicker1.Date:=date();
  DateTimePicker2.Date:=date();
  chHeadUnit.combolist(combobox1,adotable1,'bmh','bmmc',2);
  chHeadUnit.combolist(combobox2,adotable2,'clabel','cfactory',1);
  combobox1.Text:=dmRainbowMIS.atbldefault['cbmh'];
  combobox2.Text:=dmRainbowMIS.atbldefault['clabel'];
end;

procedure Tdfmxsfx.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
var 
  ARect: Trect; 
  temp: integer; 
begin 
  inherited; 
  ARect := Rect; 
  temp := (sender as Tdbgrid).datasource.dataset.recno; 
  with (sender as Tdbgrid) do 
    if (DataCol = 0) then 
      DrawText(Canvas.Handle, PChar(inttostr(temp)), Length(inttostr(temp)), ARect, DT_SINGLELINE or DT_VCENTER or DT_NOPREFIX)
end;

procedure Tdfmxsfx.DBGrid1Exit(Sender: TObject);
begin
  i:=1;
end;

procedure Tdfmxsfx.DBGridEh1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumnEh;
  State: TGridDrawState);
var
  ARect: Trect;
  temp: integer;  
begin
  inherited; 
  ARect := Rect; 
  temp := (sender as TDBGridEh).datasource.dataset.recno;
  with (sender as TDBGridEh) do 
    if (DataCol = 0) then 
      DrawText(Canvas.Handle, PChar(inttostr(temp)), Length(inttostr(temp)), ARect, DT_SINGLELINE or DT_VCENTER or DT_NOPREFIX)
end;


procedure Tdfmxsfx.DBGridEh1TitleClick(Column: TColumnEh);
begin
  chHeadUnit.ehtitclick(column); 
end;

end.

⌨️ 快捷键说明

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