unit U_BSPrtDyeEJStkList; 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, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxDateRanges, dxBarBuiltInMenu, U_BaseList, dxScrollbarAnnotations, cxContainer, dxSkinsCore, dxSkinsDefaultPainters, cxProgressBar, dxSkinWXI; type TfrmBSPrtDyeEJStkList = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; CDS_Main: TClientDataSet; CDS_HZ: TClientDataSet; PopupMenu1: TPopupMenu; ToolButton1: TToolButton; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v2Column1: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v2Column6: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Label3: TLabel; Label8: TLabel; Label2: TLabel; P_name: TcxTextEdit; P_spec: TcxTextEdit; BatchNo: TcxTextEdit; ToolButton2: TToolButton; ToolButton3: TToolButton; Tv1Column3: TcxGridDBColumn; Tv1Column4: 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 SXBatchNOChange(Sender: TObject); procedure FromCoNameChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure FormCreate(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); private procedure InitGrid(); { Private declarations } public canshu1, FSTKName, canshu3: string; { Public declarations } end; var frmBSPrtDyeEJStkList: TfrmBSPrtDyeEJStkList; implementation uses U_DataLink, U_RTFun; {$R *.dfm} procedure TfrmBSPrtDyeEJStkList.FormDestroy(Sender: TObject); begin inherited; frmBSPrtDyeejStkList := nil; end; procedure TfrmBSPrtDyeEJStkList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmBSPrtDyeEJStkList.FormCreate(Sender: TObject); begin inherited; canshu1 := Trim(self.fParameters1); FSTKName := Trim(self.fParameters2); canshu3 := Trim(self.fParameters3); end; procedure TfrmBSPrtDyeEJStkList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add(' select P_Code,P_Name,P_Spec,BatchNo,SUM(IOQtyFlag*Qty)StkQty,SUM(IOQtyFlag*Qty/1000)StkQtyKG,money=sum(IOQtyFlag*price*Qty) '); SQL.Add(' ,p_type=(select p_type from Bs_Product_Info e where e.C_SCcode=a.p_code)'); sql.Add(' from BS_Product_IO A '); // SQL.Add(' where A.IOFlag=''入库'' and isnull(StkQty,0)>0 '); sql.Add(' where isnull(stkName,'''')=''' + Trim(FstkName) + ''''); SQL.Add('GROUP BY P_Code,P_Name,P_Spec,BatchNo'); sql.add('having sum(IOQtyFlag*Qty)>0'); Open; end; SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmBSPrtDyeEJStkList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmBSPrtDyeEJStkList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmBSPrtDyeEJStkList.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmBSPrtDyeEJStkList.FormShow(Sender: TObject); begin inherited; ReadCxGrid(trim(Self.Caption), Tv1, '机物料仓库'); InitGrid(); end; procedure TfrmBSPrtDyeEJStkList.TBFindClick(Sender: TObject); begin CDSDataFilter(ADOQueryMain, CDS_Main, Tv1, '{"FilterStr":"' + CommonFiltersByContainer(Panel1, ' {"EquTag": 1,"LikeTag": 2,"Fields": ""}') + '" }'); end; procedure TfrmBSPrtDyeEJStkList.MPRTCodeNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmBSPrtDyeEJStkList.SXBatchNOChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmBSPrtDyeEJStkList.FromCoNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmBSPrtDyeEJStkList.ToolButton1Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if CDS_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; ModalResult := 1; end; procedure TfrmBSPrtDyeEJStkList.ToolButton2Click(Sender: TObject); begin WriteCxGrid(trim(Self.Caption), Tv1, '机物料仓库'); end; procedure TfrmBSPrtDyeEJStkList.ToolButton3Click(Sender: TObject); begin inherited; if ADOQueryMain.IsEmpty then exit; TcxGridToExcel(trim(self.Caption), cxGrid2); end; procedure TfrmBSPrtDyeEJStkList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ModalResult := 1; end; end.