unit U_WJGCKKCSelList; 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, dxBarBuiltInMenu, cxPC; type TfrmWJGCKKCSelList = 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; v1Column6: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v1Column14: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column12: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Label3: TLabel; Label4: TLabel; Label7: TLabel; SPName: TEdit; FactoryName: TEdit; QCOrderNo: TEdit; v1Column16: TcxGridDBColumn; v1Column15: TcxGridDBColumn; v1Column18: TcxGridDBColumn; Label1: TLabel; Label2: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; Tv1Column1: TcxGridDBColumn; cxTabControl1: TcxTabControl; 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 cxTabControl1Change(Sender: TObject); private procedure InitGrid(); { Private declarations } public cptype: string; { Public declarations } end; var frmWJGCKKCSelList: TfrmWJGCKKCSelList; implementation uses U_DataLink, U_RTFun, U_SXCKInPut; {$R *.dfm} procedure TfrmWJGCKKCSelList.FormDestroy(Sender: TObject); begin frmWJGCKKCSelList := nil; end; procedure TfrmWJGCKKCSelList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmWJGCKKCSelList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add(' select A.* '); SQL.Add(',khname1=(select CustomerNoName from JYOrder_Main b where b.mainid=A.ORDMAINIDRK )'); // sql.Add(' ,OrderNo=(select OrderNo from JYOrder_Main JM where JM.MainId=A.OrdMainIdRK )'); sql.Add(' from CK_SXPB_CR A where isnull(CKName,'''')=''外加工'' '); sql.add(' and 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 A.CRFlag=''入库'' and MXKCQty>0'); if cptype = '是' then begin sql.Add('and iscp=''是'''); end; if cxTabControl1.TabIndex = 0 then begin SQL.Add(' and not exists(select FZSPID from CK_SXPB_CR X where X.ZYTYPE=A.spid and x.ckname=''成品布'' ) '); end else begin SQL.Add(' and exists(select FZSPID from CK_SXPB_CR X where X.ZYTYPE=A.spid and x.ckname=''成品布'')'); end; SQL.Add('ORDER BY CRTIME DESC'); // ShowMessage(SQL.Text); Open; //ShowMessage(SQL.Text); end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmWJGCKKCSelList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmWJGCKKCSelList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmWJGCKKCSelList.TBCloseClick(Sender: TObject); begin WriteCxGrid('外加工库存选择列表', Tv1, '外加工仓库0327'); Close; end; procedure TfrmWJGCKKCSelList.FormShow(Sender: TObject); begin ReadCxGrid('外加工库存选择列表', Tv1, '外加工仓库0327'); EndDate.DateTime := SGetServerDate10(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime - 30; InitGrid(); end; procedure TfrmWJGCKKCSelList.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 TfrmWJGCKKCSelList.MPRTCodeNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmWJGCKKCSelList.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmWJGCKKCSelList.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmWJGCKKCSelList.SXBatchNOChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmWJGCKKCSelList.FactoryNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmWJGCKKCSelList.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 TfrmWJGCKKCSelList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ModalResult := 1; end; procedure TfrmWJGCKKCSelList.cxTabControl1Change(Sender: TObject); begin initgrid(); end; end.