You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

425 lines
14 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

unit u_rp_rp_seae;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ComCtrls, bsSkinTabs, bsSkinCtrls, dxExEdtr, dxDBGrid,
dxDBTLCl, dxGrClms, dxTL, dxDBCtrl, dxCntner, DB, ADODB, Menus, XPMenu,
RxMemDS, DBTables, RxQuery, StdCtrls, Buttons, Grids, DBGrids;
type
Tfrm_rp_rp_seae = class(TForm)
Panel1: TPanel;
bsSkinTabSheet1: TbsSkinTabSheet;
bsSkinTabSheet2: TbsSkinTabSheet;
bsSkinTabSheet3: TbsSkinTabSheet;
bsSkinPanel2: TbsSkinPanel;
bsSkinButton10: TbsSkinButton;
bsSkinButton9: TbsSkinButton;
bsSkinButton5: TbsSkinButton;
bsSkinTabSheet4: TbsSkinTabSheet;
bsSkinTabSheet5: TbsSkinTabSheet;
bsSkinTabSheet6: TbsSkinTabSheet;
bsSkinTabSheet7: TbsSkinTabSheet;
bsSkinTabSheet8: TbsSkinTabSheet;
aa: TbsSkinPageControl;
dxDBGrid1: TdxDBGrid;
dxDBGrid1Column5: TdxDBGridMaskColumn;
dxDBGrid1Column3: TdxDBGridMaskColumn;
dxDBGrid1Column4: TdxDBGridMaskColumn;
dxDBGrid1Column6: TdxDBGridDateColumn;
dxDBGrid1Column7: TdxDBGridMaskColumn;
dxDBGrid1Column8: TdxDBGridMaskColumn;
dxDBGrid1Column9: TdxDBGridMaskColumn;
dxDBGrid1Column10: TdxDBGridMaskColumn;
dxDBGrid1Column11: TdxDBGridMaskColumn;
dxDBGrid1Column21: TdxDBGridMaskColumn;
dxDBGrid1Column23: TdxDBGridMaskColumn;
dxDBGrid1Column24: TdxDBGridMaskColumn;
dxDBGrid1Column25: TdxDBGridMaskColumn;
dxDBGrid1Column26: TdxDBGridDateColumn;
dxDBGrid1Column27: TdxDBGridDateColumn;
dxDBGrid1Column28: TdxDBGridDateColumn;
dxDBGrid1Column29: TdxDBGridMaskColumn;
dxDBGrid1Column31: TdxDBGridMaskColumn;
dxDBGrid1Column43: TdxDBGridMaskColumn;
dxDBGrid1Column51: TdxDBGridMaskColumn;
dxDBGrid1Column54: TdxDBGridMaskColumn;
dxDBGrid1Column55: TdxDBGridMaskColumn;
dxDBGrid1Column56: TdxDBGridColumn;
dxDBGrid1Column57: TdxDBGridColumn;
dxDBGrid11: TdxDBGridMaskColumn;
dxDBGrid12: TdxDBGridMaskColumn;
dxDBGrid13: TdxDBGridMaskColumn;
dxDBGrid14: TdxDBGridMaskColumn;
dxDBGrid15: TdxDBGridMaskColumn;
dxDBGrid16: TdxDBGridMaskColumn;
dxDBGrid17: TdxDBGridMaskColumn;
dxDBGrid18: TdxDBGridMaskColumn;
dxDBGrid19: TdxDBGridMaskColumn;
dxDBGrid110: TdxDBGridMaskColumn;
dxDBGrid1Column80: TdxDBGridMaskColumn;
dxDBGrid1TEU: TdxDBGridMaskColumn;
dxDBGrid1Column82: TdxDBGridMaskColumn;
dxDBGrid1Column83: TdxDBGridMaskColumn;
dxDBGrid1Column84: TdxDBGridDateColumn;
dxDBGrid1Column88: TdxDBGridMaskColumn;
dxDBGrid1Column89: TdxDBGridMaskColumn;
dxDBGrid1Column90: TdxDBGridMaskColumn;
dxDBGrid1Column92: TdxDBGridMaskColumn;
dxDBGrid1Column93: TdxDBGridMaskColumn;
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;
XPMenu1: TXPMenu;
p_detail: TADOStoredProc;
p_detail1: TDataSource;
t_sum1: TDataSource;
t_sum: TRxMemoryData;
dxDBGrid1Column68: TdxDBGridColumn;
dxDBGrid1Column69: TdxDBGridColumn;
dxDBGrid1Column70: TdxDBGridColumn;
p_sum: TADOStoredProc;
PopupMenu2: TPopupMenu;
N10: TMenuItem;
N11: TMenuItem;
N14: TMenuItem;
N13: TMenuItem;
N12: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
dxDBGrid2: TdxDBGrid;
dxDBGrid2Column1: TdxDBGridMaskColumn;
dxDBGrid2Column2: TdxDBGridMaskColumn;
dxDBGrid21: TdxDBGridMaskColumn;
dxDBGrid22: TdxDBGridMaskColumn;
dxDBGrid23: TdxDBGridMaskColumn;
dxDBGrid24: TdxDBGridMaskColumn;
dxDBGrid25: TdxDBGridMaskColumn;
dxDBGrid26: TdxDBGridMaskColumn;
dxDBGrid27: TdxDBGridMaskColumn;
dxDBGrid28: TdxDBGridMaskColumn;
dxDBGrid29: TdxDBGridMaskColumn;
dxDBGrid210: TdxDBGridMaskColumn;
dxDBGrid2Column23: TdxDBGridMaskColumn;
dxDBGrid2TEU: TdxDBGridMaskColumn;
dxDBGrid2Column25: TdxDBGridMaskColumn;
dxDBGrid2Column26: TdxDBGridColumn;
dxDBGrid2Column27: TdxDBGridColumn;
dxDBGrid2USD: TdxDBGridColumn;
dxDBGrid2Column29: TdxDBGridColumn;
dxDBGrid2Column30: TdxDBGridColumn;
dxDBGrid2RMB: TdxDBGridColumn;
dxDBGrid2Column32: TdxDBGridColumn;
dxDBGrid2Column33: TdxDBGridColumn;
dxDBGrid2Column34: TdxDBGridColumn;
dxDBGrid2Column35: TdxDBGridColumn;
dxDBGrid2Column36: TdxDBGridColumn;
dxDBGrid2Column37: TdxDBGridColumn;
bsSkinTabSheet9: TbsSkinTabSheet;
bskntbsht1: TbsSkinTabSheet;
bsSkinTabSheet11: TbsSkinTabSheet;
dxDBGrid1Column61: TdxDBGridColumn;
dxDBGrid1Column62: TdxDBGridColumn;
dxDBGrid1Column63: TdxDBGridColumn;
dxDBGrid1Column64: 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 aaChange(Sender: TObject);
procedure bsSkinButton9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure dxDBGrid1ColumnSorting(Sender: TObject;
Column: TdxDBTreeListColumn; var Allow: Boolean);
procedure dxDBGrid2ColumnSorting(Sender: TObject;
Column: TdxDBTreeListColumn; var Allow: Boolean);
procedure dxDBGrid1DblClick(Sender: TObject);
procedure dxDBGrid1Column116CustomDraw(Sender: TObject;
ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
AColumn: TdxDBTreeListColumn; const AText: String; AFont: TFont;
var AColor: TColor; ASelected, AFocused: Boolean;
var ADone: Boolean);
procedure dxDBGrid2Column34CustomDraw(Sender: TObject;
ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
AColumn: TdxDBTreeListColumn; const AText: String; AFont: TFont;
var AColor: TColor; ASelected, AFocused: Boolean;
var ADone: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frm_rp_rp_seae: Tfrm_rp_rp_seae;
rp_rp_seae_open:boolean;
rp_rp_seae_str:widestring;
implementation
uses u_main, my_sys_function, u_data_share, u_ch_fee_zhupiao;
{$R *.dfm}
procedure Tfrm_rp_rp_seae.bsSkinButton5Click(Sender: TObject);
begin
close;
end;
procedure Tfrm_rp_rp_seae.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
savereggrid(dxdbgrid1,caption+'11');
savereggrid(dxdbgrid2,caption+'12');
rp_rp_seae_open:=false;
frm_rp_rp_seae.Hide;
frm_rp_rp_seae.ManualFloat(frm_rp_rp_seae.BoundsRect );
frm_main.freeTabs('frm_rp_rp_seae');
action:=cafree;
frm_rp_rp_seae:=nil;
end;
procedure Tfrm_rp_rp_seae.Panel1Resize(Sender: TObject);
begin
bsSkinPanel2.Left:=Panel1.Width-bsSkinPanel2.Width;
end;
procedure Tfrm_rp_rp_seae.bsSkinButton10Click(Sender: TObject);
begin
bsSkinTabSheet1.show;
query_seae(6,'0037');
end;
procedure Tfrm_rp_rp_seae.FormShow(Sender: TObject);
begin
loadreggrid(dxdbgrid1,true,caption+'11');
loadreggrid(dxdbgrid2,true,caption+'12');
rp_rp_seae_open:=true;
if frm_data_share.t_load_employee.FieldByName('Ӧ<><D3A6>').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('Ӧ<><D3A6>').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('<27><><EFBFBD><EFBFBD>').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_seae.aaChange(Sender: TObject);
var
str:widestring;
begin
if not rp_rp_seae_open then
exit;
IF bsSkinTabSheet1.Showing then
exit;
dxDBGrid2.Parent:=aa.ActivePage;
dxDBGrid2Column1.Caption:=aa.ActivePage.Caption;
try
if not p_detail.active then
exit;
if p_detail.IsEmpty then
exit;
str:=rp_rp_seae_str;
if str<>'no'then
begin
p_sum.close;
p_sum.Parameters.ParamByName('SQLStr').Value:=
'SELECT COUNT(t_op_seae.<2E><><EFBFBD><EFBFBD>) as Ʊ<><C6B1>, sum(t_op_seae.<2E><><EFBFBD><EFBFBD>1) as <20><><EFBFBD><EFBFBD>1, sum(t_op_seae.<2E><><EFBFBD><EFBFBD>2) as <20><><EFBFBD><EFBFBD>2'
+', sum(t_op_seae.<2E><><EFBFBD><EFBFBD>3) as <20><><EFBFBD><EFBFBD>3, sum(t_op_seae.<2E><><EFBFBD><EFBFBD>4) as <20><><EFBFBD><EFBFBD>4, sum(t_op_seae.<2E><><EFBFBD><EFBFBD>5) as <20><><EFBFBD><EFBFBD>5'
+', sum(t_op_seae.<2E><><EFBFBD><EFBFBD>6) as <20><><EFBFBD><EFBFBD>6, sum( t_op_seae.<2E><><EFBFBD><EFBFBD>7) as <20><><EFBFBD><EFBFBD>7, sum(t_op_seae.<2E><><EFBFBD><EFBFBD>8) as <20><><EFBFBD><EFBFBD>8'
+', sum(t_op_seae.<2E><><EFBFBD><EFBFBD>9) as <20><><EFBFBD><EFBFBD>9, sum(t_op_seae.<2E><><EFBFBD><EFBFBD>10) as <20><><EFBFBD><EFBFBD>10'
+', sum(t_op_seae.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) as <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, sum( t_op_seae.<2E><>TEU) as <20><>TEU, sum(t_op_seae.<2E><><EFBFBD><EFBFBD>) as <20><><EFBFBD><EFBFBD>'
+', sum(t_op_seae.<2E><><EFBFBD><EFBFBD>) as <20><><EFBFBD><EFBFBD>, sum( t_op_seae.<2E><><EFBFBD><EFBFBD>) as <20><><EFBFBD><EFBFBD>, sum(t_op_gain.<2E><><EFBFBD><EFBFBD>USD) as <20><><EFBFBD><EFBFBD>USD'
+', sum(t_op_gain.Ӧ<><D3A6>USD) as Ӧ<><D3A6>USD, sum( t_op_gain.Ӧ<><D3A6>USD) as Ӧ<><D3A6>USD, sum(t_op_gain.<2E><><EFBFBD><EFBFBD>RMB) as <20><><EFBFBD><EFBFBD>RMB'
+', sum(t_op_gain.Ӧ<><D3A6>RMB) as Ӧ<><D3A6>RMB, sum( t_op_gain.Ӧ<><D3A6>RMB) as Ӧ<><D3A6>RMB, sum(t_op_gain.ë<><C3AB><EFBFBD><EFBFBD>) as ë<><C3AB><EFBFBD><EFBFBD>'
+', sum(t_op_gain.<2E>ϼ<EFBFBD>Ӧ<EFBFBD><D3A6>) as <20>ϼ<EFBFBD>Ӧ<EFBFBD><D3A6>, sum( t_op_gain.<2E>ϼ<EFBFBD>Ӧ<EFBFBD><D3A6>) as <20>ϼ<EFBFBD>Ӧ<EFBFBD><D3A6>'
+',(case when isnull(sum(t_op_gain.<2E>ϼ<EFBFBD>Ӧ<EFBFBD><D3A6>),0)=0 then '+''''+'<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>'+''''+' else '
+'ltrim(str(sum(t_op_gain.ë<><C3AB><EFBFBD><EFBFBD>)/sum(t_op_gain.<2E>ϼ<EFBFBD>Ӧ<EFBFBD><D3A6>)*100,10,2))+'+''''+'%'+''''+' end) as <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
+',t_op_seae.'+aa.ActivePage.Caption+' as base'
+','+''''+aa.ActivePage.Caption+''''+' as ͳ<>Ʊ<EFBFBD>׼'
+' FROM t_op_seae LEFT JOIN'
+' t_op_gain ON t_op_seae.<2E><><EFBFBD><EFBFBD> = t_op_gain.<2E><><EFBFBD><EFBFBD> '
+str+' group by '+'t_op_seae.'+aa.ActivePage.Caption
+' order by '+'t_op_seae.'+aa.ActivePage.Caption;
p_sum.open;
end;
except
;
end;
end;
procedure Tfrm_rp_rp_seae.bsSkinButton9Click(Sender: TObject);
begin
sys_print('<27><><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>ҵ<EFBFBD><D2B5>ͳ<EFBFBD><CDB3>',2,nil,nil,nil,nil,p_detail1,t_sum1,nil,nil,nil,nil,nil);
end;
procedure Tfrm_rp_rp_seae.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_seae.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_seae.N12Click(Sender: TObject);
begin
if bsSkinTabSheet1.showing then
begin
update_grid(dxdbgrid1,22);
end
else
begin
update_grid(dxdbgrid2,23);
end;
end;
procedure Tfrm_rp_rp_seae.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_seae.dxDBGrid1ColumnSorting(Sender: TObject;
Column: TdxDBTreeListColumn; var Allow: Boolean);
begin
Column_sort_pro(Column,p_detail,'ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure Tfrm_rp_rp_seae.dxDBGrid2ColumnSorting(Sender: TObject;
Column: TdxDBTreeListColumn; var Allow: Boolean);
begin
Column_sort_pro(Column,P_sum,'base');
end;
procedure Tfrm_rp_rp_seae.dxDBGrid1DblClick(Sender: TObject);
var
aQuery:TADOQuery;
begin
if p_detail.fieldbyname('װ<>˷<EFBFBD>ʽ').asstring='ƴ<><C6B4><EFBFBD><EFBFBD>Ʊ' then begin
aQuery:=CreateAdoQuery;
if not assigned(frm_ch_fee_zhupiao) then
frm_ch_fee_zhupiao:=tfrm_ch_fee_zhupiao.Create (self);
try
aQuery.Close;
aQuery.sql.Clear;
aQuery.sql.add('select * from t_op_seae where <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=:<3A><><EFBFBD><EFBFBD> and <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><3E><><EFBFBD><EFBFBD> order by <20><><EFBFBD><EFBFBD><E1B5A5>');
aQuery.Open;
frm_ch_fee_zhupiao.fra_fee_zhu1.fenpiao1.DataSet:=aQuery;
with frm_ch_fee_zhupiao do
begin
fra_fee_zhu1.t_ch_accept.close;
fra_fee_zhu1.t_ch_accept.Parameters[1].value:=p_detail.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring;
fra_fee_zhu1.t_ch_accept.open;
fra_fee_zhu1.zhupiao1.DataSet:=p_detail;
fra_fee_zhu1.dxDBGrid1.FullExpand;
fra_fee_zhu1.bsSkinPanel3.visible:=true;
fra_fee_zhu1.t_ch_pay.close;
fra_fee_zhu1.t_ch_pay.Parameters[1].value:=p_detail.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring;
fra_fee_zhu1.t_ch_pay.open;
fra_fee_zhu1.zhupiao1.DataSet:=p_detail;
fra_fee_zhu1.dxDBGrid2.FullExpand;
fra_fee_zhu1.bsSkinPanel4.visible:=true;
fra_fee_zhu1.t_op_gain.close;
fra_fee_zhu1.t_op_gain.Parameters[1].value:=p_detail.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring;
fra_fee_zhu1.t_op_gain.open;
fra_fee_zhu1.t_op_gain_fen.close;
fra_fee_zhu1.t_op_gain_fen.Parameters[1].value:=p_detail.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring;
fra_fee_zhu1.t_op_gain_fen.open;
fra_fee_zhu1.dxDBGrid3.FullExpand;
end;
frm_ch_fee_zhupiao.ShowModal;
finally
FreeAndNil(frm_ch_fee_zhupiao);
FreeAndNil(aQuery);
end;
end else begin
fee_view(p_detail.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring);
end;
end;
procedure Tfrm_rp_rp_seae.dxDBGrid1Column116CustomDraw(Sender: TObject;
ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
AColumn: TdxDBTreeListColumn; const AText: String; AFont: TFont;
var AColor: TColor; ASelected, AFocused: Boolean; var ADone: Boolean);
begin
if strtofloatdef(AText,0)<=0 then
AColor:=clRed;
end;
procedure Tfrm_rp_rp_seae.dxDBGrid2Column34CustomDraw(Sender: TObject;
ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
AColumn: TdxDBTreeListColumn; const AText: String; AFont: TFont;
var AColor: TColor; ASelected, AFocused: Boolean; var ADone: Boolean);
begin
if strtofloatdef(AText,0)<=0 then
AColor:=clRed;
end;
end.