📄 mrp_qry_graphanalyzercapacity_new.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 + -