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

296 lines
8.7 KiB
ObjectPascal
Raw Blame History

unit U_DCMoneyTop;
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
TfrmDCMoneyTop = 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;
Label5: TLabel;
Label6: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
Panel10: TPanel;
ToolButton1: TToolButton;
ComboBox1: TComboBox;
v1Column4: TcxGridDBColumn;
Panel4: TPanel;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
Panel5: TPanel;
Panel6: TPanel;
cxGrid3: TcxGrid;
Tv3: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn7: TcxGridDBColumn;
cxGridDBColumn8: TcxGridDBColumn;
cxGridLevel3: TcxGridLevel;
Panel7: TPanel;
DataSource2: TDataSource;
ClientDataSet2: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
cxGridPopupMenu3: TcxGridPopupMenu;
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 Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure Tv3CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure Tv3DblClick(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
public
end;
var
frmDCMoneyTop: TfrmDCMoneyTop;
implementation
uses
U_DataLink, U_RTFun, U_DJCPTopMX, U_ZJCPTopMX, U_DJGGZPMORDMX, U_DDDJJHMX;
{$R *.dfm}
procedure TfrmDCMoneyTop.InitGrid();
begin
Panel10.Visible := True;
Panel10.Refresh;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add('exec P_BI_DCMoneyAll :begdate,:enddate');
Parameters.ParamByName('begdate').Value := Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date));
Parameters.ParamByName('enddate').Value := Trim(FormatDateTime('yyyy-MM-dd', enddate.Date + 1));
Open;
end;
SCreateCDS20(ADOQueryMain, ClientDataSet1);
SInitCDSData20(ADOQueryMain, ClientDataSet1);
finally
ADOQueryMain.EnableControls;
end;
Panel10.Visible := False;
end;
procedure TfrmDCMoneyTop.FormDestroy(Sender: TObject);
begin
frmDCMoneyTop := nil;
end;
procedure TfrmDCMoneyTop.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmDCMoneyTop.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('1', Tv1, 'P<><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
WriteCxGrid('2', Tv2, 'P<><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
WriteCxGrid('3', Tv3, 'P<><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmDCMoneyTop.FormShow(Sender: TObject);
begin
ReadCxGrid('1', Tv1, 'P<><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
ReadCxGrid('2', Tv2, 'P<><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
ReadCxGrid('3', Tv3, 'P<><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmDCMoneyTop.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmDCMoneyTop.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, ClientDataSet1);
SInitCDSData20(ADOQueryMain, ClientDataSet1);
end;
end;
procedure TfrmDCMoneyTop.C_CodeNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmDCMoneyTop.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;}
BegDate.Date := SGetServerDateMBeg(ADOQueryTemp);
EndDate.Date := SGetServerDate(ADOQueryTemp);
end;
procedure TfrmDCMoneyTop.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, cxGrid3);
end
else if ComboBox1.ItemIndex = 2 then
begin
TcxGridToExcel(ComboBox1.Text, cxGrid2);
end;
end;
procedure TfrmDCMoneyTop.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
Panel10.Visible := True;
Panel10.Refresh;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add('exec P_BI_DCMoneyAll_MX_PM :begdate,:enddate,:KHName');
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('KHName').Value := Trim(ClientDataSet1.fieldbyname('KHName').AsString);
Open;
end;
SCreateCDS20(ADOQueryMain, ClientDataSet3);
SInitCDSData20(ADOQueryMain, ClientDataSet3);
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add('exec P_BI_DCMoneyAll_MX_RQ :begdate,:enddate,:KHName');
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('KHName').Value := Trim(ClientDataSet1.fieldbyname('KHName').AsString);
Open;
end;
SCreateCDS20(ADOQueryMain, ClientDataSet2);
SInitCDSData20(ADOQueryMain, ClientDataSet2);
finally
ADOQueryMain.EnableControls;
end;
Panel10.Visible := False;
end;
procedure TfrmDCMoneyTop.Tv3CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
// try
// frmDJGGZPMORDMX := TfrmDJGGZPMORDMX.Create(Application);
// with frmDJGGZPMORDMX do
// begin
// FBegdate := Self.BegDate.Date;
// FEnddate := Self.enddate.Date + 1;
// FKHName := Trim(Self.ClientDataSet1.fieldbyname('KHName').AsString);
// FSPName := Trim(Self.ClientDataSet3.fieldbyname('SPName').AsString);
// if ShowModal = 1 then
// begin
//
// end;
// end;
// finally
// frmDJGGZPMORDMX.Free;
// end;
end;
procedure TfrmDCMoneyTop.Tv3DblClick(Sender: TObject);
begin
{if ClientDataSet3.IsEmpty then
Exit;
try
frmDDDJJHMX := TfrmDDDJJHMX.Create(Application);
with frmDDDJJHMX do
begin
FBegdate := Self.BegDate.Date;
FEnddate := Self.enddate.Date + 1;
FKHName := Trim(Self.ClientDataSet1.fieldbyname('KHName').AsString);
FSPName := Trim(Self.ClientDataSet3.fieldbyname('SPName').AsString);
if ShowModal = 1 then
begin
end;
end;
finally
frmDDDJJHMX.Free;
end; }
end;
end.