unit U_BCHZ_Month; 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, cxButtonEdit, cxTextEdit, cxPC; type TfrmBCHZ_Month = 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; BegDate: TDateTimePicker; CDS_Main: TClientDataSet; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; RMDBHZ: TRMDBDataSet; CDS_HZ: TClientDataSet; CDS_PRT: TClientDataSet; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; Label12: TLabel; Label3: TLabel; SJName: TEdit; Label5: TLabel; CheHao: TEdit; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1SJName: TcxGridDBColumn; v1CheHao: TcxGridDBColumn; v1CLSpec: TcxGridDBColumn; v1CPFLQty: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; CLSpec: TEdit; v1MQQty: TcxGridDBColumn; Panel2: TPanel; v1CZMoney: TcxGridDBColumn; cxTabControl1: TcxTabControl; 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 N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure SPIDChange(Sender: TObject); procedure SPSpecChange(Sender: TObject); procedure GCNameChange(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure BegDateChange(Sender: TObject); private canshu1,canshu2,canshu3:string; procedure InitGrid(); procedure setstatus(); { Private declarations } public { Public declarations } end; var frmBCHZ_Month: TfrmBCHZ_Month; implementation uses U_DataLink,U_RTFun,U_SXCKInPut, U_JGSXCKInPut, U_CLShuiPiao_Sub,U_BCHZ_Year_MX; {$R *.dfm} procedure TfrmBCHZ_Month.setstatus(); begin end; procedure TfrmBCHZ_Month.FormDestroy(Sender: TObject); begin frmBCHZ_Month:=nil; end; procedure TfrmBCHZ_Month.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmBCHZ_Month.FormCreate(Sender: TObject); begin //cxGrid1.Align:=alClient; BegDate.DateTime:=SGetServerDate(ADOQueryCmd); canshu1:=Trim(DParameters1); canshu2:=Trim(DParameters2); canshu3:=Trim(DParameters3); end; procedure TfrmBCHZ_Month.InitGrid(); begin Panel2.Visible:=True; Panel2.Refresh; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add(' select A.CheHao,A.CLSpec,A.SJName,Year(A.CRTime) CRTime,Sum(CPFLQty) CPFLQty'); sql.Add(',WXMoney=(select Sum(B.YCLMoney) from CK_YCLONE_CR B where isnull(B.SJName,'''')=isnull(A.SJName,'''') '); sql.Add(' and isnull(B.CLSpec,'''')=isnull(A.CLSpec,'''') and isnull(B.CheHao,'''')=isnull(A.CheHao,'''') and B.YCLSpec=''场外维修'''); SQL.Add(' and B.CRFlag=''出库'' and Year(B.CRTime)=Year(A.CRTime) and Month(B.CRTime)=Month(A.CRTime))'); sql.Add(',CZMoney=(select Sum(B.CZMoney) from CL_YKYL_Main B where isnull(B.SJName,'''')=isnull(A.SJName,'''') '); sql.Add(' and isnull(B.CLSpec,'''')=isnull(A.CLSpec,'''') and Year(B.CRTime)=Year(A.CRTime) and Month(B.CRTime)=Month(A.CRTime))'); sql.Add(' from CK_CP_CR A'); sql.add(' where Year(A.CRTime)='''+Trim(FormatDateTime('yyyy',BegDate.Date))+''''); if cxTabControl1.TabIndex=0 then sql.Add(' and Month(A.CRTime)=3'); if cxTabControl1.TabIndex=1 then sql.Add(' and Month(A.CRTime)=4'); if cxTabControl1.TabIndex=2 then sql.Add(' and Month(A.CRTime)=5'); if cxTabControl1.TabIndex=3 then sql.Add(' and Month(A.CRTime)=6'); if cxTabControl1.TabIndex=4 then sql.Add(' and Month(A.CRTime)=7'); if cxTabControl1.TabIndex=5 then sql.Add(' and Month(A.CRTime)=8'); if cxTabControl1.TabIndex=6 then sql.Add(' and Month(A.CRTime)=9'); if cxTabControl1.TabIndex=7 then sql.Add(' and Month(A.CRTime)=10'); if cxTabControl1.TabIndex=8 then sql.Add(' and Month(A.CRTime)=11'); if cxTabControl1.TabIndex=9 then sql.Add(' and Month(A.CRTime)=12'); SQL.Add(' and isnull(A.CLName,'''')=''泵车'''); sql.Add(' group by A.CheHao,A.CLSpec,A.SJName,Year(A.CRTime),Month(A.CRTime)'); Open; end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); finally; ADOQueryMain.EnableControls; end; Panel2.Visible:=false; end; procedure TfrmBCHZ_Month.TBRafreshClick(Sender: TObject); begin BegDate.SetFocus; InitGrid(); end; procedure TfrmBCHZ_Month.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); end; end; procedure TfrmBCHZ_Month.TBCloseClick(Sender: TObject); begin WriteCxGrid('数据列表FM',Tv1,'数据'); Close; end; procedure TfrmBCHZ_Month.FormShow(Sender: TObject); begin ReadCxGrid('数据列表FM',Tv1,'数据'); //setstatus(); //InitGrid(); end; procedure TfrmBCHZ_Month.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel('泵车各类数据年份汇总',cxGrid2); end; procedure TfrmBCHZ_Month.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 TfrmBCHZ_Month.N1Click(Sender: TObject); begin SelOKNo(CDS_Main,True); end; procedure TfrmBCHZ_Month.N2Click(Sender: TObject); begin SelOKNo(CDS_Main,False); end; procedure TfrmBCHZ_Month.SPIDChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmBCHZ_Month.SPSpecChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmBCHZ_Month.GCNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmBCHZ_Month.cxTabControl1Change(Sender: TObject); begin //setstatus(); InitGrid(); end; procedure TfrmBCHZ_Month.BegDateChange(Sender: TObject); begin TBRafresh.Click; end; end.