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

305 lines
9.0 KiB
ObjectPascal
Raw Normal View History

2026-03-04 09:51:44 +08:00
unit U_DJMoneyTop;
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
TfrmDJMoneyTop = 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;
v1Column5: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
Panel4: TPanel;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridDBColumn5: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
Panel5: TPanel;
Tv1Column1: TcxGridDBColumn;
Tv2Column1: TcxGridDBColumn;
Panel6: TPanel;
cxGrid3: TcxGrid;
Tv3: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn7: TcxGridDBColumn;
cxGridDBColumn8: TcxGridDBColumn;
cxGridDBColumn9: TcxGridDBColumn;
cxGridDBColumn10: TcxGridDBColumn;
cxGridDBColumn11: 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
frmDJMoneyTop: TfrmDJMoneyTop;
implementation
uses
U_DataLink, U_RTFun, U_DJCPTopMX, U_ZJCPTopMX, U_DJGGZPMORDMX, U_DDDJJHMX;
{$R *.dfm}
procedure TfrmDJMoneyTop.InitGrid();
begin
Panel10.Visible := True;
Panel10.Refresh;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add('exec P_BI_DJMoneyAll :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 TfrmDJMoneyTop.FormDestroy(Sender: TObject);
begin
frmDJMoneyTop := nil;
end;
procedure TfrmDJMoneyTop.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmDJMoneyTop.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('1', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
WriteCxGrid('2', Tv2, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
WriteCxGrid('3', Tv3, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmDJMoneyTop.FormShow(Sender: TObject);
begin
ReadCxGrid('1', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
ReadCxGrid('2', Tv2, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
ReadCxGrid('3', Tv3, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmDJMoneyTop.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmDJMoneyTop.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, ClientDataSet1);
SInitCDSData20(ADOQueryMain, ClientDataSet1);
end;
end;
procedure TfrmDJMoneyTop.C_CodeNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmDJMoneyTop.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 TfrmDJMoneyTop.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 TfrmDJMoneyTop.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_DJMoneyAll_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_DJMoneyAll_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 TfrmDJMoneyTop.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 TfrmDJMoneyTop.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.