unit U_YarnStkSel; 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_BaseHelp, System.ImageList, Vcl.ImgList, dxScrollbarAnnotations, cxContainer, dxSkinsCore, dxSkinsDefaultPainters, cxMaskEdit; type TfrmYarnStkSel = class(TfrmBaseHelp) 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; N1: TMenuItem; N2: TMenuItem; ToolButton1: TToolButton; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Column17: TcxGridDBColumn; Tv1Y_Name: TcxGridDBColumn; Tv1BatchNo: TcxGridDBColumn; Tv1stkqty: TcxGridDBColumn; Tv1QtyUnit: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; Tv1IOTime: TcxGridDBColumn; ToolButton2: TToolButton; Tv1StkPiece: TcxGridDBColumn; Tv1Y_Composition: TcxGridDBColumn; Tv1Y_Color: TcxGridDBColumn; Tv1Note: TcxGridDBColumn; Tv1Y_Code: TcxGridDBColumn; Tv1FF: TcxGridDBColumn; Tv1FromCoName: TcxGridDBColumn; Label3: TLabel; Label4: TLabel; Label8: TLabel; Label12: TLabel; Label10: TLabel; Label6: TLabel; Label5: TLabel; Label1: TLabel; Label2: TLabel; Label7: TLabel; Y_Name: TcxTextEdit; FromCoName: TcxTextEdit; Y_Composition: TcxTextEdit; BatchNo: TcxTextEdit; BYIOID: TcxTextEdit; Y_Color: TcxTextEdit; IOType: TcxComboBox; Y_Code: TcxTextEdit; FromPurNo: TcxTextEdit; FromConNo: TcxTextEdit; Tv1BYIOID: TcxGridDBColumn; Tv1IOType: TcxGridDBColumn; Tv1FromPurNo: TcxGridDBColumn; Tv1FromConNo: TcxGridDBColumn; Tv1SXCBH: TcxGridDBColumn; Tv1SXCPM: TcxGridDBColumn; Tv1Denier: TcxGridDBColumn; Tv1ZS: TcxGridDBColumn; Tv1dbWeight: TcxGridDBColumn; Tv1dbNumber: TcxGridDBColumn; Tv1singleWeight: TcxGridDBColumn; Tv1FJFlag: TcxGridDBColumn; Tv1ISCJ: 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 FromCoNameChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure ToolButton2Click(Sender: TObject); procedure BYIOIDKeyPress(Sender: TObject; var Key: Char); procedure IOTypePropertiesChange(Sender: TObject); private procedure InitGrid(); { Private declarations } public FstkName, FFY_Code: string; { Public declarations } end; var frmYarnStkSel: TfrmYarnStkSel; implementation uses U_DataLink, U_RTFun; {$R *.dfm} procedure TfrmYarnStkSel.FormDestroy(Sender: TObject); begin inherited; frmYarnStkSel := nil; end; procedure TfrmYarnStkSel.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmYarnStkSel.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add(' select A.* '); sql.Add(',Case when ISnull(CJDate,'''') <> '''' '); sql.Add('then Cast(1 as bit) else Cast(0 as bit) end as ISCJ'); sql.Add(',Case when isnull((select count(*) from FJ_File where WBID=A.BYIOID and TFType=''纱线'' ),0)>0 '); sql.Add('then Cast(1 as bit) else Cast(0 as bit) end as FJFlag'); sql.Add(' from BS_Yarn_IO A where A.IOFlag=''入库'' and isnull(STkQty,0)>0 '); sql.Add(' and isnull(stkName,'''')=''' + Trim(FstkName) + ''''); if trim(FFY_Code) <> '' then sql.Add(' and isnull(Y_Code,'''')=''' + Trim(FFY_Code) + ''''); Open; end; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmYarnStkSel.IOTypePropertiesChange(Sender: TObject); begin InitGrid(); end; procedure TfrmYarnStkSel.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmYarnStkSel.BYIOIDKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin InitGrid(); end; end; procedure TfrmYarnStkSel.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmYarnStkSel.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmYarnStkSel.FormShow(Sender: TObject); begin inherited; ReadCxGrid(trim(self.Caption), Tv1, '机物料仓库'); InitGrid(); end; procedure TfrmYarnStkSel.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); end; end; procedure TfrmYarnStkSel.MPRTCodeNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmYarnStkSel.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmYarnStkSel.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmYarnStkSel.SXBatchNOChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmYarnStkSel.FromCoNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmYarnStkSel.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 TfrmYarnStkSel.ToolButton2Click(Sender: TObject); begin WriteCxGrid(trim(self.Caption), Tv1, '机物料仓库'); end; procedure TfrmYarnStkSel.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ModalResult := 1; end; end.