unit U_JBCHZ_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, cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinsDefaultPainters, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue, dxSkinscxPCPainter, cxNavigator, dxBarBuiltInMenu; type TfrmJBCHZ_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; v1CLQty: TcxGridDBColumn; v1SPQty: 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 frmJBCHZ_Month: TfrmJBCHZ_Month; implementation uses U_DataLink,U_RTFun,U_SXCKInPut, U_JGSXCKInPut, U_CLShuiPiao_Sub,U_BCHZ_Year_MX; {$R *.dfm} procedure TfrmJBCHZ_Month.setstatus(); begin end; procedure TfrmJBCHZ_Month.FormDestroy(Sender: TObject); begin frmJBCHZ_Month:=nil; end; procedure TfrmJBCHZ_Month.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmJBCHZ_Month.FormCreate(Sender: TObject); begin //cxGrid1.Align:=alClient; BegDate.DateTime:=SGetServerDate(ADOQueryCmd); canshu1:=Trim(DParameters1); canshu2:=Trim(DParameters2); canshu3:=Trim(DParameters3); end; procedure TfrmJBCHZ_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(',Sum(CLQty) CLQty'); sql.Add(',SPQty=(select Sum(B.SPQty) SPQty from CL_SP_Main B where isnull(B.SJName,'''')=isnull(A.SJName,'''')'); sql.Add(' and isnull(B.CLSpec,'''')=isnull(A.CLSpec,'''') and isnull(B.CheHao,'''')=isnull(A.CheHao,'''')'); SQL.Add(' and Year(B.CRTime)=Year(A.CRTime) and Month(B.CRTime)=Month(A.CRTime))'); 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(' 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 TfrmJBCHZ_Month.TBRafreshClick(Sender: TObject); begin BegDate.SetFocus; InitGrid(); end; procedure TfrmJBCHZ_Month.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); end; end; procedure TfrmJBCHZ_Month.TBCloseClick(Sender: TObject); begin WriteCxGrid('数据列表FM',Tv1,'数据'); Close; end; procedure TfrmJBCHZ_Month.FormShow(Sender: TObject); begin ReadCxGrid('数据列表FM',Tv1,'数据'); //setstatus(); //InitGrid(); end; procedure TfrmJBCHZ_Month.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel('泵车各类数据年份汇总',cxGrid2); end; procedure TfrmJBCHZ_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 TfrmJBCHZ_Month.N1Click(Sender: TObject); begin SelOKNo(CDS_Main,True); end; procedure TfrmJBCHZ_Month.N2Click(Sender: TObject); begin SelOKNo(CDS_Main,False); end; procedure TfrmJBCHZ_Month.SPIDChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmJBCHZ_Month.SPSpecChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmJBCHZ_Month.GCNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmJBCHZ_Month.cxTabControl1Change(Sender: TObject); begin //setstatus(); InitGrid(); end; procedure TfrmJBCHZ_Month.BegDateChange(Sender: TObject); begin TBRafresh.Click; end; end.