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

250 lines
6.5 KiB
ObjectPascal
Raw Permalink 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_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.