unit u_crm_client_report; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, bsSkinCtrls, StdCtrls, Mask, wwdbedit, Wwdotdot, Wwdbcomb, ExtCtrls, wwdbdatetimepicker, dxExEdtr, dxCntner, dxTL, dxDBCtrl, dxDBGrid, DB, ADODB, RxLookup; type Tfrm_crm_client_report = class(TForm) dxDBGrid1: TdxDBGrid; p_client: TADOStoredProc; p_client1: TDataSource; dxDBGrid1Column1: TdxDBGridMaskColumn; dxDBGrid1Column2: TdxDBGridMaskColumn; dxDBGrid1Column3: TdxDBGridMaskColumn; dxDBGrid1Column4: TdxDBGridMaskColumn; dxDBGrid1Column5: TdxDBGridMaskColumn; dxDBGrid1Column6: TdxDBGridMaskColumn; dxDBGrid1Column7: TdxDBGridMaskColumn; dxDBGrid1Column8: TdxDBGridMaskColumn; dxDBGrid1Column9: TdxDBGridColumn; dxDBGrid1Column10: TdxDBGridColumn; bsSkinGroupBox1: TbsSkinGroupBox; Label1: TLabel; Label2: TLabel; Label14: TLabel; Edit1: TEdit; wwDBDateTimePicker1: TwwDBDateTimePicker; bsSkinButton1: TbsSkinButton; RxDBLookupCombo3: TRxDBLookupCombo; bsSkinButton9: TbsSkinButton; bsSkinButton5: TbsSkinButton; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure bsSkinButton5Click(Sender: TObject); procedure bsSkinButton1Click(Sender: TObject); procedure bsSkinButton9Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure RxDBLookupCombo3KeyPress(Sender: TObject; var Key: Char); procedure wwDBDateTimePicker1KeyPress(Sender: TObject; var Key: Char); procedure dxDBGrid1ColumnSorting(Sender: TObject; Column: TdxDBTreeListColumn; var Allow: Boolean); private { Private declarations } public { Public declarations } end; var frm_crm_client_report: Tfrm_crm_client_report; implementation uses u_main, my_sys_function, u_data_share; {$R *.dfm} procedure Tfrm_crm_client_report.FormClose(Sender: TObject; var Action: TCloseAction); begin frm_crm_client_report.Hide; frm_crm_client_report.ManualFloat(frm_crm_client_report.BoundsRect ); frm_main.freeTabs('frm_crm_client_report'); action:=cafree; frm_crm_client_report:=nil; end; procedure Tfrm_crm_client_report.bsSkinButton5Click(Sender: TObject); begin close; end; procedure Tfrm_crm_client_report.bsSkinButton1Click(Sender: TObject); var str:widestring; begin if Edit1.text='' then begin showmessage('请输入业务天数!!'); exit; end; if wwDBDateTimePicker1.text='' then begin showmessage('请输入截止日期!!'); exit; end; try strtoint(Edit1.text); except showmessage('业务天数只能输入数字!!'); exit; end; str:='having isnull(MAX(v_op_no.业务日期),'+''''+'2000-01-01'+'''' +')<='+''''+datetimetostr(wwDBDateTimePicker1.date-strtoint(Edit1.text))+''''; if RxDBLookupCombo3.DisplayValue<>''then str:=str+' and t_crm_client.揽货人='+''''+RxDBLookupCombo3.DisplayValue+''''; str:=str+' and '+open_data('8004','t_crm_client.揽货人','no','no','no','no'); p_client.close; p_client.Parameters.ParamByName('SQLStr').value:= 'SELECT t_crm_client.客户状态, t_crm_client.客户价值, t_crm_client.客户性质,' +'t_crm_client.结费期限, t_crm_client.客户简称, t_crm_client.客户全称,' +'t_crm_client.通讯地址, t_crm_client.邮箱, t_crm_client.代码,' +'t_crm_client.网站, t_crm_client.电话, t_crm_client.传真,' +'t_crm_client.揽货人, t_crm_client.法人, t_crm_client.营业执照,' +'t_crm_client.国税登记, t_crm_client.地税登记, t_crm_client.开户行USD,' +'t_crm_client.帐号USD, t_crm_client.开户行RMB, t_crm_client.帐号RMB,' +'t_crm_client.发票抬头, t_crm_client.企业规模, t_crm_client.业务货量,' +'t_crm_client.出口区域, t_crm_client.业务区域, t_crm_client.出口箱型,' +'t_crm_client.货物名称, t_crm_client.报关名称, t_crm_client.海关编码,' +'t_crm_client.商品编码, t_crm_client.是否商检, t_crm_client.是否熏蒸,' +'t_crm_client.是否报关, t_crm_client.报关习惯, t_crm_client.运价要求,' +'t_crm_client.付费习惯, t_crm_client.结费方式, t_crm_client.发票要求,' +'t_crm_client.船公司要求, t_crm_client.提单要求, t_crm_client.结费习惯,' +'t_crm_client.派车习惯, t_crm_client.操作习惯, t_crm_client.注重环节,' +'t_crm_client.评价分析, t_crm_client.其他要求, t_crm_client.录入人,' +'t_crm_client.录入日期, MAX(v_op_no.业务日期) AS 业务日期 ' +'FROM t_crm_client INNER JOIN ' +'v_op_no ON t_crm_client.客户简称 = v_op_no.委托单位 ' +'GROUP BY t_crm_client.客户状态, t_crm_client.客户价值,' +'t_crm_client.客户性质, t_crm_client.结费期限, t_crm_client.客户简称,' +'t_crm_client.客户全称, t_crm_client.通讯地址, t_crm_client.邮箱,' +'t_crm_client.代码, t_crm_client.网站, t_crm_client.电话,' +'t_crm_client.传真, t_crm_client.揽货人, t_crm_client.法人,' +'t_crm_client.营业执照, t_crm_client.国税登记, t_crm_client.地税登记,' +'t_crm_client.开户行USD, t_crm_client.帐号USD, t_crm_client.开户行RMB,' +'t_crm_client.帐号RMB, t_crm_client.发票抬头, t_crm_client.企业规模,' +'t_crm_client.业务货量, t_crm_client.出口区域, t_crm_client.业务区域,' +'t_crm_client.出口箱型, t_crm_client.货物名称, t_crm_client.报关名称,' +'t_crm_client.海关编码, t_crm_client.商品编码, t_crm_client.是否商检,' +'t_crm_client.是否熏蒸, t_crm_client.是否报关, t_crm_client.报关习惯,' +'t_crm_client.运价要求, t_crm_client.付费习惯, t_crm_client.结费方式,' +'t_crm_client.发票要求, t_crm_client.船公司要求, t_crm_client.提单要求,' +'t_crm_client.结费习惯, t_crm_client.派车习惯, t_crm_client.操作习惯,' +'t_crm_client.注重环节, t_crm_client.评价分析, t_crm_client.其他要求,' +'t_crm_client.录入人, t_crm_client.录入日期 ' +str +' order by t_crm_client.揽货人, t_crm_client.客户简称'; p_client.open; end; procedure Tfrm_crm_client_report.bsSkinButton9Click(Sender: TObject); begin sys_print('流失客户统计打印',2,nil,nil,nil,nil,p_client1,nil,nil,nil,nil,nil,nil); end; procedure Tfrm_crm_client_report.FormShow(Sender: TObject); begin frm_data_share.t_sys_employee.requery; end; procedure Tfrm_crm_client_report.Edit1KeyPress(Sender: TObject; var Key: Char); begin key_RxDBLookupCombo(Key,RxDBLookupCombo3); end; procedure Tfrm_crm_client_report.RxDBLookupCombo3KeyPress(Sender: TObject; var Key: Char); begin key_wwDBDateTimePicker(Key,wwDBDateTimePicker1); end; procedure Tfrm_crm_client_report.wwDBDateTimePicker1KeyPress( Sender: TObject; var Key: Char); begin if key=#13 then begin key:=#0; frm_crm_client_report.bsSkinButton1Click(Sender); end; end; procedure Tfrm_crm_client_report.dxDBGrid1ColumnSorting(Sender: TObject; Column: TdxDBTreeListColumn; var Allow: Boolean); begin Column_sort_pro(Column,p_client,'客户简称'); end; end.