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

384 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_CPAllTop;
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
TfrmCPAllTop = 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;
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
frmCPAllTop: TfrmCPAllTop;
implementation
uses
U_DataLink, U_RTFun,U_PBTopMX,U_CPCHTopMX;
{$R *.dfm}
procedure TfrmCPAllTop.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_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>';
Open;
end;
SCreateCDS20(ADOQueryMain, ClientDataSet1);
SInitCDSData20(ADOQueryMain, ClientDataSet1);
SH1.Caption:='<27>ջ<EFBFBD>Top20<32><30><EFBFBD>а<EFBFBD>('+Trim(ClientDataSet1.fieldbyname('QSPS').AsString)
+','+Trim(ClientDataSet1.fieldbyname('QSBL').AsString)+'%)';
SH2.Caption:='<27>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'+'('+Trim(ClientDataSet1.fieldbyname('HZPS').AsString)+')';
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add('exec P_BI_CPAll :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>';
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_CPAll_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, ClientDataSet2);
SInitCDSData20(ADOQueryMain, ClientDataSet2);
KK1.Caption:='<27><><EFBFBD><EFBFBD>Top20<32><30><EFBFBD>а<EFBFBD>('+Trim(ClientDataSet2.fieldbyname('QSPS').AsString)
+','+Trim(ClientDataSet2.fieldbyname('QSBL').AsString)+'%)';
KK2.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'+'('+Trim(ClientDataSet2.fieldbyname('HZPS').AsString)+')';
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add('exec P_BI_CPAll :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, 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_CPAll_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_CPAll :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_CPAll_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_CPAll :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 TfrmCPAllTop.FormDestroy(Sender: TObject);
begin
frmCPAllTop := nil;
end;
procedure TfrmCPAllTop.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmCPAllTop.TBCloseClick(Sender: TObject);
begin
//WriteCxGrid('<27>ջ<EFBFBD>', Tv1, 'ǰʮ<C7B0><CAAE><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>а<EFBFBD>');
Close;
end;
procedure TfrmCPAllTop.FormShow(Sender: TObject);
begin
//ReadCxGrid('<27>ջ<EFBFBD>', Tv1, 'ǰʮ<C7B0><CAAE><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>а<EFBFBD>');
end;
procedure TfrmCPAllTop.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCPAllTop.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, ClientDataSet1);
SInitCDSData20(ADOQueryMain, ClientDataSet1);
end;
end;
procedure TfrmCPAllTop.C_CodeNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmCPAllTop.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 TfrmCPAllTop.Tv1DblClick(Sender: TObject);
begin
if ClientDataSet1.IsEmpty then Exit;
if Trim(ClientDataSet1.fieldbyname('SPName').AsString)='<27><><EFBFBD><EFBFBD>' 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 TfrmCPAllTop.Tv4DblClick(Sender: TObject);
begin
if ClientDataSet4.IsEmpty then Exit;
if Trim(ClientDataSet4.fieldbyname('SPName').AsString)='<27><><EFBFBD><EFBFBD>' 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.