unit U_YFFKListDZ; 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, BtnEdit; type TfrmYFFKListDZ = 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; Label3: TLabel; RadioGroup1: TRadioGroup; FactoryNameGYS: TEdit; v2Column1: TcxGridDBColumn; v2Column2: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v2Column5: 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 ToolButton1Click(Sender: TObject); procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure ToolButton3Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure RadioGroup1Click(Sender: TObject); procedure Tv2DblClick(Sender: TObject); procedure FactoryNameGYSChange(Sender: TObject); private { Private declarations } procedure InitGrid(); public fDParameters1:string; { Public declarations } RKFlag,FCYID:String; end; var frmYFFKListDZ: TfrmYFFKListDZ; implementation uses U_DataLink,U_RTFun,U_Fun,U_ZDYHelp,U_YFMXlistMonDayGQX,U_GYSListSelJJ; {$R *.dfm} procedure TfrmYFFKListDZ.InitGrid(); var FYue,FDate:string; FInt:Integer; FHuiLv:Double; begin if RadioGroup1.ItemIndex=0 then 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; end; 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 TfrmYFFKListDZ.FormDestroy(Sender: TObject); begin frmYFFKListDZ:=nil; end; procedure TfrmYFFKListDZ.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmYFFKListDZ.TBCloseClick(Sender: TObject); begin WriteCxGrid('应付款统计报表YXDZ',Tv2,'财务管理'); Close; end; procedure TfrmYFFKListDZ.FormShow(Sender: TObject); var fstr:string; begin ReadCxGrid('应付款统计报表YXDZ',Tv2,'财务管理'); 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 TfrmYFFKListDZ.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmYFFKListDZ.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 TfrmYFFKListDZ.ToolButton1Click(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; TcxGridToExcel('应付款统计列表DZ',cxGrid2); end; procedure TfrmYFFKListDZ.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); var FName,FNO:string; begin if CDS_HZ.IsEmpty then Exit; try frmYFMXlistMonDayGQX:=TfrmYFMXlistMonDayGQX.Create(Application); with frmYFMXlistMonDayGQX do begin FMX:='99'; PState:=Self.RadioGroup1.ItemIndex; if Self.RadioGroup1.ItemIndex=0 then begin frmYFMXlistMonDayGQX.begdate.DateTime:=Self.begdate.DateTime; frmYFMXlistMonDayGQX.cxTabControl1.TabIndex:=Self.cxTabControl1.TabIndex; frmYFMXlistMonDayGQX.factoryName.Text:=Self.CDS_HZ.fieldbyname('factoryName').AsString; frmYFMXlistMonDayGQX.Fbegdate.DateTime:=Self.Fbegdate.DateTime; frmYFMXlistMonDayGQX.FEnddate.DateTime:=Self.FEnddate.DateTime; end else if Self.RadioGroup1.ItemIndex=1 then begin frmYFMXlistMonDayGQX.begdate.DateTime:=Self.begdate.DateTime; frmYFMXlistMonDayGQX.Fbegdate.DateTime:=Self.Fbegdate.DateTime; frmYFMXlistMonDayGQX.FEnddate.DateTime:=Self.FEnddate.DateTime; frmYFMXlistMonDayGQX.factoryName.Text:=Self.CDS_HZ.fieldbyname('factoryName').AsString; end; frmYFMXlistMonDayGQX.factoryName.TxtCode:=Self.CDS_HZ.fieldbyname('factoryNo').AsString; frmYFMXlistMonDayGQX.Align:=alClient; frmYFMXlistMonDayGQX.LabGYS.Caption:=Self.CDS_HZ.fieldbyname('factoryName').AsString; if ShowModal=1 then begin end; end; finally frmYFMXlistMonDayGQX.Free; end; end; procedure TfrmYFFKListDZ.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)+'年'+Trim(Copy(fsj,3,Length(fsj)-2))+'份'; if CDS_HZ.IsEmpty then exit; try filepath:=ExtractFilePath(Application.ExeName) + 'report\应付款统计报表YX.rmf'; if not FileExists(Pchar(filepath)) then begin application.MessageBox(pchar('文件['+filepath+']不存在!'),'提示信息',MB_IConError); exit; end; RmVariables['begDate'] :=mbegdate; RM1.LoadFromFile(filepath); RM1.ShowReport; finally end; end; procedure TfrmYFFKListDZ.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmYFFKListDZ.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; procedure TfrmYFFKListDZ.Tv2DblClick(Sender: TObject); var FName,FNO:string; begin {if CDS_HZ.IsEmpty=False then Exit; FName:='';FNO:=''; if Trim(FactoryName.TxtCode)<>'' then begin if CDS_HZ.IsEmpty then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * '); sql.Add(' from KH_Main A '); sql.add(' where isnull(KHFlag,'''')='''+Trim('GYS')+''' and isnull(Valid,'''')=''Y'' '); sql.Add(' and KHNO='''+Trim(FactoryName.TxtCode)+''''); Open; end; FName:=Trim(ADOQueryTemp.fieldbyname('KHNameJC').AsString); end; end; FNO:=Trim(FactoryName.TxtCode); if Trim(FName)='' then Exit; if Trim(FNO)='' then Exit; try frmYFMXlistMonDayGQX:=TfrmYFMXlistMonDayGQX.Create(Application); with frmYFMXlistMonDayGQX do begin FMX:='99'; PState:=Self.RadioGroup1.ItemIndex; if Self.RadioGroup1.ItemIndex=0 then begin frmYFMXlistMonDayGQX.begdate.DateTime:=Self.begdate.DateTime; frmYFMXlistMonDayGQX.cxTabControl1.TabIndex:=Self.cxTabControl1.TabIndex; frmYFMXlistMonDayGQX.factoryName.Text:=FName; frmYFMXlistMonDayGQX.Fbegdate.DateTime:=Self.Fbegdate.DateTime; frmYFMXlistMonDayGQX.FEnddate.DateTime:=Self.FEnddate.DateTime; end else if Self.RadioGroup1.ItemIndex=1 then begin frmYFMXlistMonDayGQX.begdate.DateTime:=Self.begdate.DateTime; frmYFMXlistMonDayGQX.Fbegdate.DateTime:=Self.Fbegdate.DateTime; frmYFMXlistMonDayGQX.FEnddate.DateTime:=Self.FEnddate.DateTime; frmYFMXlistMonDayGQX.factoryName.Text:=FName; end; frmYFMXlistMonDayGQX.factoryName.TxtCode:=Trim(FNO); frmYFMXlistMonDayGQX.Align:=alClient; frmYFMXlistMonDayGQX.LabGYS.Caption:=FName; if ShowModal=1 then begin end; end; finally frmYFMXlistMonDayGQX.Free; end; } end; procedure TfrmYFFKListDZ.FactoryNameGYSChange(Sender: TObject); begin ToolButton2.Click; end; end.