mrp_qry_analyzermonthtotalmps.pas

来自「一个MRPII系统源代码版本」· PAS 代码 · 共 116 行

PAS
116
字号
unit Mrp_Qry_AnalyzerMonthTotalMps;

Interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base_Qry, Menus, ExtPrintReport, Db, ActnList, AdODB, Grids, DBGridEh,
  StdCtrls, ExtCtrls, ComCtrls, ToolWin, DBCtrls;

Type
  TFrm_Mrp_Qry_AnalyzerMonthTotalMps = Class(TFrm_Base_Qry)
    Label2: TLabel;
    DbTxt_ItemFlag: TDBText;
    procedure FormDestroy(Sender: TObject);
    procedure Act_LookExecute(Sender: TObject);
  private
    { Private declarations } 
    conditionHint1:String;
  public
    procedure InitForm(AdOConnection:TAdOConnection;ShowExtendColumn:Boolean);Override;
    procedure GetData; Override;
    procedure SetFormParam(FrmParam1,FrmParam2,FrmParam3,FrmParam4,
      FrmParam5,FrmParam6:String);Override;
    { Public declarations }
  end;

var
  Frm_Mrp_Qry_AnalyzerMonthTotalMps: TFrm_Mrp_Qry_AnalyzerMonthTotalMps;

implementation

uses Mrp_Qry_AnalyzerMonthTotalMps_C, Mrp_Qry_AnalyzerMonthTotalMps_D;


{$R *.DFM}

{ TFrm_Mrp_Qry_AnalyzerMonthTotalMps }

procedure TFrm_Mrp_Qry_AnalyzerMonthTotalMps.InitForm(AdOConnection: TAdOConnection; ShowExtendColumn: Boolean);
begin
  Inherited;
  Frm_Sys_Condition:= TFrm_Mrp_Qry_AnalyzerMonthTotalMps_C.Create(self);
  act_filter.Execute;
  Frm_Sys_Condition.Release;
  Frm_Sys_Condition:=nil;
end;

procedure TFrm_Mrp_Qry_AnalyzerMonthTotalMps.FormDestroy(Sender: TObject);
begin
  inherited;
  Frm_Mrp_Qry_AnalyzerMonthTotalMps:=nil;
end;

procedure TFrm_Mrp_Qry_AnalyzerMonthTotalMps.Act_LookExecute(
  Sender: TObject);
begin
  inherited;
  Frm_Mrp_Qry_AnalyzerMonthTotalMps_D:=TFrm_Mrp_Qry_AnalyzerMonthTotalMps_D.Create(Application);
  Frm_Mrp_Qry_AnalyzerMonthTotalMps_D.GetConnect(AdoQry_Main);
  Frm_Mrp_Qry_AnalyzerMonthTotalMps_D.ShowModal;
  Frm_Mrp_Qry_AnalyzerMonthTotalMps_D.Release;
end;

procedure TFrm_Mrp_Qry_AnalyzerMonthTotalMps.GetData;
var
  SqlText:string;
  I:Integer;
begin
  if condition='none' then
    exit;
  SqlText:='Select ';
  for i:=1 to 12 do
  begin
    SqlText:=SqlText+' #TmPmps.['+IntToStr(I)+'月需用量] As ['+IntToStr(I)+'月需用量] ,'
      +' #TmPmps.['+IntToStr(I)+'月完成量] As ['+IntToStr(I)+'月完成量] ,'
      +' #TmPmps.['+IntToStr(I)+'月完成率] As ['+IntToStr(I)+'月完成率] ,';
  end;
  SqlText:=SqlText+' #TmPmps.ItemCode,#TmPmps.MpsQty,#TmPmps.MpsFinishQty,#TmPmps.MpsQtyFinishQty,Item.ItemName,Uom.UomName,'
    +' Item.ItemCode+'''+' '+'''+Item.ItemName As ItemFlag '
    +' From #TmPmps '
    +' left Join Item On #TmPmps.ItemCode=Item.ItemCode '
    +' Left Join Uom On Item.UomCode=Uom.UomCode ';
  AdoQry_Main.Close;
  if Condition<>'' then
    AdoQry_Main.SQL.Text:=SqlText+' Where '+Condition
  else
    AdoQry_Main.SQL.Text:=SqlText;
  AdoQry_Main.Open;
  For I:=0 To AdoQry_Main.FieldCount -1 Do
  begin
    If AdoQry_Main.Fields[I].DataType=FtFloat Then
       Tfloatfield(AdoQry_Main.Fields[I]).DisplayFormat:='#,##0';
    If UpperCase(AdoQry_Main.Fields[I].DisplayName)=UpperCase('ItemName') Then
      AdoQry_Main.Fields[I].Origin:='Item'
    Else If UpperCase(AdoQry_Main.Fields[I].DisplayName)=UpperCase('UomName') Then
      AdoQry_Main.Fields[I].Origin:='Uom'
    Else If UpperCase(AdoQry_Main.Fields[I].DisplayName)=UpperCase('ItemFlag') Then
      AdoQry_Main.Fields[I].Origin:=''
    Else
      AdoQry_Main.Fields[I].Origin:='#TmPmps';
  end;
  Lbl_Condition.Caption := conditionHint1+'/'+Lbl_Condition.Caption;
end;

procedure TFrm_Mrp_Qry_AnalyzerMonthTotalMps.SetFormParam(FrmParam1,
  FrmParam2, FrmParam3, FrmParam4, FrmParam5, FrmParam6: String);
begin
  inherited;
  conditionHint1:=FrmParam1;
end;

end.



⌨️ 快捷键说明

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