unit U_CLShuiPiao_CX; 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, cxNavigator, dxBarBuiltInMenu; type TfrmCLShuiPiao_CX = 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; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; RMDBHZ: TRMDBDataSet; CDS_HZ: TClientDataSet; CDS_PRT: TClientDataSet; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; Label4: TLabel; Label12: TLabel; GCName: TEdit; Label3: TLabel; SJName: TEdit; Label5: TLabel; CLSpec: TEdit; JPSpec: TEdit; Label7: TLabel; Label8: TLabel; SPType: TEdit; Label9: TLabel; CheHao: TEdit; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Ssel: TcxGridDBColumn; v1CRTime: TcxGridDBColumn; vGCName: TcxGridDBColumn; v1SJName: TcxGridDBColumn; v1CLSpec: TcxGridDBColumn; v1JPSpec: TcxGridDBColumn; v1CheHao: TcxGridDBColumn; v2CPFLQty: TcxGridDBColumn; v1GLQty: TcxGridDBColumn; v1CLQty: TcxGridDBColumn; v1SPQty: TcxGridDBColumn; v1SPType: TcxGridDBColumn; v1KKMoney: TcxGridDBColumn; v1Note: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; RadioGroup1: TRadioGroup; 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 RadioGroup1Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); private canshu1,canshu2,canshu3:string; procedure InitGrid(); procedure setstatus(); { Private declarations } public formid:string; { Public declarations } end; var frmCLShuiPiao_CX: TfrmCLShuiPiao_CX; implementation uses U_DataLink,U_RTFun,U_SXCKInPut, U_JGSXCKInPut, U_CLShuiPiao_Sub; {$R *.dfm} procedure TfrmCLShuiPiao_CX.setstatus(); begin end; procedure TfrmCLShuiPiao_CX.FormDestroy(Sender: TObject); begin frmCLShuiPiao_CX:=nil; end; procedure TfrmCLShuiPiao_CX.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmCLShuiPiao_CX.FormCreate(Sender: TObject); begin EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); BegDate.DateTime:=EndDate.DateTime; canshu1:=Trim(DParameters1); canshu2:=Trim(DParameters2); canshu3:=Trim(DParameters3); end; procedure TfrmCLShuiPiao_CX.InitGrid(); var i:integer; begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add(' select '); if RadioGroup1.ItemIndex=2 then sql.Add(' convert(varchar(10),A.CRTime,120) CRTime'); if RadioGroup1.ItemIndex=1 then sql.Add(' convert(varchar(7),A.CRTime,120) CRTime'); if RadioGroup1.ItemIndex=0 then sql.Add(' convert(varchar(4),A.CRTime,120) CRTime'); sql.Add(',GCName,SJName,CLSpec,JPSpec,CheHao,SPType,Max(Note) Note,Sum(CPFLQty) CPFLQty,Sum(GLQty) GLQty'); SQL.Add(',Sum(CLQty) CLQty,Sum(SPQty) SPQty,Sum(KKMoney) KKMoney'); sql.Add(' from CL_SP_Main A'); SQL.Add(' where 1=1 '); if cxTabControl1.TabIndex=0 then begin sql.Add(' and A.SPType=''超时'''); end; if cxTabControl1.TabIndex=1 then begin sql.Add(' and A.SPType=''塔吊'''); end; if cxTabControl1.TabIndex=2 then begin sql.Add(' and A.SPType=''剩料已转'''); end; if cxTabControl1.TabIndex=3 then begin sql.Add(' and A.SPType=''退料已转'''); end; if cxTabControl1.TabIndex=4 then begin sql.Add(' and A.SPType<>''超时'' and A.SPType<>''塔吊'' and A.SPType<>''剩料已转'' and A.SPType<>''退料已转'''); end; if RadioGroup1.ItemIndex=2 then begin sql.add(' and A.CRTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+''''); sql.Add(' and A.CRTime<'''+Trim(FormatDateTime('yyyy-MM-dd',enddate.DateTime+1))+''''); sql.add(' group by convert(varchar(10),A.CRTime,120),GCName,SJName,CLSpec,JPSpec,CheHao,SPType'); SQL.Add(' order by convert(varchar(10),A.CRTime,120),A.GCName'); end; if RadioGroup1.ItemIndex=1 then begin sql.add(' and convert(varchar(7),A.CRTime,120)>='''+Trim(FormatDateTime('yyyy-MM',BegDate.DateTime))+''''); sql.Add(' and convert(varchar(7),A.CRTime,120)<='''+Trim(FormatDateTime('yyyy-MM',enddate.DateTime))+''''); sql.add(' group by convert(varchar(7),A.CRTime,120),GCName,SJName,CLSpec,JPSpec,CheHao,SPType'); SQL.Add(' order by convert(varchar(7),A.CRTime,120),A.GCName'); end; if RadioGroup1.ItemIndex=0 then begin sql.add(' and convert(varchar(4),A.CRTime,120)>='''+Trim(FormatDateTime('yyyy',BegDate.DateTime))+''''); sql.Add(' and convert(varchar(4),A.CRTime,120)<='''+Trim(FormatDateTime('yyyy',enddate.DateTime+1))+''''); sql.add(' group by convert(varchar(4),A.CRTime,120),GCName,SJName,CLSpec,JPSpec,CheHao,SPType'); SQL.Add(' order by convert(varchar(4),A.CRTime,120),A.GCName'); end; Open; end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); if CDS_Main.IsEmpty=False then begin for i:=1 to 33-CDS_Main.RecordCount do begin with CDS_Main do begin Append; post; end; end; end; finally ADOQueryMain.EnableControls; end; end; procedure TfrmCLShuiPiao_CX.TBRafreshClick(Sender: TObject); begin BegDate.SetFocus; InitGrid(); end; procedure TfrmCLShuiPiao_CX.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); end; end; procedure TfrmCLShuiPiao_CX.TBCloseClick(Sender: TObject); begin WriteCxGrid('水票列表FM11',Tv1,'水票仓库'); Close; end; procedure TfrmCLShuiPiao_CX.FormShow(Sender: TObject); begin ReadCxGrid('水票列表FM11',Tv1,'水票仓库'); if formid<>'2' then begin RadioGroup1.Visible:=false; end else RadioGroup1.Visible:=true; setstatus(); InitGrid(); end; procedure TfrmCLShuiPiao_CX.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel('水票列表',cxGrid2); end; procedure TfrmCLShuiPiao_CX.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 TfrmCLShuiPiao_CX.N1Click(Sender: TObject); begin SelOKNo(CDS_Main,True); end; procedure TfrmCLShuiPiao_CX.N2Click(Sender: TObject); begin SelOKNo(CDS_Main,False); end; procedure TfrmCLShuiPiao_CX.SPIDChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCLShuiPiao_CX.SPSpecChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCLShuiPiao_CX.GCNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCLShuiPiao_CX.RadioGroup1Click(Sender: TObject); begin if RadioGroup1.ItemIndex=2 then begin BegDate.Format:='yyyy-MM-dd'; endDate.Format:='yyyy-MM-dd'; end; if RadioGroup1.ItemIndex=1 then begin BegDate.Format:='yyyy-MM'; endDate.Format:='yyyy-MM'; end; if RadioGroup1.ItemIndex=0 then begin BegDate.Format:='yyyy'; endDate.Format:='yyyy'; end; TBRafresh.Click; end; procedure TfrmCLShuiPiao_CX.cxTabControl1Change(Sender: TObject); begin initgrid(); end; end.