⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mrp_qry_graphanalyzercapacity_new.pas

📁 一个MRPII系统源代码版本
💻 PAS
字号:
unit Mrp_Qry_GraphAnalyzerCapacity_New;

Interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base_Entry_Head, Menus, Db, ActnList, AdODB, Grids, DBGridEh, StdCtrls,
  ExtCtrls, ComCtrls, ToolWin, TeEngine, Series, TeeProcs, ChArt, DBChArt,
  QrTee, QuickRpt, OleCtrls, chArtfx3, DBCtrls, OleServer, Excel97,
  TeeFunci;

Type
  TFrm_Mrp_Qry_GraphAnalyzerCapacity_New = Class(TFrm_Base_Entry_Head)
    Panel1: TPanel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label3: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label11: TLabel;
    Label10: TLabel;
    rep1: TMenuItem;
    PopuPmenu2: TPopuPmenu;
    Label1: TLabel;
    Label2: TLabel;
    First: TMenuItem;
    DBChArt1: TDBChArt;
    Label5: TLabel;
    Series1: TBarSeries;
    Series2: TBarSeries;
    Series3: TBarSeries;
    Series4: TLineSeries;
    Label4: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    n99: TMenuItem;
    Series5: TFastLineSeries;
    TeeFunction1: TAddTeeFunction;
    procedure FormDestroy(Sender: TObject);
    procedure HideColumnClick(Sender: TObject);
    procedure rep1Click(Sender: TObject);
    procedure FirstClick(Sender: TObject);
    procedure DBChArt1ClickSeries(Sender: TCustomChArt;
      Series: TChArtSeries; ValueIndex: Integer; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure DBChArt1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure n99Click(Sender: TObject);
  private
    Totalpage:string;
    ShowPanel:TPanel;
    ShowAnimate:TAnimate;
    procedure CreatePanel;
    procedure initdbchArt(dateType:string);
    procedure initpopuPmenu;
    procedure popuPmenuclick(Sender: TObject);
    { Private declarations }
  public
    procedure setconditionHint(lbl:Tlabel;cAp:string);
    procedure InitForm(AdOConnection:TAdOConnection;ShowExtendColumn:Boolean);Override;
   { Public declarations }
  end;

var
  Frm_Mrp_Qry_GraphAnalyzerCapacity_New: TFrm_Mrp_Qry_GraphAnalyzerCapacity_New;
  wcCodecondition,MpsTypeCondition,DateTypeCondition,stArtdate,timesection
  ,datefm,dateto,aCapacityhours:string;

implementation

uses Sys_Global,Mrp_Qry_GraphAnalyzerCapacity_H_New, Mrp_Qry_GraphAnalyzerCapacity_D_New;

{$R *.DFM}

{ TFrm_Mrp_Qry_GraphAnalyzerCapacity }

procedure TFrm_Mrp_Qry_GraphAnalyzerCapacity_New.InitForm(
  AdOConnection: TAdOConnection; ShowExtendColumn: Boolean);
var ModateCondition1,ModateCondition2,sqltext1,sqltext2,sqltext3,convertType:string;
begin
  inherited;
  wcCodecondition:=Frm_Mrp_Qry_GraphAnalyzerCapacity_H_New.AdoQry_Head.fieldbyname('ItemCode').asstring;
  MpsTypecondition:=Frm_Mrp_Qry_GraphAnalyzerCapacity_H_New.AdoQry_Head.fieldbyname('MpsType').asstring;
  dateTypecondition:=Frm_Mrp_Qry_GraphAnalyzerCapacity_H_New.AdoQry_Head.fieldbyname('dateType').asstring;
  stArtdate:=copy(Frm_Mrp_Qry_GraphAnalyzerCapacity_H_New.AdoQry_Head.fieldbyname('modate').asstring,1,10);
  aCapacityhours:=Frm_Mrp_Qry_GraphAnalyzerCapacity_H_New.AdoQry_Head.fieldbyname('Capacityhours').asstring;
  if aCapacityhours='' then aCapacityhours:='0';
  initdbchArt(dateTypecondition);
//  initpopuPmenu;
end;


procedure TFrm_Mrp_Qry_GraphAnalyzerCapacity_New.setconditionHint(lbl: Tlabel;
  cAp: string);
begin
  lbl.Caption:=cAp;
end;

procedure TFrm_Mrp_Qry_GraphAnalyzerCapacity_New.FormDestroy(Sender: TObject);
begin
  inherited;
  Frm_Mrp_Qry_GraphAnalyzeRCapacity_New:=NIL;
end;
procedure TFrm_Mrp_Qry_GraphAnalyzerCapacity_New.initdbchArt(dateType:string);
var
  sqltext:string;
begin
  sqltext:='exec sp_Capacityweek_New '''+MpsTypecondition+''' '+
           ','''+stArtdate+''','''+dateType+''','''+wcCodecondition+''' '+
           ','''+aCapacityhours+''' ';
  with AdoQry_Head do
  begin
    Close;
    sql.clear;
    sql.Add(sqltext);
    CreatePanel;
    open;
    if ShowAnimate<>nil then ShowAnimate.Free;
    if ShowPanel<>nil then ShowPanel.Free;
    DBChArt1.Refresh;
    if AdoQry_Head.IsEmpty then
    begin
      DispInfo('无当前工作中心能力需求相关数据!',3);
      self.Close;
    end;
  end;
  if AdoQry_Head.RecordCount=23 then
    Totalpage:='/'+inttostr(AdoQry_Head.RecordCount div 23)
  else
    Totalpage:='/'+inttostr(AdoQry_Head.RecordCount div 23+1);
  Label19.Caption:=inttostr(DBChArt1.page)+Totalpage;
end;
procedure TFrm_Mrp_Qry_GraphAnalyzerCapacity_New.initpopuPmenu;
var
  i,q:integer;
  MyItem: Array of TMenuItem;
  pulldown,Item:TMenuItem;
begin
  if not AdoQry_Head.IsEmpty then
  begin
    setlength(MyItem,AdoQry_Head.RecordCount+4);
    AdoQry_Head.First;
    for i:=0 to AdoQry_Head.RecordCount-1 do
    begin
      MyItem[i] := TMenuItem.Create(self);
      MyItem[i].Caption :=AdoQry_Head.fieldbyname('amodate').asstring;
      MyItem[i].Name :='n'+inttostr(i);
      myItem[i].OnClick:=popuPmenuclick;
      PopuPmenu2.Items.Add(MyItem[i]);
      AdoQry_Head.next;
    end;
    q:=AdoQry_Head.RecordCount;
    MyItem[q] := TMenuItem.Create(self);
    MyItem[q].Caption :='-';
    MyItem[q].Name :='n'+inttostr(q);
    PopuPmenu2.Items.Add(MyItem[q]);
    MyItem[q+1] := TMenuItem.Create(self);
    MyItem[q+1].Caption :='上一页';
    MyItem[q+1].Name :='n'+inttostr(q+1);
    myItem[q+1].OnClick:=FirstClick;
    PopuPmenu2.Items.Add(MyItem[q+1]);
    MyItem[q+2] := TMenuItem.Create(self);
    MyItem[q+2].Caption :='下一页';
    MyItem[q+2].Name :='n'+inttostr(q+2);
    myItem[q+2].OnClick:=HideColumnClick;
    PopuPmenu2.Items.Add(MyItem[q+2]);
    MyItem[q+3] := TMenuItem.Create(self);
    MyItem[q+3].Caption :='返回首页';
    MyItem[q+3].Name :='n'+inttostr(q+3);
    myItem[q+3].OnClick:=rep1Click;
    PopuPmenu2.Items.Add(MyItem[q+3]);
  end;
end;
procedure TFrm_Mrp_Qry_GraphAnalyzerCapacity_New.HideColumnClick(
  Sender: TObject);
begin
  DBChArt1.NextPage;
  Label19.Caption:=inttostr(DBChArt1.page)+Totalpage;
end;

procedure TFrm_Mrp_Qry_GraphAnalyzerCapacity_New.rep1Click(Sender: TObject);
begin
  DBChArt1.Page:=0;
  Label19.Caption:=inttostr(DBChArt1.page)+Totalpage;
end;
procedure TFrm_Mrp_Qry_GraphAnalyzerCapacity_New.popuPmenuclick(Sender: TObject);
begin
  if dateTypecondition='日' then
  begin
    datefm:=copy(datetostr(now()),1,4)+'.'+TMenuItem(sender).Caption;
    dateto:=copy(datetostr(now()),1,4)+'.'+TMenuItem(sender).Caption;
  end else
  begin
    datefm:=copy(datetostr(now()),1,4)+'.'+copy(TMenuItem(sender).Caption,1,5);
    dateto:=copy(datetostr(now()),1,4)+'.'+copy(TMenuItem(sender).Caption,8,5);
  end;
  Frm_Mrp_Qry_GraphAnalyzerCapacity_D_New:=TFrm_Mrp_Qry_GraphAnalyzerCapacity_D_New.Create(Self);
  Frm_Mrp_Qry_GraphAnalyzerCapacity_D_New.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
  Frm_Mrp_Qry_GraphAnalyzerCapacity_D_New.InitForm(AdoQry_Head.Connection,True);
end;

procedure TFrm_Mrp_Qry_GraphAnalyzerCapacity_New.FirstClick(Sender: TObject);
begin
  DBChArt1.PreviousPage;
  Label19.Caption:=inttostr(DBChArt1.page)+Totalpage;
end;

procedure TFrm_Mrp_Qry_GraphAnalyzerCapacity_New.DBChArt1ClickSeries(
  Sender: TCustomChArt; Series: TChArtSeries; ValueIndex: Integer;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if button=mbLeft then
  begin
    if AdoQry_Head.Locate('amodate',Series1.XLabel[ValueIndex],[]) then
    begin
      datefm:=copy(AdoQry_Head.fieldbyname('modatefm').asstring,1,10);
      dateto:=copy(AdoQry_Head.fieldbyname('modateto').asstring,1,10);
    end;
{    if dateTypecondition='日' then
    begin
      datefm:=copy(datetostr(now()),1,4)+'.'+copy(Series1.XLabel[ValueIndex],1,5);
      dateto:=copy(datetostr(now()),1,4)+'.'+copy(Series1.XLabel[ValueIndex],1,5);
    end else
    begin
      datefm:=copy(datetostr(now()),1,4)+'.'+copy(Series1.XLabel[ValueIndex],1,5);
      dateto:=copy(datetostr(now()),1,4)+'.'+copy(Series1.XLabel[ValueIndex],7,5);
    end;}
    Frm_Mrp_Qry_GraphAnalyzerCapacity_D_New:=TFrm_Mrp_Qry_GraphAnalyzerCapacity_D_New.Create(Self);
    Frm_Mrp_Qry_GraphAnalyzerCapacity_D_New.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
    Frm_Mrp_Qry_GraphAnalyzerCapacity_D_New.InitForm(AdoQry_Head.Connection,True);
//    showmessage(Series1.XLabel[ValueIndex]);
  end;
end;

procedure TFrm_Mrp_Qry_GraphAnalyzerCapacity_New.DBChArt1MouseMove(
  Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  abort;
end;

procedure TFrm_Mrp_Qry_GraphAnalyzerCapacity_New.n99Click(Sender: TObject);
begin
  DBChArt1.Page:=strtoint(copy(Totalpage,2,length(Totalpage)-1));
  Label19.Caption:=inttostr(DBChArt1.page)+Totalpage;
end;
procedure TFrm_Mrp_Qry_GraphAnalyzerCapacity_New.CreatePanel;
begin
  ShowPanel:=TPanel.Create(Self);
  showpanel.Parent:=DBChArt1;
  ShowPanel.Height:=55;
  ShowPanel.Width:=257;
  ShowPanel.Left:=Screen.Width-500;
  ShowPanel.Top:=DBChArt1.top+120;
  ShowPanel.Caption:='                  正在分析数据,请稍候.....';
  ShowAnimate:=TAnimate.Create(self);
  ShowAnimate.Parent:=Showpanel;
  ShowAnimate.Align:=alLeft;
  ShowAnimate.Height:=55;
  ShowAnimate.Width:=80;
  ShowAnimate.CommonAVI:=aviFindFolder;
  DBChArt1.Refresh;
  ShowAnimate.Active:=True;
  ShowPanel.Refresh;
end;

end.

⌨️ 快捷键说明

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