unit u_rp_rp_airi; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, dxExEdtr, RxMemDS, DB, ADODB, Menus, XPMenu, bsSkinCtrls, dxDBGrid, dxDBTLCl, dxGrClms, dxTL, dxDBCtrl, dxCntner, ComCtrls, bsSkinTabs, ExtCtrls; type Tfrm_rp_rp_airi = class(TForm) Panel1: TPanel; bsSkinPageControl1: TbsSkinPageControl; bsSkinTabSheet1: TbsSkinTabSheet; dxDBGrid1: TdxDBGrid; dxDBGrid1Column5: TdxDBGridMaskColumn; dxDBGrid1Column3: TdxDBGridMaskColumn; dxDBGrid1Column4: TdxDBGridMaskColumn; dxDBGrid1Column6: TdxDBGridDateColumn; dxDBGrid1Column7: TdxDBGridMaskColumn; dxDBGrid1Column8: TdxDBGridMaskColumn; dxDBGrid1Column9: TdxDBGridMaskColumn; dxDBGrid1Column11: TdxDBGridMaskColumn; dxDBGrid1Column21: TdxDBGridMaskColumn; dxDBGrid1Column24: TdxDBGridMaskColumn; dxDBGrid1Column26: TdxDBGridDateColumn; dxDBGrid1Column29: TdxDBGridMaskColumn; dxDBGrid1Column31: TdxDBGridMaskColumn; dxDBGrid1Column51: TdxDBGridMaskColumn; dxDBGrid1Column54: TdxDBGridMaskColumn; dxDBGrid1Column56: TdxDBGridColumn; dxDBGrid1Column89: TdxDBGridMaskColumn; dxDBGrid1Column92: TdxDBGridMaskColumn; dxDBGrid1Column83: TdxDBGridMaskColumn; dxDBGrid1Column84: TdxDBGridDateColumn; dxDBGrid1Column85: TdxDBGridMaskColumn; dxDBGrid1Column87: TdxDBGridMaskColumn; dxDBGrid1Column86: TdxDBGridMaskColumn; dxDBGrid1USD: TdxDBGridColumn; dxDBGrid1RMB: TdxDBGridColumn; dxDBGrid1Column102: TdxDBGridColumn; dxDBGrid1Column105: TdxDBGridColumn; dxDBGrid1Column108: TdxDBGridColumn; dxDBGrid1Column111: TdxDBGridColumn; dxDBGrid1Column114: TdxDBGridColumn; dxDBGrid1Column115: TdxDBGridColumn; dxDBGrid1Column116: TdxDBGridColumn; dxDBGrid1Column117: TdxDBGridMaskColumn; bsSkinTabSheet2: TbsSkinTabSheet; bsSkinTabSheet3: TbsSkinTabSheet; bsSkinTabSheet4: TbsSkinTabSheet; bsSkinTabSheet5: TbsSkinTabSheet; bsSkinTabSheet6: TbsSkinTabSheet; bsSkinTabSheet7: TbsSkinTabSheet; bsSkinPanel2: TbsSkinPanel; bsSkinButton10: TbsSkinButton; bsSkinButton9: TbsSkinButton; bsSkinButton5: TbsSkinButton; p_detail: TADOStoredProc; p_detail1: TDataSource; t_sum1: TDataSource; dxDBGrid1Column34: TdxDBGridColumn; dxDBGrid1Column35: TdxDBGridColumn; dxDBGrid1Column36: TdxDBGridColumn; p_sum: TADOStoredProc; PopupMenu2: TPopupMenu; N10: TMenuItem; N11: TMenuItem; N14: TMenuItem; N13: TMenuItem; N12: TMenuItem; N15: TMenuItem; N16: TMenuItem; XPMenu2: TXPMenu; dxDBGrid2: TdxDBGrid; dxDBGrid2Column1: TdxDBGridMaskColumn; dxDBGrid2Column2: TdxDBGridMaskColumn; dxDBGrid2Column26: TdxDBGridColumn; dxDBGrid2USD: TdxDBGridColumn; dxDBGrid2Column29: TdxDBGridColumn; dxDBGrid2Column30: TdxDBGridColumn; dxDBGrid2RMB: TdxDBGridColumn; dxDBGrid2Column32: TdxDBGridColumn; dxDBGrid2Column33: TdxDBGridColumn; dxDBGrid2Column34: TdxDBGridColumn; dxDBGrid2Column35: TdxDBGridColumn; dxDBGrid2Column36: TdxDBGridColumn; dxDBGrid2Column37: TdxDBGridColumn; procedure bsSkinButton5Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure Panel1Resize(Sender: TObject); procedure bsSkinButton10Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure bsSkinPageControl1Change(Sender: TObject); procedure bsSkinButton9Click(Sender: TObject); procedure N10Click(Sender: TObject); procedure N14Click(Sender: TObject); procedure N12Click(Sender: TObject); procedure N16Click(Sender: TObject); procedure dxDBGrid2ColumnSorting(Sender: TObject; Column: TdxDBTreeListColumn; var Allow: Boolean); procedure dxDBGrid1ColumnSorting(Sender: TObject; Column: TdxDBTreeListColumn; var Allow: Boolean); private { Private declarations } public { Public declarations } end; var frm_rp_rp_airi: Tfrm_rp_rp_airi; rp_rp_airi_open:boolean; implementation uses u_main,my_sys_function, u_data_share; {$R *.dfm} procedure Tfrm_rp_rp_airi.bsSkinButton5Click(Sender: TObject); begin close; end; procedure Tfrm_rp_rp_airi.FormClose(Sender: TObject; var Action: TCloseAction); begin savereggrid(dxdbgrid1,caption+'11'); savereggrid(dxdbgrid2,caption+'12'); rp_rp_airi_open:=false; frm_rp_rp_airi.Hide; frm_rp_rp_airi.ManualFloat(frm_rp_rp_airi.BoundsRect ); frm_main.freeTabs('frm_rp_rp_airi'); action:=cafree; frm_rp_rp_airi:=nil; end; procedure Tfrm_rp_rp_airi.Panel1Resize(Sender: TObject); begin bsSkinPanel2.Left:=Panel1.Width-bsSkinPanel2.Width; end; procedure Tfrm_rp_rp_airi.bsSkinButton10Click(Sender: TObject); begin bsSkinTabSheet1.show; query_airi(6,'0037'); end; procedure Tfrm_rp_rp_airi.FormShow(Sender: TObject); begin loadreggrid(dxdbgrid1,false,caption+'11'); loadreggrid(dxdbgrid2,false,caption+'12'); rp_rp_airi_open:=true; if frm_data_share.t_load_employee.FieldByName('应收').asboolean then begin dxDBGrid1.Bands[2].Visible:=true; dxDBGrid2.Bands[2].Visible:=true; end else begin dxDBGrid1.Bands[2].Visible:=false; dxDBGrid2.Bands[2].Visible:=false; end; if frm_data_share.t_load_employee.FieldByName('应付').asboolean then begin dxDBGrid1.Bands[3].Visible:=true; dxDBGrid2.Bands[3].Visible:=true; end else begin dxDBGrid1.Bands[3].Visible:=false; dxDBGrid2.Bands[3].Visible:=false; end; if frm_data_share.t_load_employee.FieldByName('利润').asboolean then begin dxDBGrid1.Bands[4].Visible:=true; dxDBGrid2.Bands[4].Visible:=true; end else begin dxDBGrid1.Bands[4].Visible:=false; dxDBGrid2.Bands[4].Visible:=false; end; end; procedure Tfrm_rp_rp_airi.bsSkinPageControl1Change(Sender: TObject); var str:widestring; begin if not rp_rp_airi_open then exit; IF bsSkinTabSheet1.Showing then exit; dxDBGrid2.Parent:=bsSkinPageControl1.ActivePage; dxDBGrid2Column1.Caption:=bsSkinPageControl1.ActivePage.Caption; try if not p_detail.Active then exit; if p_detail.IsEmpty then exit; IF bsSkinTabSheet1.Showing then exit; str:=new_query(p_detail); if str<>'no'then begin p_sum.close; p_sum.Parameters.ParamByName('SQLStr').Value:= 'SELECT COUNT(t_op_airi.编号) as 票数, sum(t_op_airi.计价重量) as 计价重量' +', sum(t_op_gain.利润USD) as 利润USD' +', sum(t_op_gain.应收USD) as 应收USD, sum( t_op_gain.应付USD) as 应付USD, sum(t_op_gain.利润RMB) as 利润RMB' +', sum(t_op_gain.应收RMB) as 应收RMB, sum( t_op_gain.应付RMB) as 应付RMB, sum(t_op_gain.毛利润) as 毛利润' +', sum(t_op_gain.合计应收) as 合计应收, sum( t_op_gain.合计应付) as 合计应付' +',(case when isnull(sum(t_op_gain.合计应付),0)=0 then '+''''+'无法计算'+''''+' else ' +'ltrim(str(sum(t_op_gain.毛利润)/sum(t_op_gain.合计应付)*100,10,2))+'+''''+'%'+''''+' end) as 利润率' +',t_op_airi.'+bsSkinPageControl1.ActivePage.Caption+' as base' +','+''''+bsSkinPageControl1.ActivePage.Caption+''''+' as 统计标准' +' FROM t_op_airi LEFT JOIN' +' t_op_gain ON t_op_airi.编号 = t_op_gain.编号 ' +str+' group by '+'t_op_airi.'+bsSkinPageControl1.ActivePage.Caption +' order by '+'t_op_airi.'+bsSkinPageControl1.ActivePage.Caption; p_sum.open; end; except ; end; end; procedure Tfrm_rp_rp_airi.bsSkinButton9Click(Sender: TObject); begin sys_print('空运进口业务统计',2,nil,nil,nil,nil,p_detail1,t_sum1,nil,nil,nil,nil,nil); end; procedure Tfrm_rp_rp_airi.N10Click(Sender: TObject); begin if bsSkinTabSheet1.showing then begin update_grid_view_no(dxdbgrid1); end else begin update_grid_view_no(dxdbgrid2); end; end; procedure Tfrm_rp_rp_airi.N14Click(Sender: TObject); begin if bsSkinTabSheet1.showing then begin update_grid_view_all(dxdbgrid1); end else begin update_grid_view_all(dxdbgrid2); end; end; procedure Tfrm_rp_rp_airi.N12Click(Sender: TObject); begin if bsSkinTabSheet1.showing then begin update_grid(dxdbgrid1,80); end else begin update_grid(dxdbgrid2,81); end; end; procedure Tfrm_rp_rp_airi.N16Click(Sender: TObject); begin if bsSkinTabSheet1.showing then begin grid_save_xls(dxdbgrid1); end else begin grid_save_xls(dxdbgrid2); end; end; procedure Tfrm_rp_rp_airi.dxDBGrid2ColumnSorting(Sender: TObject; Column: TdxDBTreeListColumn; var Allow: Boolean); begin Column_sort_pro(Column,p_sum,'base'); end; procedure Tfrm_rp_rp_airi.dxDBGrid1ColumnSorting(Sender: TObject; Column: TdxDBTreeListColumn; var Allow: Boolean); begin Column_sort_pro(Column,p_detail,'业务编号'); end; end.