unit U_CPAllTopQ30; 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 TfrmCPAllTopQ30 = 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; 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 Tv1DblClick(Sender: TObject); procedure Tv4DblClick(Sender: TObject); private { Private declarations } procedure InitGrid(); public end; var frmCPAllTopQ30: TfrmCPAllTopQ30; implementation uses U_DataLink, U_RTFun,U_PBTopMX,U_CPCHTopMX; {$R *.dfm} procedure TfrmCPAllTopQ30.InitGrid(); begin Panel10.Visible:=True; Panel10.Refresh; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; SQL.Clear; sql.Add('exec P_BI_CPAll_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_CPAll_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_CPAll_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_CPAll_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 TfrmCPAllTopQ30.FormDestroy(Sender: TObject); begin frmCPAllTopQ30 := nil; end; procedure TfrmCPAllTopQ30.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmCPAllTopQ30.TBCloseClick(Sender: TObject); begin //WriteCxGrid('收货', Tv1, '前十大产品排行榜'); Close; end; procedure TfrmCPAllTopQ30.FormShow(Sender: TObject); begin //ReadCxGrid('收货', Tv1, '前十大产品排行榜'); end; procedure TfrmCPAllTopQ30.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmCPAllTopQ30.ToolButton2Click(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, ClientDataSet1); SInitCDSData20(ADOQueryMain, ClientDataSet1); end; end; procedure TfrmCPAllTopQ30.C_CodeNameChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmCPAllTopQ30.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 TfrmCPAllTopQ30.Tv1DblClick(Sender: TObject); begin if ClientDataSet1.IsEmpty then Exit; if Trim(ClientDataSet1.fieldbyname('SPName').AsString)='其它' then Exit; try frmPBTopMX:=TfrmPBTopMX.Create(Application); with frmPBTopMX 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 frmPBTopMX.Free; end; end; procedure TfrmCPAllTopQ30.Tv4DblClick(Sender: TObject); begin if ClientDataSet4.IsEmpty then Exit; if Trim(ClientDataSet4.fieldbyname('SPName').AsString)='其它' then Exit; try frmCPCHTopMX:=TfrmCPCHTopMX.Create(Application); with frmCPCHTopMX do begin FBegdate:=Self.BegDate.Date; FEnddate:=Self.EndDate.Date; FSPName:=Trim(Self.ClientDataSet4.fieldbyname('SPName').AsString); if ShowModal=1 then begin end; end; finally frmCPCHTopMX.Free; end; end; end.