unit U_JGSXKNewList_CLGLCXMgg_GL; 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 TfrmJGSXKNewList_CLGLCXMgg_GL = 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; OrderNo: TEdit; Label6: TLabel; CustomerNoName: TEdit; Label3: TLabel; BNo: TEdit; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1CRTime: TcxGridDBColumn; V1orderNo: TcxGridDBColumn; v1CustomerNoName: TcxGridDBColumn; v1YLName: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Label5: TLabel; TeXing: TEdit; v1TeXing: TcxGridDBColumn; v1SGBuWei: TcxGridDBColumn; v1GCName: TcxGridDBColumn; Label7: TLabel; GCName: TEdit; Label8: TLabel; SGBuWei: TEdit; v1CPFLQty: TcxGridDBColumn; v1SGFangshi: TcxGridDBColumn; Label9: TLabel; SGFangshi: TEdit; 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 OrderNoChange(Sender: TObject); procedure RadioGroup1Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); private canshu1,canshu2,canshu3:string; procedure InitGrid(); procedure setstatus(); { Private declarations } public { Public declarations } end; var frmJGSXKNewList_CLGLCXMgg_GL: TfrmJGSXKNewList_CLGLCXMgg_GL; implementation uses U_DataLink,U_RTFun,U_Fun,U_SXCKInPut, U_JGSXCKInPut, U_JGSXCKInPut_CPCK; {$R *.dfm} procedure TfrmJGSXKNewList_CLGLCXMgg_GL.setstatus(); begin end; procedure TfrmJGSXKNewList_CLGLCXMgg_GL.FormDestroy(Sender: TObject); begin frmJGSXKNewList_CLGLCXMgg_GL:=nil; end; procedure TfrmJGSXKNewList_CLGLCXMgg_GL.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmJGSXKNewList_CLGLCXMgg_GL.FormCreate(Sender: TObject); begin //cxGrid1.Align:=alClient; EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); BegDate.DateTime:=EndDate.DateTime; canshu1:=Trim(DParameters1); canshu2:=Trim(DParameters2); canshu3:=Trim(DParameters3); end; procedure TfrmJGSXKNewList_CLGLCXMgg_GL.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(',A.OrderNo,A.CustomerNoName,A.BNo,A.TeXing,A.GCName,A.SGFangshi,A.CRType'); sql.Add(',SGBuWei=(select Top 1 B.SGBuWei from JYOrder_Main B where B.OrderNo=A.OrderNO)'); sql.Add(',Sum(A.YJFLQty) YJFLQty,Sum(A.CPFLQty) CPFLQty,Sum(A.GLQty) GLQty,Sum(A.CLQty) CLQty,ZLCQty=Sum(A.GLQty*isnull(CLQty,0)),Sum(A.BTFLQty) BTFLQty '); sql.Add(' from CK_CP_CR A'); sql.Add(' inner join JYOrderCon_Main B on A.ConNo=B.ConNo'); if cxTabControl1.TabIndex=0 then begin sql.Add(' where B.ConType=''正式合同'' '); end else if cxTabControl1.TabIndex=1 then begin sql.Add(' where B.ConType=''临时合同'' '); end; sql.Add(' and isnull(A.CRType,'''')=''销售出库'' '); 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),A.OrderNo,A.CustomerNoName,A.BNo,A.TeXing,A.GCName,A.SGFangshi,A.CRType'); 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),A.OrderNo,A.CustomerNoName,A.BNo,A.TeXing,A.GCName,A.SGFangshi,A.CRType'); 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),A.OrderNo,A.CustomerNoName,A.BNo,A.TeXing,A.GCName,A.SGFangshi,A.CRType'); SQL.Add(' order by convert(varchar(4),A.CRTime,120),A.GCName'); end; Open; end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); for i:=1 to 34-CDS_Main.RecordCount do begin with CDS_Main do begin append; post; end; end; finally; ADOQueryMain.EnableControls; end; end; procedure TfrmJGSXKNewList_CLGLCXMgg_GL.TBRafreshClick(Sender: TObject); begin BegDate.SetFocus; //Tv1.OptionsCustomize.ColumnFiltering:=False; //Tv1.OptionsCustomize.ColumnFiltering:=True; //Tv1.DataController.Filter.Clear; InitGrid(); //Tv1.FilterBox.Visible := fvNever; end; procedure TfrmJGSXKNewList_CLGLCXMgg_GL.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); end; end; procedure TfrmJGSXKNewList_CLGLCXMgg_GL.TBCloseClick(Sender: TObject); begin WriteCxGrid('成品发货汇总mggGL',Tv1,'成品仓库'); Close; end; procedure TfrmJGSXKNewList_CLGLCXMgg_GL.FormShow(Sender: TObject); begin ReadCxGrid('成品发货汇总mggGL',Tv1,'成品仓库'); setstatus(); //InitGrid(); end; procedure TfrmJGSXKNewList_CLGLCXMgg_GL.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; SelExportData(Tv1,ADOQueryMain,'成品发货汇总'); end; procedure TfrmJGSXKNewList_CLGLCXMgg_GL.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 TfrmJGSXKNewList_CLGLCXMgg_GL.N1Click(Sender: TObject); begin SelOKNo(CDS_Main,True); end; procedure TfrmJGSXKNewList_CLGLCXMgg_GL.N2Click(Sender: TObject); begin SelOKNo(CDS_Main,False); end; procedure TfrmJGSXKNewList_CLGLCXMgg_GL.SPIDChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmJGSXKNewList_CLGLCXMgg_GL.SPSpecChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmJGSXKNewList_CLGLCXMgg_GL.OrderNoChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmJGSXKNewList_CLGLCXMgg_GL.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; //Tv1.DataController.Filter.Clear; InitGrid(); //Tv1.FilterBox.Visible := fvNever; end; procedure TfrmJGSXKNewList_CLGLCXMgg_GL.cxTabControl1Change(Sender: TObject); begin TBRafresh.Click; end; end.