D7gmYongjin/BI(BIView.dll)/U_DJTop.pas

250 lines
6.5 KiB
ObjectPascal
Raw Normal View History

2026-03-04 09:51:44 +08:00
unit U_DJTop;
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
TfrmDJTop = 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;
v2Column7: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
SH1: TPanel;
ClientDataSet1: TClientDataSet;
DataSource1: TDataSource;
v1Column1: TcxGridDBColumn;
DataSource3: TDataSource;
ClientDataSet3: TClientDataSet;
Panel1: TPanel;
Label1: TLabel;
Label5: TLabel;
Label6: TLabel;
C_Code: TEdit;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
Panel10: TPanel;
ToolButton1: TToolButton;
ComboBox1: TComboBox;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
Panel4: TPanel;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridDBColumn5: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
Panel5: TPanel;
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 ToolButton1Click(Sender: TObject);
procedure Tv1DblClick(Sender: TObject);
procedure Tv2DblClick(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
public
end;
var
frmDJTop: TfrmDJTop;
implementation
uses
U_DataLink, U_RTFun,U_DJCPTopMX,U_ZJCPTopMX;
{$R *.dfm}
procedure TfrmDJTop.InitGrid();
begin
Panel10.Visible:=True;
Panel10.Refresh;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add('exec P_BI_DJAll :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, ClientDataSet1);
SInitCDSData20(ADOQueryMain, ClientDataSet1);
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add('exec P_BI_DJAll :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);
finally
ADOQueryMain.EnableControls;
end;
Panel10.Visible:=False;
end;
procedure TfrmDJTop.FormDestroy(Sender: TObject);
begin
frmDJTop := nil;
end;
procedure TfrmDJTop.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmDJTop.TBCloseClick(Sender: TObject);
begin
//WriteCxGrid('<27>ջ<EFBFBD>', Tv1, 'ǰʮ<C7B0><CAAE><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>а<EFBFBD>');
Close;
end;
procedure TfrmDJTop.FormShow(Sender: TObject);
begin
//ReadCxGrid('<27>ջ<EFBFBD>', Tv1, 'ǰʮ<C7B0><CAAE><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>а<EFBFBD>');
end;
procedure TfrmDJTop.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmDJTop.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, ClientDataSet1);
SInitCDSData20(ADOQueryMain, ClientDataSet1);
end;
end;
procedure TfrmDJTop.C_CodeNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmDJTop.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 TfrmDJTop.ToolButton1Click(Sender: TObject);
begin
if ComboBox1.Text='' then Exit;
if ComboBox1.ItemIndex=0 then
begin
TcxGridToExcel(ComboBox1.Text,cxGrid1);
end else
if ComboBox1.ItemIndex=1 then
begin
TcxGridToExcel(ComboBox1.Text,cxGrid2);
end;
end;
procedure TfrmDJTop.Tv1DblClick(Sender: TObject);
begin
if ClientDataSet1.IsEmpty then Exit;
try
frmDJCPTopMX:=TfrmDJCPTopMX.Create(Application);
with frmDJCPTopMX do
begin
FBegdate:=Self.BegDate.Date;
FEnddate:=Self.EndDate.Date;
FKHName:=Trim(Self.ClientDataSet1.fieldbyname('KHName').AsString);
if ShowModal=1 then
begin
end;
end;
finally
frmDJCPTopMX.Free;
end;
end;
procedure TfrmDJTop.Tv2DblClick(Sender: TObject);
begin
if ClientDataSet3.IsEmpty then Exit;
try
frmZJCPTopMX:=TfrmZJCPTopMX.Create(Application);
with frmZJCPTopMX do
begin
FBegdate:=Self.BegDate.Date;
FEnddate:=Self.EndDate.Date;
FKHName:=Trim(Self.ClientDataSet3.fieldbyname('KHName').AsString);
if ShowModal=1 then
begin
end;
end;
finally
frmZJCPTopMX.Free;
end;
end;
end.