unit U_BaoGuanXSList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, Menus, cxCalendar, cxPC; type TfrmBaoGuanXSList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBExport: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; Label1: TLabel; Label2: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; CDS_Main: TClientDataSet; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v2Column1: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column10: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; RMDBHZ: TRMDBDataSet; CDS_HZ: TClientDataSet; CDS_PRT: TClientDataSet; TBRKCX: TToolButton; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; v1Column6: TcxGridDBColumn; Panel2: TPanel; v1Column1: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column12: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v1Column14: TcxGridDBColumn; cxTabControl1: TcxTabControl; Label6: TLabel; Label8: TLabel; Label3: TLabel; A4FPNO: TEdit; A5ConNO: TEdit; A1ChuKouShang: TEdit; cxTabControl3: TcxTabControl; v1Column15: TcxGridDBColumn; v1Column16: TcxGridDBColumn; ToolButton1: TToolButton; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ConNoMChange(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure v2Column1CompareRowValuesForCellMerging( Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean); procedure TBRKCXClick(Sender: TObject); procedure ToolButton1Click(Sender: TObject); private procedure InitGrid(); procedure GetColor(color:TColor); { Private declarations } public { Public declarations } end; var frmBaoGuanXSList: TfrmBaoGuanXSList; implementation uses U_DataLink,U_RTFun; {$R *.dfm} procedure TfrmBaoGuanXSList.FormDestroy(Sender: TObject); begin frmBaoGuanXSList:=nil; end; procedure TfrmBaoGuanXSList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmBaoGuanXSList.FormCreate(Sender: TObject); begin //cxGrid1.Align:=alClient; EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); BegDate.DateTime:=SGetServerDateMBeg(ADOQueryTemp); end; procedure TfrmBaoGuanXSList.InitGrid(); var fsj:string; begin Panel2.Visible:=True; Panel2.Refresh; fsj:=' and A7FPDate>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+'''' +' and A7FPDate<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+''''; if cxTabControl1.Tabs[cxTabControl1.TabIndex].Caption<>'全部' then begin fsj:=fsj+' and A1ChuKouShang like '''+'%'+Trim(cxTabControl1.Tabs[cxTabControl1.TabIndex].Caption)+'%'+'''' end; if cxTabControl3.TabIndex=0 then begin fsj:=fsj+'and isnull(SChker,'''')='''''; end else if cxTabControl3.TabIndex=1 then begin fsj:=fsj+' and isnull(OKPerson,'''')='''' and isnull(SChker,'''')<>'''' '; end else if cxTabControl3.TabIndex=2 then begin fsj:=fsj+' and isnull(Chker,'''')='''' and isnull(OKPerson,'''')<>'''' '; end else if cxTabControl3.TabIndex=3 then begin fsj:=fsj+' and isnull(Chker,'''')<>'''' '; end; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add(' exec P_View_BaoGuanData_XS :WSql'); Parameters.ParamByName('WSql').Value:=fsj; Open; end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); finally ADOQueryMain.EnableControls; Panel2.Visible:=False; end; Panel2.Visible:=False; end; procedure TfrmBaoGuanXSList.TBRafreshClick(Sender: TObject); begin BegDate.SetFocus; InitGrid(); end; procedure TfrmBaoGuanXSList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); end; end; procedure TfrmBaoGuanXSList.TBCloseClick(Sender: TObject); begin WriteCxGrid('财务报关销售报表',Tv1,'财务管理'); Close; end; procedure TfrmBaoGuanXSList.FormShow(Sender: TObject); begin ReadCxGrid('财务报关销售报表',Tv1,'财务管理'); with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from KH_Zdy where Type=''A1ChuKouShang'' '); Open; end; with ADOQueryTemp do begin First; while not Eof do begin cxTabControl1.Tabs.Add(ADOQueryTemp.fieldbyname('ZdyName').asstring); Next; end; end; cxTabControl1.Tabs.Add('全部'); //InitGrid(); end; procedure TfrmBaoGuanXSList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel('财务报关销售报表',cxGrid2); end; procedure TfrmBaoGuanXSList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); end; end; procedure TfrmBaoGuanXSList.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmBaoGuanXSList.v2Column1CompareRowValuesForCellMerging( Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean); var colIdx0:integer; begin colIdx0:= tv1.GetColumnByFieldName('A4FPNO').Index; if ARow1.Values[colIdx0] = ARow2.Values[colIdx0] then AAreEqual := True else AAreEqual := False; end; procedure TfrmBaoGuanXSList.TBRKCXClick(Sender: TObject); var fPrintFile,fsj:string; begin if CDS_Main.IsEmpty then Exit; //if cxTabControl3.TabIndex<>3 then Exit; fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\报关销售资料.rmf'; fsj:=' and SubString(convert(varchar(10),A7FPDate,120),1,7)='''+Copy(Trim(CDS_Main.fieldbyname('A7FPDate').AsString),1,7)+''''; if cxTabControl1.Tabs[cxTabControl1.TabIndex].Caption<>'全部' then begin fsj:=fsj+' and A1ChuKouShang like '''+'%'+Trim(cxTabControl1.Tabs[cxTabControl1.TabIndex].Caption)+'%'+''''; //+' and isnull(Chker,'''')<>'''' '; end else begin Exit; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('exec P_View_BaoGuanData_XS :WSql'); Parameters.ParamByName('WSql').Value:=fsj; Open; end; SCreateCDS20(ADOQueryTemp,CDS_PRT); SInitCDSData20(ADOQueryTemp,CDS_PRT); RMXLSExport1:= TRMXLSExport.Create(RMXLSExport1); if FileExists(fPrintFile) then begin //RMVariables['enddate']:=enddate.DateTime; RMVariables['TaiTou']:=cxTabControl1.Tabs[cxTabControl1.TabIndex].Caption; RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\报关销售资料.rmf'),'提示',0); end; end; procedure TfrmBaoGuanXSList.ToolButton1Click(Sender: TObject); begin GetColor(clRed); end; procedure TfrmBaoGuanXSList.GetColor(color:TColor); var R,G,B:Integer; color10:TColor; begin R:=0; G:=0; B:=0; for R:=0 to 255 do begin for G:=0 to 255 do begin for B:=0 to 255 do begin //HZ:=i+j+k; color10:=(R shr 3)shl 11+(G shr 2)shl 5+B shr 3; if color10=color then begin Application.MessageBox(PChar('R='+IntToStr(R)+',G='+IntToStr(G)+',B='+IntToStr(B)),'提示',0); Exit; end; end; end; end; end; end.