D7myYunxiang/云翔财务(Money.dll)/U_YFFKList.pas
DESKTOP-E401PHE\Administrator 1011cb7292 1
2025-01-20 13:04:03 +08:00

326 lines
9.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_YFFKList;
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, cxPC, cxGridBandedTableView,
cxGridDBBandedTableView,dxCore,ActiveX, cxLookAndFeels,
cxLookAndFeelPainters, dxBarBuiltInMenu, cxNavigator;
type
TfrmYFFKList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
ADOQueryMain: TADOQuery;
CDS_HZ: TClientDataSet;
ToolButton3: TToolButton;
cxTabControl1: TcxTabControl;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
v2Column6: TcxGridDBColumn;
v2SQMoney: TcxGridDBColumn;
v2YFMoney: TcxGridDBColumn;
v2FKMoney: TcxGridDBColumn;
v2BQMoney: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
v2Column8: TcxGridDBColumn;
v2ZJFKDate: TcxGridDBColumn;
v2ZJFKMoney: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
Panel2: TPanel;
Label2: TLabel;
begdate: TDateTimePicker;
Panel3: TPanel;
Label4: TLabel;
FBegDate: TDateTimePicker;
Label5: TLabel;
FEndDate: TDateTimePicker;
Panel4: TPanel;
FactoryNameGYS: TEdit;
Label3: TLabel;
RadioGroup1: TRadioGroup;
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 FactoryNameGYSChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure Tv2CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton3Click(Sender: TObject);
procedure v2Column6HeaderClick(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
public
fDParameters1:string;
{ Public declarations }
RKFlag,FCYID:String;
end;
var
frmYFFKList: TfrmYFFKList;
implementation
uses
U_DataLink,U_RTFun,U_Fun,U_ZDYHelp,U_YFMXlistMonDay;
{$R *.dfm}
procedure TfrmYFFKList.InitGrid();
var
FYue,FDate:string;
FInt:Integer;
FHuiLv:Double;
begin
FInt:=cxTabControl1.TabIndex+1;
FYue:=Trim(IntToStr(FInt));
if FInt<10 then
begin
FYue:='0'+Trim(IntToStr(FInt));
end;
FDate:=Trim(FormatDateTime('yyyy',begdate.Date))+'-'+FYue;
FBegDate.Date:=StrToDate(FDate+'-01');
if FInt=12 then
FEndDate.Date:=StrToDate(Trim(FormatDateTime('yyyy',begdate.Date))+'-12-31')
else
FEndDate.Date:=StrToDate(Trim(FormatDateTime('yyyy',begdate.Date))+'-'+Trim(IntToStr(FInt+1))+'-01')-1;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
Filtered:=False;
if RadioGroup1.ItemIndex=0 then
begin
sql.Add(' exec P_YFFK_Month :Fdate ') ;
Parameters.ParamByName('Fdate').Value:=FDate;
end else
if RadioGroup1.ItemIndex=1 then
begin
sql.Add(' exec P_YFFK_Day :FBegdate,:FEndDate ') ;
Parameters.ParamByName('FBegdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',FBegDate.Date));
Parameters.ParamByName('FEndDate').Value:=Trim(FormatDateTime('yyyy-MM-dd',FEndDate.Date+1));
end;
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
finally
ADOQueryMain.EnableControls;
end;
//ToolButton2.Click;
end;
procedure TfrmYFFKList.FormDestroy(Sender: TObject);
begin
frmYFFKList:=nil;
end;
procedure TfrmYFFKList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmYFFKList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(<><D3A6><EFBFBD><EFBFBD>ͳ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>YX',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmYFFKList.FormShow(Sender: TObject);
var
fstr:string;
begin
ReadCxGrid(<><D3A6><EFBFBD><EFBFBD>ͳ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>YX',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
begdate.DateTime:=SGetServerDateMBeg(ADOQueryTemp);
Fbegdate.DateTime:=SGetServerDate(ADOQueryTemp);
FEndDate.Date:=Fbegdate.DateTime;
fstr:=Trim(FormatDateTime('MM',begdate.Date));
cxTabControl1.TabIndex:=StrToInt(fstr)-1;
Panel3.Visible:=False;
// InitGrid();
end;
procedure TfrmYFFKList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
CDS_HZ.IndexFieldNames:='FactoryName';
with CDS_HZ do
begin
with IndexDefs do
begin
Clear;
with AddIndexDef do
begin
Name := 'Fld1Indx';
Fields := 'FactoryName';
Options := [ixDescending]; //<2F><><EFBFBD><EFBFBD>
end;
end;
end;
end;
procedure TfrmYFFKList.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
SDofilter(ADOQueryMain,SGetFilters(Panel4,1,2));
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
end;
procedure TfrmYFFKList.FactoryNameGYSChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmYFFKList.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
TcxGridToExcel(<><D3A6><EFBFBD><EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD>б<EFBFBD>',cxGrid2);
end;
procedure TfrmYFFKList.Tv2CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
try
frmYFMXlistMonDay:=TfrmYFMXlistMonDay.Create(Application);
with frmYFMXlistMonDay do
begin
FMX:='99';
PState:=Self.RadioGroup1.ItemIndex;
if Self.RadioGroup1.ItemIndex=0 then
begin
frmYFMXlistMonDay.begdate.DateTime:=Self.begdate.DateTime;
frmYFMXlistMonDay.cxTabControl1.TabIndex:=Self.cxTabControl1.TabIndex;
frmYFMXlistMonDay.factoryName.Text:=Self.CDS_HZ.fieldbyname('factoryName').AsString;
frmYFMXlistMonDay.Fbegdate.DateTime:=Self.Fbegdate.DateTime;
frmYFMXlistMonDay.FEnddate.DateTime:=Self.FEnddate.DateTime;
end else
if Self.RadioGroup1.ItemIndex=1 then
begin
frmYFMXlistMonDay.begdate.DateTime:=Self.begdate.DateTime;
frmYFMXlistMonDay.Fbegdate.DateTime:=Self.Fbegdate.DateTime;
frmYFMXlistMonDay.FEnddate.DateTime:=Self.FEnddate.DateTime;
frmYFMXlistMonDay.factoryName.Text:=Self.CDS_HZ.fieldbyname('factoryName').AsString;
end;
frmYFMXlistMonDay.factoryName.TxtCode:=Self.CDS_HZ.fieldbyname('factoryNo').AsString;
frmYFMXlistMonDay.Align:=alClient;
frmYFMXlistMonDay.LabGYS.Caption:=Self.CDS_HZ.fieldbyname('factoryName').AsString;
if ShowModal=1 then
begin
end;
end;
finally
frmYFMXlistMonDay.Free;
end;
end;
procedure TfrmYFFKList.ToolButton3Click(Sender: TObject);
var
filepath,fsj:string;
mBegdate,mEnddate:string;
FName,FNameSX,FNameJX:String;
i:Integer;
begin
fsj:=cxTabControl1.Tabs[cxTabControl1.TabIndex].Caption;
mbegdate:=FormatDateTime('yyyy',begdate.Date)+'<27><>'+Trim(Copy(fsj,3,Length(fsj)-2))+'<27><>';
if CDS_HZ.IsEmpty then exit;
try
filepath:=ExtractFilePath(Application.ExeName) + 'report\Ӧ<><D3A6><EFBFBD><EFBFBD>ͳ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>YX.rmf';
if not FileExists(Pchar(filepath)) then
begin
application.MessageBox(pchar('<27>ļ<EFBFBD>['+filepath+']<5D><><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>'),'<27><>ʾ<EFBFBD><CABE>Ϣ',MB_IConError);
exit;
end;
RmVariables['begDate'] :=mbegdate;
RM1.LoadFromFile(filepath);
RM1.ShowReport;
finally
end;
end;
procedure TfrmYFFKList.v2Column6HeaderClick(Sender: TObject);
var
FName,FNameSX,FNameJX:String;
begin
FName:=TcxGridDBColumn(Sender).DataBinding.FilterFieldName;
FNameSX:=Trim(FName)+'-1';
FNameJX:=Trim(FName)+'-2';
CDS_HZ.AddIndex(FNameSX, FName, []); { <20><><EFBFBD><EFBFBD> }
CDS_HZ.AddIndex(FNameJX, FName, [ixDescending]); { <20><><EFBFBD><EFBFBD> }
if TcxGridDBColumn(Sender).SortOrder=soDescending then
begin
CDS_HZ.IndexName:=FNameSX;
end else
if TcxGridDBColumn(Sender).SortOrder=soAscending then
begin
CDS_HZ.IndexName:=FNameJX;
end;
end;
procedure TfrmYFFKList.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmYFFKList.RadioGroup1Click(Sender: TObject);
begin
if RadioGroup1.ItemIndex=0 then
begin
Panel2.Visible:=True;
Panel3.Visible:=False;
cxTabControl1.Visible:=True;
v2SQMoney.Caption:=Copy(v2SQMoney.Summary.GroupFormat,1,8);
v2YFMoney.Caption:=Copy(v2YFMoney.Summary.GroupFormat,1,10);
v2FKMoney.Caption:=Copy(v2FKMoney.Summary.GroupFormat,1,8);
v2BQMoney.Caption:=Copy(v2BQMoney.Summary.GroupFormat,1,8);
end else
if RadioGroup1.ItemIndex=1 then
begin
Panel2.Visible:=False;
Panel3.Visible:=True;
cxTabControl1.Visible:=False;
v2SQMoney.Caption:=Copy(v2SQMoney.Summary.GroupFormat,10,8);
v2YFMoney.Caption:=Copy(v2YFMoney.Summary.GroupFormat,12,10);
v2FKMoney.Caption:=Copy(v2FKMoney.Summary.GroupFormat,10,8);
v2BQMoney.Caption:=Copy(v2BQMoney.Summary.GroupFormat,10,8);
end;
InitGrid();
end;
end.