unit U_ZSDSelist; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, MovePanel, cxTextEdit, cxContainer, cxCurrencyEdit, BtnEdit, RM_e_main, RM_e_htm, RM_e_Graphic, RM_e_Jpeg, RM_e_txt, RM_e_csv, RM_E_llPDF, Math, cxPC, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; type TfrmZSDSelist = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; Panel1: TPanel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1: TcxGrid; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; Label3: TLabel; MLOrderNo: TEdit; Order_Main: TClientDataSet; MLConNo: TEdit; Label2: TLabel; MLCodeName: TEdit; v1MLOrderNo: TcxGridDBColumn; v1KHName: TcxGridDBColumn; Label4: TLabel; v1MLCodeName: TcxGridDBColumn; ADOQueryPrint: TADOQuery; MovePanel2: TMovePanel; CheckBox1: TCheckBox; CheckBox2: TCheckBox; KHNameJC: TEdit; v1Column31: TcxGridDBColumn; v1MLConNo: TcxGridDBColumn; Label22: TLabel; ISHZ: TComboBox; v1MLColorNo: TcxGridDBColumn; IsJYTime: TCheckBox; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure MLOrderNoKeyPress(Sender: TObject; var Key: Char); procedure CheckBox2Click(Sender: TObject); procedure gangNOKeyPress(Sender: TObject; var Key: Char); procedure MLConNoKeyPress(Sender: TObject; var Key: Char); procedure TCBNORChange(Sender: TObject); procedure MLColorKeyPress(Sender: TObject; var Key: Char); procedure BegDateChange(Sender: TObject); procedure EndDateChange(Sender: TObject); procedure JYTypeChange(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); private DQdate: TDateTime; FLeft, FTop: Integer; CurrentPage, RecordsNumber: Integer; canshu1: string; procedure InitGrid(); procedure InitForm(); { Private declarations } public FFInt: Integer; { Public declarations } end; var frmZSDSelist: TfrmZSDSelist; implementation uses U_DataLink, U_Fun, U_ZDYHelp; {$R *.dfm} procedure TfrmZSDSelist.FormDestroy(Sender: TObject); begin frmZSDSelist := nil; end; procedure TfrmZSDSelist.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmZSDSelist.FormCreate(Sender: TObject); begin cxgrid1.Align := alClient; DQdate := SGetServerDate(ADOQueryTemp); canshu1 := Trim(DParameters1); end; procedure TfrmZSDSelist.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('指示单选择', Tv1, '检验管理'); end; procedure TfrmZSDSelist.InitGrid(); var fwhere, Pwhere: string; begin MovePanel2.Left := (self.Width - MovePanel2.Width) div 2; MovePanel2.Visible := True; MovePanel2.Refresh; Pwhere := SGetFilters(Panel1, 1, 2); if trim(Pwhere) <> '' then fwhere := fwhere + ' and ' + trim(Pwhere); try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; SQL.Add('select '); sql.Add(' B.MLOrderNo,B.MLConNo,B.MLCodeName,B.KHName,KM.KHNameJC,B.*,C.* '); sql.Add(',KHConNo=(select TOP 1 X.KHConNo from ML_ConMain X where X.MLConID=B.ConMainId)'); SQL.Add(',ZQty=(select Sum(X.Qty) from ML_OrderSubidNew X where B.NewMLID=X.NewMLID) '); sql.Add('from ML_OrderMainNew B'); sql.Add('left join ML_OrderZuHe C on B.NewMLID=C.NewMLID and C.MLType=''棉'' and C.SSGS=''自己'' '); sql.Add('inner join KH_Main KM on B.KHNO=KM.KHNO '); sql.Add('where 1=1'); if IsJYTime.Checked then begin sql.Add('and B.FillTime>=''' + trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + ''''); sql.add(' and B.Filltime<''' + trim(FormatDateTime('yyyy-MM-dd', enddate.Date + 1)) + ''''); end; sql.Add(fwhere); Open; end; SCreateCDS20(ADOQueryMain, Order_Main); SInitCDSData20(ADOQueryMain, Order_Main); MovePanel2.Visible := false; finally ADOQueryMain.EnableControls; MovePanel2.Visible := false; end; end; procedure TfrmZSDSelist.InitForm(); var fsj: string; begin ReadCxGrid('指示单选择', Tv1, '检验管理'); BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 1; EndDate.DateTime := SGetServerDate10(ADOQueryTemp); InitGrid(); end; procedure TfrmZSDSelist.TBRafreshClick(Sender: TObject); begin toolbar1.SetFocus; InitGrid(); end; procedure TfrmZSDSelist.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmZSDSelist.MLOrderNoKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin InitGrid(); end; end; procedure TfrmZSDSelist.CheckBox2Click(Sender: TObject); begin SelOKNo(Order_Main, CheckBox2.Checked); end; procedure TfrmZSDSelist.gangNOKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin InitGrid(); end; end; procedure TfrmZSDSelist.MLConNoKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin InitGrid(); end; end; procedure TfrmZSDSelist.TCBNORChange(Sender: TObject); begin InitGrid(); end; procedure TfrmZSDSelist.MLColorKeyPress(Sender: TObject; var Key: Char); begin InitGrid(); end; procedure TfrmZSDSelist.BegDateChange(Sender: TObject); begin InitGrid(); end; procedure TfrmZSDSelist.EndDateChange(Sender: TObject); begin InitGrid(); end; procedure TfrmZSDSelist.JYTypeChange(Sender: TObject); begin InitGrid(); end; procedure TfrmZSDSelist.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin if Order_Main.IsEmpty then exit; ModalResult := 1; end; end.