unit U_PBAllTopQ30; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB, cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls, cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid, cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit, cxTextEdit, cxDBLookupComboBox, cxContainer, cxDropDownEdit, cxPC, Menus, TeEngine, Series, TeeProcs, Chart, DbChart, GanttCh, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; type TfrmPBAllTopQ30 = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; ToolButton2: TToolButton; ADOQueryMain: TADOQuery; cxGridPopupMenu2: TcxGridPopupMenu; Panel2: TPanel; Panel3: TPanel; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v2Column12: TcxGridDBColumn; v2Column15: TcxGridDBColumn; v2Column7: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; SH2: TPanel; SH1: TPanel; ClientDataSet1: TClientDataSet; DataSource1: TDataSource; v1Column1: TcxGridDBColumn; Panel6: TPanel; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; KK2: TPanel; KK1: TPanel; DataSource2: TDataSource; ClientDataSet2: TClientDataSet; Panel8: TPanel; cxGrid3: TcxGrid; Tv3: TcxGridDBTableView; cxGridDBColumn5: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; cxGridDBColumn8: TcxGridDBColumn; cxGridLevel3: TcxGridLevel; DJ2: TPanel; DJ1: TPanel; DataSource3: TDataSource; ClientDataSet3: TClientDataSet; Panel9: TPanel; cxGrid4: TcxGrid; Tv4: TcxGridDBTableView; cxGridDBColumn9: TcxGridDBColumn; cxGridDBColumn10: TcxGridDBColumn; cxGridDBColumn11: TcxGridDBColumn; cxGridDBColumn12: TcxGridDBColumn; cxGridLevel4: TcxGridLevel; CH2: TPanel; CH1: TPanel; DataSource4: TDataSource; ClientDataSet4: TClientDataSet; Panel10: TPanel; Panel1: TPanel; Label1: TLabel; Label5: TLabel; Label6: TLabel; C_Code: TEdit; BegDate: TDateTimePicker; EndDate: TDateTimePicker; v3Column1: TcxGridDBColumn; ClientDataSet11: TClientDataSet; ClientDataSet21: TClientDataSet; ClientDataSet31: TClientDataSet; ClientDataSet41: TClientDataSet; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure C_CodeNameChange(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Tv2DblClick(Sender: TObject); procedure Tv1DblClick(Sender: TObject); procedure Tv3DblClick(Sender: TObject); private { Private declarations } procedure InitGrid(); public end; var frmPBAllTopQ30: TfrmPBAllTopQ30; implementation uses U_DataLink, U_RTFun,U_PBCarCPTopMX,U_PBCPCarTopMX,U_PBCPCarBatchNoTopMX; {$R *.dfm} procedure TfrmPBAllTopQ30.InitGrid(); begin Panel10.Visible:=True; Panel10.Refresh; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; SQL.Clear; sql.Add('exec P_BI_PBAll_60M :begdate,:enddate,:Type'); Parameters.ParamByName('begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date)); Parameters.ParamByName('enddate').Value:=Trim(FormatDateTime('yyyy-MM-dd',enddate.Date+1)); Parameters.ParamByName('Type').Value:='验布'; Open; end; SCreateCDS20(ADOQueryMain, ClientDataSet1); SInitCDSData20(ADOQueryMain, ClientDataSet1); {SH1.Caption:='验布百大排行榜('+Trim(ClientDataSet1.fieldbyname('QSPS').AsString) +','+Trim(ClientDataSet1.fieldbyname('QSBL').AsString)+'%)'; } SH2.Caption:='验布总数量'+'('+Trim(ClientDataSet1.fieldbyname('HZPS').AsString)+')'; with ADOQueryMain do begin Filtered := False; Close; SQL.Clear; sql.Add('exec P_BI_PBAll_60M :begdate,:enddate,:Type'); Parameters.ParamByName('begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date)); Parameters.ParamByName('enddate').Value:=Trim(FormatDateTime('yyyy-MM-dd',enddate.Date+1)); Parameters.ParamByName('Type').Value:='机台'; Open; end; SCreateCDS20(ADOQueryMain, ClientDataSet2); SInitCDSData20(ADOQueryMain, ClientDataSet2); {KK1.Caption:='机台百大排行榜('+Trim(ClientDataSet2.fieldbyname('QSPS').AsString) +','+Trim(ClientDataSet2.fieldbyname('QSBL').AsString)+'%)'; } KK2.Caption:='机台总数量'+'('+Trim(ClientDataSet2.fieldbyname('HZPS').AsString)+')'; with ADOQueryMain do begin Filtered := False; Close; SQL.Clear; sql.Add('exec P_BI_PBAll_60M :begdate,:enddate,:Type'); Parameters.ParamByName('begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date)); Parameters.ParamByName('enddate').Value:=Trim(FormatDateTime('yyyy-MM-dd',enddate.Date+1)); Parameters.ParamByName('Type').Value:='批号'; Open; end; SCreateCDS20(ADOQueryMain, ClientDataSet3); SInitCDSData20(ADOQueryMain, ClientDataSet3); {DJ1.Caption:='批号百大排行榜('+Trim(ClientDataSet3.fieldbyname('QSPS').AsString) +','+Trim(ClientDataSet3.fieldbyname('QSBL').AsString)+'%)';} DJ2.Caption:='批号总数量'+'('+Trim(ClientDataSet3.fieldbyname('HZPS').AsString)+')'; with ADOQueryMain do begin Filtered := False; Close; SQL.Clear; sql.Add('exec P_BI_PBAll_60M :begdate,:enddate,:Type'); Parameters.ParamByName('begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date)); Parameters.ParamByName('enddate').Value:=Trim(FormatDateTime('yyyy-MM-dd',enddate.Date+1)); Parameters.ParamByName('Type').Value:='发货'; Open; end; SCreateCDS20(ADOQueryMain, ClientDataSet4); SInitCDSData20(ADOQueryMain, ClientDataSet4); {CH1.Caption:='发货百大排行榜('+Trim(ClientDataSet4.fieldbyname('QSPS').AsString) +','+Trim(ClientDataSet4.fieldbyname('QSBL').AsString)+'%)';} CH2.Caption:='发货总数量'+'('+Trim(ClientDataSet4.fieldbyname('HZPS').AsString)+')'; finally ADOQueryMain.EnableControls; end; Panel10.Visible:=False; end; procedure TfrmPBAllTopQ30.FormDestroy(Sender: TObject); begin frmPBAllTopQ30 := nil; end; procedure TfrmPBAllTopQ30.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmPBAllTopQ30.TBCloseClick(Sender: TObject); begin //WriteCxGrid('收货', Tv1, '前十大产品排行榜'); Close; end; procedure TfrmPBAllTopQ30.FormShow(Sender: TObject); begin //ReadCxGrid('收货', Tv1, '前十大产品排行榜'); end; procedure TfrmPBAllTopQ30.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmPBAllTopQ30.ToolButton2Click(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, ClientDataSet1); SInitCDSData20(ADOQueryMain, ClientDataSet1); end; end; procedure TfrmPBAllTopQ30.C_CodeNameChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmPBAllTopQ30.FormCreate(Sender: TObject); var FYear:string; FMonth:string; FDate:TDate; begin FDate:=SGetServerDate10(ADOQueryTemp); FYear:=FormatDateTime('yyyy',FDate); FMonth:=FormatDateTime('MM',FDate); if StrToInt(FMonth)<2 then begin BegDate.Date:=StrToDate(IntToStr(strtoint(FYear)-1)+'-02-01'); EndDate.Date:=StrToDate(FYear+'-01-31'); end else begin BegDate.Date:=StrToDate(FYear+'-02-01'); EndDate.Date:=StrToDate(IntToStr(strtoint(FYear)+1)+'-01-31'); end; end; procedure TfrmPBAllTopQ30.Tv2DblClick(Sender: TObject); begin try frmPBCarCPTopMX:=TfrmPBCarCPTopMX.Create(Application); with frmPBCarCPTopMX do begin FBegdate:=Self.BegDate.Date; FEnddate:=Self.EndDate.Date; FCarNo:=Trim(Self.ClientDataSet2.fieldbyname('SPName').AsString); if ShowModal=1 then begin end; end; finally frmPBCarCPTopMX.Free; end; end; procedure TfrmPBAllTopQ30.Tv1DblClick(Sender: TObject); begin try frmPBCPCarTopMX:=TfrmPBCPCarTopMX.Create(Application); with frmPBCPCarTopMX do begin FBegdate:=Self.BegDate.Date; FEnddate:=Self.EndDate.Date; FSPName:=Trim(Self.ClientDataSet1.fieldbyname('SPName').AsString); if ShowModal=1 then begin end; end; finally frmPBCPCarTopMX.Free; end; end; procedure TfrmPBAllTopQ30.Tv3DblClick(Sender: TObject); begin try frmPBCPCarBatchNoTopMX:=TfrmPBCPCarBatchNoTopMX.Create(Application); with frmPBCPCarBatchNoTopMX do begin FBegdate:=Self.BegDate.Date; FEnddate:=Self.EndDate.Date; FSPName:=Trim(Self.ClientDataSet3.fieldbyname('SPName').AsString); FBatchNo:=Trim(Self.ClientDataSet3.fieldbyname('BatchNo').AsString); if ShowModal=1 then begin end; end; finally frmPBCPCarBatchNoTopMX.Free; end; end; end.