unit U_YSSKList; 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, Menus, cxPC; type TfrmYSSKList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; ToolButton2: TToolButton; ADOQueryMain: TADOQuery; ToolButton1: TToolButton; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; Label3: TLabel; Label2: TLabel; Label6: TLabel; begdate: TDateTimePicker; Enddate: TDateTimePicker; cxGridPopupMenu2: TcxGridPopupMenu; DS_HZ: TDataSource; CDS_HZ: TClientDataSet; Label1: TLabel; ComTaiTou: TEdit; Label4: TLabel; FHAddress: TEdit; Label5: TLabel; FHdq: TEdit; cxGrid1: TcxGrid; TV2: TcxGridDBTableView; cxGridDBColumn6: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; cxGridDBColumn8: TcxGridDBColumn; cxGridDBColumn9: TcxGridDBColumn; cxGridDBColumn10: TcxGridDBColumn; cxGridDBColumn11: TcxGridDBColumn; cxGridDBColumn12: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; V1GCName: TcxGridDBColumn; GCName: TComboBox; TKP: TToolButton; V2YWY: TcxGridDBColumn; V2Ssel: TcxGridDBColumn; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; V2RMBKPMoney: TcxGridDBColumn; V2JTBoss: TcxGridDBColumn; V2Note: TcxGridDBColumn; V2RMBSQMoney: TcxGridDBColumn; cxSplitter1: TcxSplitter; cxGrid2: TcxGrid; TV1: TcxGridDBTableView; v1CRTime: TcxGridDBColumn; v1YFName: TcxGridDBColumn; v1P_CodeName: TcxGridDBColumn; v1TeXing: TcxGridDBColumn; v1SGFangshi: TcxGridDBColumn; v1FactoryName: TcxGridDBColumn; v1ComTaiTou: TcxGridDBColumn; cxGridDBColumn1: TcxGridDBColumn; v2JSTypeM: TcxGridDBColumn; v2XXPrice: TcxGridDBColumn; v1XFBFB: TcxGridDBColumn; v1KSFee: TcxGridDBColumn; v1KSFeeP8: TcxGridDBColumn; v1WPZFee: TcxGridDBColumn; v1XSFee: TcxGridDBColumn; v1Qty: TcxGridDBColumn; v1Price: TcxGridDBColumn; V2yfk: TcxGridDBColumn; V2fk: TcxGridDBColumn; v1yfkye: TcxGridDBColumn; v1Note: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; DataSource1: TDataSource; Order_Sub: TClientDataSet; ADOQuery1: TADOQuery; 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 GCNameChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure TKPClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure V2JTBossPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure TV2CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); private { Private declarations } procedure InitGrid(); public fDParameters1:string; { Public declarations } RKFlag,FCYID:String; end; var frmYSSKList: TfrmYSSKList; implementation uses U_DataLink,U_Fun,U_ZDYHelp,U_YSSKList_KP; {$R *.dfm} procedure TfrmYSSKList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; SQL.Clear; sql.Add(' exec P_YSSK_List :begdate,:Enddate'); Parameters.ParamByName('begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',begdate.DateTime)); Parameters.ParamByName('Enddate').Value:=Trim(FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1)); Open; end; SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); finally ADOQueryMain.EnableControls; end; ToolButton2.Click; end; procedure TfrmYSSKList.FormDestroy(Sender: TObject); begin frmYSSKList:=nil; end; procedure TfrmYSSKList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmYSSKList.TBCloseClick(Sender: TObject); begin WriteCxGrid('应收收款统计1',Tv2,'财务管理'); Close; end; procedure TfrmYSSKList.FormShow(Sender: TObject); var fsj:string; begin ReadCxGrid('应收收款统计1',Tv2,'财务管理'); Enddate.DateTime:=SGetServerDate(ADOQueryTemp); begdate.DateTime:=Enddate.DateTime; fsj:='select distinct (A.GCName) name from YF_Money_CR A where A.CRType=''应收款登记'' '; SInitComBoxBySql(ADOQueryCmd,GCName,False,fsj); //InitGrid(); end; procedure TfrmYSSKList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmYSSKList.ToolButton2Click(Sender: TObject); var fsj:string; begin if ADOQueryMain.Active=False then Exit; SDofilter(ADOQueryMain,Trim(SGetFilters(Panel1,1,2))); SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); end; procedure TfrmYSSKList.GCNameChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmYSSKList.ToolButton1Click(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; SelExportData(Tv2,ADOQueryMain,'应收收款统计列表'); end; procedure TfrmYSSKList.TKPClick(Sender: TObject); begin frmYSSKList_KP:=TfrmYSSKList_KP.create(self); with frmYSSKList_KP do begin frmYSSKList_KP.FFactoryName:=trim(self.CDS_HZ.fieldbyname('GCName').AsString); if showmodal=1 then begin end; free; end; end; procedure TfrmYSSKList.N1Click(Sender: TObject); begin SelOKNo(CDS_HZ,true); end; procedure TfrmYSSKList.N2Click(Sender: TObject); begin SelOKNo(CDS_HZ,false); end; procedure TfrmYSSKList.V2JTBossPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='JTBoss'; flagname:='具体老板'; if ShowModal=1 then begin with Self.CDS_HZ do begin Edit; FieldByName('JTBoss').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmYSSKList.TV2CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); var FMoney,FUSDMoney:double; begin with ADOQuery1 do begin close; sql.Clear; sql.Add('select Sum(yfkye) yfkye,sum(USDyfkye) USDyfkye '); sql.add('from (select yfkye=(case when BZType<>''USD'' and BZType<>''$'' then Sum((Money+isnull(SXMoney,0))*QtyFlag) else 0 end) '); sql.add(',USDyfkye=(case when BZType<>''RMB'' and BZType<>''¥'' then Sum((Money+isnull(SXMoney,0))*QtyFlag) else 0 end) '); sql.add('from YF_Money_CR '); sql.add('where CRTime<'''+FormatDateTime('yyyy-MM-dd',begdate.DateTime)+''''); sql.add(' and CRtype in (''应收款登记'',''收款登记'') and isnull(FeeType,'''')<>''虚拟费用'''); sql.add(' and GCName='''+trim(CDS_HZ.fieldbyname('GCName').AsString)+''''); sql.add(' and isnull(status,''0'')<>''0'' '); sql.add(' group by BZType) AA'); open; end; FMoney:=ADOQuery1.fieldbyname('yfkye').asfloat; FUSDMoney:=ADOQuery1.fieldbyname('USDyfkye').asfloat; with ADOQuery1 do begin Close; SQL.Clear; sql.Add(' select ConNo=isnull((select Top 1 F.ConNo from JYOrderCon_Sub E inner join JYOrderCon_Main F on E.Mainid=F.Mainid where E.Subid=AA.ConID),AA.ConNO)'); sql.add(' ,OrderNO=isnull(AA.OrderNo,(select Top 1 E.OrderNo from JYOrder_Main E where E.Mainid=AA.Mainid))'); sql.add(' ,AA.* '); sql.add(' from (select A.*,JSTypeM=(case when isnull(JSType,'''')='''' then TeXing else JSType end),'); sql.Add(' yfk=(case when A.BZType<>''USD'' and A.BZType<>''$'' then cast(Money as decimal(18,2)) else 0 end)'); sql.add(',USDyfk=(case when A.BZType<>''RMB'' and A.BZType<>''¥'' then cast(Money as decimal(18,2)) else 0 end)'); sql.add(',fk=cast(0 as decimal(18,2)),USDfk=cast(0 as decimal(18,2))'); sql.add(',USDSXMoney=cast(0 as decimal(18,2)),RMBSXMoney=cast(0 as decimal(18,2))'); sql.add(',cast(0 as decimal(18,2)) yfkye,cast(0 as decimal(18,2)) USDyfkye'); sql.add(',RMBMoney=(case when A.BZType<>''USD'' and A.BZType<>''$'' then cast(Money as decimal(18,2)) else 0 end)'); sql.add(',USDMoney=(case when A.BZType<>''RMB'' and A.BZType<>''¥'' then cast(Money as decimal(18,2)) else 0 end)'); sql.Add(' from YF_Money_CR A'); sql.Add(' where A.CRTime>='''+FormatDateTime('yyyy-MM-dd',begdate.DateTime)+''' '); sql.Add(' and A.CRTime<'''+FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1)+''' '); sql.Add(' and A.CRType=''应收款登记'' '); sql.Add(' and isnull(YFName,'''')<>''坯布虚拟费'''); sql.add(' union all'); sql.Add(' select A.*,JSTypeM=(case when isnull(JSType,'''')='''' then TeXing else JSType end),'); sql.Add('cast(0 as decimal(18,2)) yfk,cast(0 as decimal(18,2)) USDyfk '); sql.add(',fk=(case when A.BZType<>''USD'' and A.BZType<>''$'' then cast(Money as decimal(18,2)) else 0 end)'); sql.add(',USDfk=(case when A.BZType<>''RMB'' and A.BZType<>''¥'' then cast(Money as decimal(18,2)) else 0 end)'); sql.add(',USDSXMoney=(case when A.BZType<>''RMB'' and A.BZType<>''¥'' then cast(SXMoney as decimal(18,2)) else 0 end)'); sql.Add(',RMBSXMoney=(case when A.BZType<>''USD'' and A.BZType<>''$'' then cast(SXMoney as decimal(18,2)) else 0 end)'); sql.add(',cast(0 as decimal(18,2)) yfkye,cast(0 as decimal(18,2)) USDyfkye'); sql.add(',RMBMoney=(case when A.BZType<>''USD'' and A.BZType<>''$'' then cast(Money as decimal(18,2)) else 0 end)'); sql.add(',USDMoney=(case when A.BZType<>''RMB'' and A.BZType<>''¥'' then cast(Money as decimal(18,2)) else 0 end)'); sql.Add(' from YF_Money_CR A'); sql.Add(' where A.CRTime>='''+FormatDateTime('yyyy-MM-dd',begdate.DateTime)+''' '); sql.Add(' and A.CRTime<'''+FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1)+''' '); sql.Add(' and A.CRType=''收款登记'' ) AA'); sql.add(' where 1=1'); sql.add(' and GCName='''+trim(CDS_HZ.fieldbyname('GCName').AsString)+''''); sql.add(' and isnull(AA.status,''0'')<>''0'' '); sql.Add('order by AA.CRTime'); Open; end; SCreateCDS20(ADOQuery1,Order_Sub); with Order_Sub do begin append; fieldbyname('Ssel').AsBoolean:=false; fieldbyname('CRTime').Value:=begdate.DateTime; fieldbyname('yfkye').Value:=FMoney; fieldbyname('USDyfkye').Value:=FUSDMoney; post; end; Order_Sub.DisableControls; with ADOQuery1 do begin first; while not eof do begin with Order_Sub do begin append; fieldbyname('Ssel').AsBoolean:=false; fieldbyname('CRTime').Value:=ADOQuery1.fieldbyname('CRTime').AsDateTime; fieldbyname('factoryName').Value:=ADOQuery1.fieldbyname('factoryName').AsString; fieldbyname('P_CodeName').Value:=ADOQuery1.fieldbyname('P_CodeName').AsString; fieldbyname('YFName').Value:=ADOQuery1.fieldbyname('YFName').AsString; fieldbyname('TeXing').Value:=ADOQuery1.fieldbyname('TeXing').AsString; fieldbyname('SGFangshi').Value:=ADOQuery1.fieldbyname('SGFangshi').AsString; fieldbyname('Qtyunit').Value:=ADOQuery1.fieldbyname('Qtyunit').AsString; fieldbyname('GCName').Value:=ADOQuery1.fieldbyname('GCName').AsString; fieldbyname('JSTypeM').Value:=ADOQuery1.fieldbyname('JSTypeM').AsString; fieldbyname('XXPrice').Value:=ADOQuery1.fieldbyname('XXPrice').AsFloat; fieldbyname('XFBFB').Value:=ADOQuery1.fieldbyname('XFBFB').AsFloat; fieldbyname('KSFee').Value:=ADOQuery1.fieldbyname('KSFee').AsFloat; fieldbyname('KSFeeP8').Value:=ADOQuery1.fieldbyname('KSFeeP8').AsFloat; fieldbyname('WPZFee').Value:=ADOQuery1.fieldbyname('WPZFee').AsFloat; fieldbyname('XSFee').Value:=ADOQuery1.fieldbyname('XSFee').AsFloat; fieldbyname('Qty').Value:=ADOQuery1.fieldbyname('Qty').AsFloat; fieldbyname('Price').Value:=ADOQuery1.fieldbyname('Price').AsFloat; fieldbyname('yfk').Value:=ADOQuery1.fieldbyname('yfk').AsFloat; fieldbyname('fk').Value:=ADOQuery1.fieldbyname('fk').AsFloat; fieldbyname('USDyfk').Value:=ADOQuery1.fieldbyname('USDyfk').AsFloat; fieldbyname('USDfk').Value:=ADOQuery1.fieldbyname('USDfk').AsFloat; FMoney:=FMoney+ADOQuery1.fieldbyname('RMBMoney').AsFloat*ADOQuery1.fieldbyname('QtyFlag').AsFloat; FUSDMoney:=FUSDMoney+ADOQuery1.fieldbyname('USDMoney').AsFloat*ADOQuery1.fieldbyname('QtyFlag').AsFloat; fieldbyname('yfkye').Value:=FMoney; fieldbyname('USDyfkye').Value:=FUSDMoney; FieldByName('USDSXMoney').Value:=ADOQuery1.fieldbyname('USDSXMoney').AsFloat; FieldByName('RMBSXMoney').Value:=ADOQuery1.fieldbyname('RMBSXMoney').AsFloat; fieldbyname('note').Value:=ADOQuery1.fieldbyname('note').AsString; fieldbyname('FKType').Value:=ADOQuery1.fieldbyname('FKType').AsString; fieldbyname('YFName').Value:=ADOQuery1.fieldbyname('YFName').AsString; fieldbyname('ComTaiTou').Value:=trim(ADOQuery1.fieldbyname('ComTaiTou').AsString); post; end; next; end; end; Order_Sub.EnableControls; end; end.