unit U_KHSKListView; 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, cxDropDownEdit, BtnEdit, Menus, Buttons, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; type TfrmKHSKListView = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; TBFind: TToolButton; ADOQueryMain: TADOQuery; Label3: TLabel; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridLevel1: TcxGridLevel; begdate: TDateTimePicker; Enddate: TDateTimePicker; cxGridPopupMenu2: TcxGridPopupMenu; DS_HZ: TDataSource; CDS_HZ: TClientDataSet; v2Column3: TcxGridDBColumn; CheckBox1: TCheckBox; v2Column2: TcxGridDBColumn; Label6: TLabel; BZType: TComboBox; v2Column5: TcxGridDBColumn; v2Column15: TcxGridDBColumn; FactoryNameHZ: TEdit; v2Column4: TcxGridDBColumn; cxGrid3: TcxGrid; Tv3: TcxGridDBTableView; cxGridDBColumn3: TcxGridDBColumn; v2Column9: TcxGridDBColumn; v2Column10: TcxGridDBColumn; cxGridDBColumn25: TcxGridDBColumn; v2Column13: TcxGridDBColumn; v2Column6: TcxGridDBColumn; cxGridLevel3: TcxGridLevel; DataSource3: TDataSource; cxGridPopupMenu3: TcxGridPopupMenu; ClientDataSet3: TClientDataSet; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure v2Column10CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure ConNoChange(Sender: TObject); procedure YFNameChange(Sender: TObject); procedure Tv2StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); procedure Tv3CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); private { Private declarations } procedure InitGrid(); public { Public declarations } FKHNO:String; FKBegDate,FKEndDate:TDateTime; end; var frmKHSKListView: TfrmKHSKListView; implementation uses U_DataLink,U_Fun,U_ZDYHelp, U_KHListSelJJ,U_RTFun,U_KHSKInPut,U_FjList,U_BankMoneyKHInPut; {$R *.dfm} procedure TfrmKHSKListView.InitGrid(); var fsj:string; begin fsj:=SGetWhereFinds(Panel1,1,2); try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; SQL.Clear; sql.Add('SELECT AA.* FROM('); sql.Add(' select CRTime=Convert(varchar(7),A.CRTime,120),A.SKDate,A.FactoryNo,A.FactoryNoSub,A.BZType,A.YFName,A.Payment,A.Note,A.YFID,A.Money,A.ConNo '); sql.Add(',FactoryName=(select KHNameJC from KH_Main KM where KM.KHNO=A.FactoryNo)'); sql.Add(',HuMing=(select HuMing from KH_Sub_Bank KSB where KSB.KHNOSub=A.FactoryNoSub)'); sql.Add(',FactoryNameHZ=dbo.getpinyin((select KHName from KH_Main KM where KM.KHNO=A.FactoryNo))+(select KHNameJC from KH_Main KM where KM.KHNO=A.FactoryNo)+ '); sql.Add('isnull((select HuMing from KH_Sub_Bank KSB where KSB.KHNOSub=A.FactoryNoSub),'''')'); sql.Add(' +A.FactoryNo+isnull(FactoryNoSub,'''')+dbo.getpinyin(isnull((select HuMing from KH_Sub_Bank KSB where KSB.KHNOSub=A.FactoryNoSub),''''))'); sql.Add(',SDQty=(select Count(*) from TP_File TF where TF.WBID=A.YFID and TF.TFType=''收款管理'' )'); sql.Add(',Case when isnull(BZType,'''')=''¥'' then ShiShouMoney else Null end as MoneyRMB '); sql.Add(',Case when isnull(BZType,'''')=''$'' then ShiShouMoney else Null end as MoneyMJ '); sql.Add(',B.BankNo,B.BankName,B.HuMingJC,A.GSNO,A.BKNO,A.ShuidanMoney,A.ShouXuMoney,A.JSMoney,A.Filler,A.FillTime,A.ChkStatusP'); sql.Add(' from YS_Money_CR A'); sql.Add(' left join KH_Sub_Bank B on A.BKNO=B.BKNO'); sql.Add(' left join KH_Main C on B.KHMainId=C.KHMainId'); sql.Add(' where A.FactoryNo='''+Trim(FKHNO)+''''); if CheckBox1.Checked then begin sql.Add(' and A.CRTime>='''+FormatDateTime('yyyy-MM-dd',begdate.DateTime)+''' '); sql.Add(' and CRTime<'''+FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1)+''' '); end else begin sql.Add(' and A.CRTime>=''2000-01-01'' '); sql.Add(' and CRTime<''2500-01-01'' '); end; sql.Add(' and A.CRType=''收款登记'')AA where 1=1 '); SQL.Add(fsj); Open; end; SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); finally ADOQueryMain.EnableControls; TBFind.Click; end; try ADOQueryTemp.DisableControls; with ADOQueryTemp do begin Filtered:=False; Close; SQL.Clear; sql.Add(' select CRTime,A.Note,A.YFID,A.JSMoney,A.FKType '); sql.Add(',A.FactoryNo,A.CRType,A.CRFlag,A.YFName,A.ConNo,A.ChkStatusP'); sql.Add(',FactoryName=(select KHNameJC from KH_Main KM where KM.KHNO=A.FactoryNo and Valid=''Y'' )'); sql.Add(',SDQty=(select Count(*) from TP_File TF where TF.WBID=A.YFID and TF.TFType=''客户费用管理'' )'); sql.Add(',Case when isnull(A.BZType,'''')=''¥'' then JSMoney else Null end as MoneyRMB '); sql.Add(',Case when isnull(A.BZType,'''')=''$'' then JSMoney else Null end as MoneyMJ '); sql.Add(' from YS_Money_CR A'); sql.Add(' left join KH_Sub_Bank B on A.BKNO=B.BKNO'); sql.Add(' left join KH_Main C on B.KHMainId=C.KHMainId'); sql.Add(' where A.FactoryNo='''+Trim(FKHNO)+''''); if CheckBox1.Checked then begin sql.Add(' and A.CRTime>='''+FormatDateTime('yyyy-MM-dd',begdate.DateTime)+''' '); sql.Add(' and CRTime<'''+FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1)+''' '); end else begin sql.Add(' and A.CRTime>=''2000-01-01'' '); sql.Add(' and CRTime<''2500-01-01'' '); end; sql.Add(' and A.CRType=''客户费用管理'''); Open; end; SCreateCDS20(ADOQueryTemp,ClientDataSet3); SInitCDSData20(ADOQueryTemp,ClientDataSet3); finally ClientDataSet3.EnableControls; end; end; procedure TfrmKHSKListView.FormDestroy(Sender: TObject); begin frmKHSKListView:=nil; end; procedure TfrmKHSKListView.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmKHSKListView.TBCloseClick(Sender: TObject); begin WriteCxGrid('客户收款列表JJ',Tv2,'财务管理'); WriteCxGrid('客户费用列表JJ',Tv3,'财务管理'); Close; end; procedure TfrmKHSKListView.FormShow(Sender: TObject); begin ReadCxGrid('客户收款列表JJ',Tv2,'财务管理'); ReadCxGrid('客户费用列表JJ',Tv3,'财务管理'); InitGrid(); end; procedure TfrmKHSKListView.TBRafreshClick(Sender: TObject); begin ToolBar1.SetFocus; InitGrid(); end; procedure TfrmKHSKListView.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active=False then Exit; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); end; procedure TfrmKHSKListView.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmKHSKListView.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin try frmKHSKInPut:=TfrmKHSKInPut.Create(Application); with frmKHSKInPut do begin FMainId:=Trim(Self.CDS_HZ.fieldbyname('YFID').AsString); ToolButton4.Visible:=False; Panel1.Enabled:=False; if ShowModal=1 then begin end; end; finally frmKHSKInPut.Free; end; end; procedure TfrmKHSKListView.v2Column10CustomDrawCell( Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); var id,id10:Integer; begin Id:=Tv2.GetColumnByFieldName('ShuidanMoney').Index; id10:=Tv2.GetColumnByFieldName('MoneyMJ').Index; if AViewInfo.GridRecord.Values[Id]>0 then begin if AViewInfo.GridRecord.Values[Id10]=Null then begin ACanvas.Brush.Color:=clRed; end; end; end; procedure TfrmKHSKListView.ConNoChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmKHSKListView.YFNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmKHSKListView.Tv2StylesGetContentStyle( Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); var id:Integer; begin Id:=Tv2.GetColumnByFieldName('ChkStatusP').Index; if ARecord.Values[id]='已审核' then exit; AStyle:=DataLink_Money.SkyBlue; end; procedure TfrmKHSKListView.Tv3CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin try frmBankMoneyKHInPut:=TfrmBankMoneyKHInPut.Create(Application); with frmBankMoneyKHInPut do begin FMainId:=Trim(Self.ClientDataSet3.fieldbyname('YFID').AsString); ToolButton4.Visible:=False; Panel1.Enabled:=False; if ShowModal=1 then begin InitGrid(); end; end; finally frmBankMoneyKHInPut.Free; end; end; end.