unit U_PBCKKCHZList3; 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, cxCurrencyEdit; type TfrmPBCKKCHZList3 = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; CDS_Main: TClientDataSet; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; RMDBHZ: TRMDBDataSet; CDS_HZ: TClientDataSet; CDS_PRT: TClientDataSet; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; ToolButton1: TToolButton; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column13: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column3: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Label3: TLabel; Label4: TLabel; Label7: TLabel; SPName: TEdit; FactoryName: TEdit; batchno: TEdit; v1Column19: TcxGridDBColumn; ToolButton2: TToolButton; cv1Column3: TcxGridDBColumn; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBRafreshClick(Sender: TObject); procedure ConNoMChange(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure MPRTCodeNameChange(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure SXBatchNOChange(Sender: TObject); procedure FactoryNameChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure ToolButton2Click(Sender: TObject); private procedure InitGrid(); { Private declarations } public { Public declarations } end; var frmPBCKKCHZList3: TfrmPBCKKCHZList3; implementation uses U_DataLink, U_RTFun, U_SXCKInPut; {$R *.dfm} procedure TfrmPBCKKCHZList3.FormDestroy(Sender: TObject); begin frmPBCKKCHZList3 := nil; end; procedure TfrmPBCKKCHZList3.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmPBCKKCHZList3.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add(' select batchno'); sql.Add(',SPName,spcolor,FactoryName,QtyUnit'); sql.Add(',kcps=Sum(case when crQtyFlag= 1 then PiQty else -PiQty end )'); SQL.Add(',kcqty=Sum(case when crQtyFlag= 1 then qty else -qty end )') ; // sql.Add(',GJ=SUM(case when QtyUnit=''Kg'' then MXKCQty else 0 end)'); // sql.Add(',MS=SUM(case when QtyUnit=''M'' then MXKCQty else (case when QtyUnit=''Y'' then MXKCQty*0.9144 else 0 end) end)'); sql.Add('from CK_SXPB_CR A where isnull(CKName,'''')=''坯布'' '); sql.Add('group by batchno,SPName,FactoryName,QtyUnit,spcolor'); // ShowMessage(SQL.Text); Open; end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmPBCKKCHZList3.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmPBCKKCHZList3.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmPBCKKCHZList3.TBCloseClick(Sender: TObject); begin WriteCxGrid('待检布库存列表', Tv1, '成品汇总仓库'); Close; end; procedure TfrmPBCKKCHZList3.FormShow(Sender: TObject); begin ReadCxGrid('待检布库存列表', Tv1, '成品汇总仓库'); //InitGrid(); end; procedure TfrmPBCKKCHZList3.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 TfrmPBCKKCHZList3.MPRTCodeNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmPBCKKCHZList3.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmPBCKKCHZList3.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmPBCKKCHZList3.SXBatchNOChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmPBCKKCHZList3.FactoryNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmPBCKKCHZList3.ToolButton1Click(Sender: TObject); begin ModalResult := 1; end; procedure TfrmPBCKKCHZList3.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ModalResult := 1; end; procedure TfrmPBCKKCHZList3.ToolButton2Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel('待检布库存', cxGrid2); end; end.