unit U_YSSKListTaiTou; 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, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; type TfrmYSSKListTaiTou = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; ToolButton2: TToolButton; ToolButton1: TToolButton; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; Label3: TLabel; FactoryName10: TEdit; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridLevel1: TcxGridLevel; Label2: TLabel; Label6: TLabel; begdate: TDateTimePicker; Enddate: TDateTimePicker; cxGridPopupMenu2: TcxGridPopupMenu; DS_HZ: TDataSource; v2Column5: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v2Column2: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v2Column4: TcxGridDBColumn; ADOQueryMain: TADOQuery; CDS_HZ: TClientDataSet; v2Column7: TcxGridDBColumn; v2Column8: TcxGridDBColumn; v2Column9: TcxGridDBColumn; CheckBox1: TCheckBox; v2Column10: TcxGridDBColumn; v2Column11: TcxGridDBColumn; ToolButton3: TToolButton; v2Column12: TcxGridDBColumn; v2Column13: TcxGridDBColumn; v2Column14: TcxGridDBColumn; v2Column15: TcxGridDBColumn; v2Column16: TcxGridDBColumn; v2Column17: TcxGridDBColumn; Label1: TLabel; ComTaiTou: TEdit; v2Column18: TcxGridDBColumn; 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 FactoryName10Change(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure cxTabControl1Change(Sender: TObject); procedure v2Column6HeaderClick(Sender: TObject); procedure ToolButton3Click(Sender: TObject); private { Private declarations } procedure InitGrid(); public fDParameters1:string; { Public declarations } RKFlag,FCYID:String; end; var frmYSSKListTaiTou: TfrmYSSKListTaiTou; implementation uses U_DataLink,U_RTFun,U_Fun,U_ZDYHelp,U_ZZYSMXlist,U_YSMXlistTaiTou; {$R *.dfm} procedure TfrmYSSKListTaiTou.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; SQL.Clear; Filtered:=False; sql.Add(' exec P_YSSK_List_TaiTou :begdate,:Enddate') ; if CheckBox1.Checked=True then begin Parameters.ParamByName('begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',begdate.DateTime)); Parameters.ParamByName('Enddate').Value:=Trim(FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1)); end else begin Parameters.ParamByName('begdate').Value:='2000-01-01'; Parameters.ParamByName('Enddate').Value:='2500-01-01'; end; Open; end; SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); finally ADOQueryMain.EnableControls; end; //ToolButton2.Click; end; procedure TfrmYSSKListTaiTou.FormDestroy(Sender: TObject); begin frmYSSKListTaiTou:=nil; end; procedure TfrmYSSKListTaiTou.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmYSSKListTaiTou.TBCloseClick(Sender: TObject); begin WriteCxGrid('应收收款统计TT',Tv2,'财务管理'); Close; end; procedure TfrmYSSKListTaiTou.FormShow(Sender: TObject); begin ReadCxGrid('应收收款统计TT',Tv2,'财务管理'); Enddate.DateTime:=SGetServerDate(ADOQueryTemp); begdate.DateTime:=SGetServerDateMBeg(ADOQueryTemp); {with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select distinct(ComTaiTou) from YF_Money_CR where CRFlag=''应收收'' and ISNULL(ComTaiTou,'''')<>'''' '); Open; end; cxTabControl1.Tabs.Clear; with ADOQueryTemp do begin First; while not Eof do begin cxTabControl1.Tabs.Add(ADOQueryTemp.fieldbyname('ComTaiTou').AsString); Next; end; end; } InitGrid(); end; procedure TfrmYSSKListTaiTou.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmYSSKListTaiTou.ToolButton2Click(Sender: TObject); var fsj:string; begin if ADOQueryMain.Active=False then Exit; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); end; procedure TfrmYSSKListTaiTou.FactoryName10Change(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmYSSKListTaiTou.ToolButton1Click(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; SelExportData(Tv2,ADOQueryMain,'应收款统计列表'); end; procedure TfrmYSSKListTaiTou.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin try frmYSMXListTaiTou:=TfrmYSMXListTaiTou.Create(Application); with frmYSMXListTaiTou do begin FMX:='99'; frmYSMXListTaiTou.begdate.DateTime:=Self.begdate.DateTime; frmYSMXListTaiTou.Enddate.DateTime:=Self.Enddate.DateTime; frmYSMXListTaiTou.factoryName.Text:=Self.CDS_HZ.fieldbyname('factoryName').AsString; frmYSMXListTaiTou.ComTaiTou.Text:=Self.CDS_HZ.fieldbyname('ComTaiTou').AsString; if Self.CheckBox1.Checked then begin frmYSMXListTaiTou.CheckBox1.Checked:=True; end else begin frmYSMXListTaiTou.CheckBox1.Checked:=False; end; frmYSMXListTaiTou.Align:=alClient; if ShowModal=1 then begin end; end; finally frmYSMXListTaiTou.Free; end; end; procedure TfrmYSSKListTaiTou.cxTabControl1Change(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmYSSKListTaiTou.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, []); { 正序 } CDS_HZ.AddIndex(FNameJX, FName, [ixDescending]); { 倒序 } {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 TfrmYSSKListTaiTou.ToolButton3Click(Sender: TObject); var filepath:string; mBegdate,mEnddate:string; FName,FNameSX,FNameJX:String; i:Integer; begin for i:=0 to Tv2.ColumnCount-1 do begin FName:=Tv2.Columns[i].DataBinding.FilterFieldName; FNameSX:=Trim(FName)+'-1'; FNameJX:=Trim(FName)+'-2'; CDS_HZ.AddIndex(FNameSX, FName, []); { 正序 } CDS_HZ.AddIndex(FNameJX, FName, [ixDescending]); { 倒序 } {if Tv2.Columns[i].SortOrder=soDescending then begin CDS_HZ.IndexName:=FNameJX; end else if Tv2.Columns[i].SortOrder=soAscending then begin CDS_HZ.IndexName:=FNameSX; end; } end; mbegdate:=FormatDateTime('yyyy-MM-dd',begdate.Date); menddate:=FormatDateTime('yyyy-MM-dd',enddate.Date); if CDS_HZ.IsEmpty then exit; try filepath:=ExtractFilePath(Application.ExeName) + 'report\应收款统计报表.rmf'; if not FileExists(Pchar(filepath)) then begin application.MessageBox(pchar('文件['+filepath+']不存在!'),'提示信息',MB_IConError); exit; end; RmVariables['begDate'] :=FormatDateTime('yymmdd',begDate.Date)+'-'+FormatDateTime('yymmdd',enddate.Date); RM1.LoadFromFile(filepath); RM1.ShowReport; finally end; end; end.