D7gmYongjin/BI(BIView.dll)/U_PBAllTop.pas
DESKTOP-E401PHE\Administrator 8452f471f5 新建3-04
2026-03-04 09:51:44 +08:00

401 lines
12 KiB
ObjectPascal
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_PBAllTop;
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;
type
TfrmPBAllTop = 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;
Panel4: TPanel;
Panel5: TPanel;
DBChart1: TDBChart;
Series1: TBarSeries;
Panel6: TPanel;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
KK2: TPanel;
KK1: TPanel;
Panel7: TPanel;
DBChart2: TDBChart;
DataSource2: TDataSource;
ClientDataSet2: TClientDataSet;
Series2: TBarSeries;
Panel8: TPanel;
cxGrid3: TcxGrid;
Tv3: TcxGridDBTableView;
cxGridDBColumn5: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
cxGridDBColumn7: TcxGridDBColumn;
cxGridDBColumn8: TcxGridDBColumn;
cxGridLevel3: TcxGridLevel;
DJ2: TPanel;
DJ1: TPanel;
DataSource3: TDataSource;
ClientDataSet3: TClientDataSet;
Panel11: TPanel;
DBChart3: TDBChart;
BarSeries1: TBarSeries;
Panel9: TPanel;
cxGrid4: TcxGrid;
Tv4: TcxGridDBTableView;
cxGridDBColumn9: TcxGridDBColumn;
cxGridDBColumn10: TcxGridDBColumn;
cxGridDBColumn11: TcxGridDBColumn;
cxGridDBColumn12: TcxGridDBColumn;
cxGridLevel4: TcxGridLevel;
CH2: TPanel;
CH1: TPanel;
Panel13: TPanel;
DBChart4: TDBChart;
BarSeries2: TBarSeries;
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
frmPBAllTop: TfrmPBAllTop;
implementation
uses
U_DataLink, U_RTFun,U_PBCarCPTopMX,U_PBCPCarTopMX,U_PBCPCarBatchNoTopMX;
{$R *.dfm}
procedure TfrmPBAllTop.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_20M :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:='<27>鲼';
Open;
end;
SCreateCDS20(ADOQueryMain, ClientDataSet1);
SInitCDSData20(ADOQueryMain, ClientDataSet1);
SH1.Caption:='<27>鲼Top20<32><30><EFBFBD>а<EFBFBD>('+Trim(ClientDataSet1.fieldbyname('QSPS').AsString)
+','+Trim(ClientDataSet1.fieldbyname('QSBL').AsString)+'%)';
SH2.Caption:='<27><EFBFBD><E9B2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'+'('+Trim(ClientDataSet1.fieldbyname('HZPS').AsString)+')';
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add('exec P_BI_PBAll :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:='<27>鲼';
Open;
end;
SCreateCDS20(ADOQueryMain, ClientDataSet11);
SInitCDSData20(ADOQueryMain, ClientDataSet11);
DBChart1.Series[0].DataSource:=nil;
DBChart1.Series[0].DataSource:=ClientDataSet11;
DBChart1.Series[0].XLabelsSource:='XH';
DBChart1.Series[0].YValues.ValueSource:='BL';
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add('exec P_BI_PBAll_20M :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:='<27><>̨';
Open;
end;
SCreateCDS20(ADOQueryMain, ClientDataSet2);
SInitCDSData20(ADOQueryMain, ClientDataSet2);
KK1.Caption:='<27><>̨Top20<32><30><EFBFBD>а<EFBFBD>('+Trim(ClientDataSet2.fieldbyname('QSPS').AsString)
+','+Trim(ClientDataSet2.fieldbyname('QSBL').AsString)+'%)';
KK2.Caption:='<27><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'+'('+Trim(ClientDataSet2.fieldbyname('HZPS').AsString)+')';
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add('exec P_BI_PBAll :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:='<27><>̨';
Open;
end;
SCreateCDS20(ADOQueryMain, ClientDataSet21);
SInitCDSData20(ADOQueryMain, ClientDataSet21);
DBChart2.Series[0].DataSource:=nil;
DBChart2.Series[0].DataSource:=ClientDataSet21;
DBChart2.Series[0].XLabelsSource:='XH';
DBChart2.Series[0].YValues.ValueSource:='PS';
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add('exec P_BI_PBAll_20M :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:='<27><><EFBFBD><EFBFBD>';
Open;
end;
SCreateCDS20(ADOQueryMain, ClientDataSet3);
SInitCDSData20(ADOQueryMain, ClientDataSet3);
DJ1.Caption:='<27><><EFBFBD><EFBFBD>Top20<32><30><EFBFBD>а<EFBFBD>('+Trim(ClientDataSet3.fieldbyname('QSPS').AsString)
+','+Trim(ClientDataSet3.fieldbyname('QSBL').AsString)+'%)';
DJ2.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'+'('+Trim(ClientDataSet3.fieldbyname('HZPS').AsString)+')';
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add('exec P_BI_PBAll :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:='<27><><EFBFBD><EFBFBD>';
Open;
end;
SCreateCDS20(ADOQueryMain, ClientDataSet31);
SInitCDSData20(ADOQueryMain, ClientDataSet31);
DBChart3.Series[0].DataSource:=nil;
DBChart3.Series[0].DataSource:=ClientDataSet31;
DBChart3.Series[0].XLabelsSource:='XH';
DBChart3.Series[0].YValues.ValueSource:='PS';
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add('exec P_BI_PBAll_20M :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:='<27><><EFBFBD><EFBFBD>';
Open;
end;
SCreateCDS20(ADOQueryMain, ClientDataSet4);
SInitCDSData20(ADOQueryMain, ClientDataSet4);
CH1.Caption:='<27><><EFBFBD><EFBFBD>Top20<32><30><EFBFBD>а<EFBFBD>('+Trim(ClientDataSet4.fieldbyname('QSPS').AsString)
+','+Trim(ClientDataSet4.fieldbyname('QSBL').AsString)+'%)';
CH2.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'+'('+Trim(ClientDataSet4.fieldbyname('HZPS').AsString)+')';
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add('exec P_BI_PBAll :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:='<27><><EFBFBD><EFBFBD>';
Open;
end;
SCreateCDS20(ADOQueryMain, ClientDataSet41);
SInitCDSData20(ADOQueryMain, ClientDataSet41);
DBChart4.Series[0].DataSource:=nil;
DBChart4.Series[0].DataSource:=ClientDataSet41;
DBChart4.Series[0].XLabelsSource:='XH';
DBChart4.Series[0].YValues.ValueSource:='PS';
finally
ADOQueryMain.EnableControls;
end;
Panel10.Visible:=False;
end;
procedure TfrmPBAllTop.FormDestroy(Sender: TObject);
begin
frmPBAllTop := nil;
end;
procedure TfrmPBAllTop.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmPBAllTop.TBCloseClick(Sender: TObject);
begin
//WriteCxGrid('<27>ջ<EFBFBD>', Tv1, 'ǰʮ<C7B0><CAAE><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>а<EFBFBD>');
Close;
end;
procedure TfrmPBAllTop.FormShow(Sender: TObject);
begin
//ReadCxGrid('<27>ջ<EFBFBD>', Tv1, 'ǰʮ<C7B0><CAAE><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>а<EFBFBD>');
end;
procedure TfrmPBAllTop.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmPBAllTop.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, ClientDataSet1);
SInitCDSData20(ADOQueryMain, ClientDataSet1);
end;
end;
procedure TfrmPBAllTop.C_CodeNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmPBAllTop.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 TfrmPBAllTop.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 TfrmPBAllTop.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 TfrmPBAllTop.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.