unit U_OutListSel2; 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 TfrmOutListSel2 = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: 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; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column6: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column14: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column18: TcxGridDBColumn; v1Column19: TcxGridDBColumn; v1Column12: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Label3: TLabel; Label5: TLabel; Label8: TLabel; Label12: TLabel; Label6: TLabel; SPName: TEdit; SPID: TEdit; SPSpec: TEdit; CRType: TComboBox; SPCF: TEdit; Label13: TLabel; ToFactoryName: TEdit; Label14: TLabel; BatchNO: TEdit; Label4: TLabel; FactoryName: TEdit; v1Column5: TcxGridDBColumn; v1Column13: TcxGridDBColumn; cxTabControl1: TcxTabControl; v1Column15: TcxGridDBColumn; ToolButton1: TToolButton; 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 TBFindClick(Sender: TObject); procedure SPNameChange(Sender: TObject); procedure SPIDChange(Sender: TObject); procedure SPIDKeyPress(Sender: TObject; var Key: Char); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure SPSpecChange(Sender: TObject); procedure Tv1DblClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure ToolButton1Click(Sender: TObject); private canshu1, canshu2: string; procedure InitGrid(); { Private declarations } public FCRType: string; { Public declarations } end; var frmOutListSel2: TfrmOutListSel2; implementation uses U_DataLink, U_RTFun; {$R *.dfm} procedure TfrmOutListSel2.FormDestroy(Sender: TObject); begin frmOutListSel2 := nil; end; procedure TfrmOutListSel2.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmOutListSel2.FormCreate(Sender: TObject); begin //cxGrid1.Align:=alClient; canshu1 := Trim(DParameters1); canshu2 := Trim(DParameters2); EndDate.DateTime := SGetServerDate10(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime - 30; end; procedure TfrmOutListSel2.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add(' select A.* '); sql.Add(' from CK_SXPB_CR A'); sql.Add(' where A.CRTime>=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime))) + ' and A.CRTime<' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)))); SQL.Add(' and CRFlag=''出库'' and Valid=''Y'' and ckname=''坯布'' and shtag=''损耗'' '); if cxTabControl1.TabIndex = 0 then SQL.Add(' and not exists(select FZSPID from CK_SXPB_CR X where X.FromSPID=A.SPID ) ') else SQL.Add(' and exists(select FZSPID from CK_SXPB_CR X where X.FromSPID=A.SPID )'); Open; end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmOutListSel2.TBRafreshClick(Sender: TObject); begin BegDate.SetFocus; InitGrid(); end; procedure TfrmOutListSel2.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmOutListSel2.TBCloseClick(Sender: TObject); begin WriteCxGrid('坯布出库列表PMD', Tv1, '坯布仓库'); Close; end; procedure TfrmOutListSel2.FormShow(Sender: TObject); var fsj: string; begin ReadCxGrid('坯布出库列表PMD', Tv1, '坯布仓库'); fsj := 'select distinct(CRType) name from CK_SXPB_CR where CRFlag=''出库'' '; SInitComBoxBySql(ADOQueryTemp, CRType, False, fsj); InitGrid(); end; procedure TfrmOutListSel2.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 TfrmOutListSel2.SPNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmOutListSel2.SPIDChange(Sender: TObject); begin if Length(Trim(SPID.Text)) < 4 then begin if Trim(SPID.Text) <> '' then Exit; end; TBFind.Click; end; procedure TfrmOutListSel2.SPIDKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin {if Length(Trim(SPID.Text))<4 then Exit; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add(' select A.* '); sql.Add(' from CK_SXPB_CR A'); sql.add(' where SPID like :SXID'); Parameters.ParamByName('SXID').Value:='%'+Trim(SPID.Text)+'%'; Open; //ShowMessage(SQL.Text); end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); finally ADOQueryMain.EnableControls; end; } end; end; procedure TfrmOutListSel2.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmOutListSel2.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmOutListSel2.SPSpecChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmOutListSel2.Tv1DblClick(Sender: TObject); begin ModalResult := 1; end; procedure TfrmOutListSel2.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmOutListSel2.ToolButton1Click(Sender: TObject); begin ModalResult := 1; end; end.