unit U_AllFHSQListSel; 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, cxPC, cxButtonEdit, RM_E_llPDF, cxDropDownEdit, cxTextEdit, cxLookAndFeels, cxLookAndFeelPainters, dxBarBuiltInMenu, cxNavigator; type TfrmAllFHSQListSel = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; Order_Main: TClientDataSet; ToolButton1: TToolButton; Panel1: TPanel; Label1: TLabel; Label4: TLabel; Label8: TLabel; Label9: TLabel; Label12: TLabel; Label13: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; CustomerNoName: TEdit; MPRTCodeName: TEdit; HZSCConNo: TEdit; MPRTKZ: TEdit; MPRTMF: TEdit; cxTabControl1: TcxTabControl; cxSplitter1: TcxSplitter; ADOQuerySub: TADOQuery; DataSource2: TDataSource; Label2: TLabel; ClientDataSet2: TClientDataSet; cxGridPopupMenu2: TcxGridPopupMenu; ToolButton2: TToolButton; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Column4: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1CustomerNoName: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1OrdDate: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v1Column17: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column27: TcxGridDBColumn; cv1Column12: TcxGridDBColumn; cv1Column14: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cv2Column10: TcxGridDBColumn; cv2Column4: TcxGridDBColumn; cv2Column7: TcxGridDBColumn; cv2Column5: TcxGridDBColumn; cv2Column6: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v2Column3: TcxGridDBColumn; Tv2Column1: TcxGridDBColumn; Tv2Column2: TcxGridDBColumn; Tv2Column3: TcxGridDBColumn; Tv2Column4: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; Tv1Column1: TcxGridDBColumn; Label6: TLabel; HZCODE: TEdit; Tv1Column2: TcxGridDBColumn; Label3: TLabel; fsid: TEdit; //RMllPDFExport1: TRMllPDFExport; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure CustomerNoNameChange(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ToolButton2Click(Sender: TObject); procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); private procedure InitGrid(); procedure InitSubGrid(); procedure InitForm(); { Private declarations } public FFInt: Integer; canshu1: string; { Public declarations } end; var frmAllFHSQListSel: TfrmAllFHSQListSel; implementation uses U_DataLink, U_Fun, U_ZDYHelp; {$R *.dfm} procedure TfrmAllFHSQListSel.FormDestroy(Sender: TObject); begin frmAllFHSQListSel := nil; end; procedure TfrmAllFHSQListSel.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmAllFHSQListSel.FormCreate(Sender: TObject); begin cxgrid1.Align := alClient; end; procedure TfrmAllFHSQListSel.TBCloseClick(Sender: TObject); begin WriteCxGrid('发货申请选择ZY', Tv1, '发货申请管理'); WriteCxGrid('发货申请选择ZY', Tv2, '发货申请管理'); Close; end; procedure TfrmAllFHSQListSel.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; Sql.Add(' select A.*,NoteZ=A.Note,dfpshz=(SQPSHZ-isnull(FHPSHZ,0)) '); Sql.Add(' ,HZCODE=CAST((select distinct(SPrtCode) + '' '' from FHSQ_Sub X where A.FSID=X.FSID for xml path('''') ) AS VARCHAR(100))'); Sql.Add(' ,HZSCConNo=CAST((select distinct(SCConNo) + '' '' from FHSQ_Sub X where A.FSID=X.FSID for xml path('''') ) AS VARCHAR(100))'); sql.Add(' from FHSQ_Main A'); sql.Add(' where chkstatus=''审核通过'' '); SQL.Add('AND (SQTYPE=''订单'' or crtype in(''回修出库'',''加工完成'',''加工出库'') )'); if cxTabControl1.TabIndex <> 0 then begin sql.Add(' and SQDate>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + ''''); sql.Add(' and SQDate<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + ''''); end; // ShowMessage(sql.Text); Open; end; SCreateCDS20(ADOQueryMain, Order_Main); SInitCDSData20(ADOQueryMain, Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmAllFHSQListSel.InitForm(); begin ReadCxGrid('发货申请选择ZY', Tv1, '发货申请管理'); ReadCxGrid('发货申请选择ZY', Tv2, '发货申请管理'); EndDate.DateTime := SGetServerDate10(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime - 7; InitGrid(); end; procedure TfrmAllFHSQListSel.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, Order_Main); SInitCDSData20(ADOQueryMain, Order_Main); end; procedure TfrmAllFHSQListSel.TBRafreshClick(Sender: TObject); begin InitGrid(); TBFind.Click; InitSubGrid(); end; procedure TfrmAllFHSQListSel.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmAllFHSQListSel.CheckBox1Click(Sender: TObject); begin InitGrid(); end; procedure TfrmAllFHSQListSel.CheckBox2Click(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmAllFHSQListSel.CustomerNoNameChange(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, Order_Main); SInitCDSData20(ADOQueryMain, Order_Main); end; procedure TfrmAllFHSQListSel.InitSubGrid(); begin with ADOQueryTemp do begin Close; sql.Clear; if Order_Main.IsEmpty = False then sql.Add('select * from FHSQ_Sub A where A.FSId=''' + Trim(Order_Main.fieldbyname('FSId').AsString) + '''') else sql.Add('select * from FHSQ_Sub A where 1=2'); Open; end; SCreateCDS20(ADOQueryTemp, ClientDataSet2); SInitCDSData20(ADOQueryTemp, ClientDataSet2); end; procedure TfrmAllFHSQListSel.cxTabControl1Change(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmAllFHSQListSel.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin with ADOQueryTemp do begin Close; sql.Clear; if Order_Main.IsEmpty = False then begin sql.Add('select A.* from FHSQ_Sub A '); // sql.Add(' inner join CLoth_Sub B on A.SubId=B.SubId'); // sql.Add(' inner join CLoth_Main C on B.MainId=C.MainId'); sql.Add(' where A.FSId=''' + Trim(Order_Main.fieldbyname('FSId').AsString) + ''''); end else begin sql.Add('select A.* from FHSQ_Sub A '); // sql.Add(' inner join CLoth_Sub B on A.SubId=B.SubId'); // sql.Add(' inner join CLoth_Main C on B.MainId=C.MainId'); sql.Add(' where 1=2'); end; Open; end; SCreateCDS20(ADOQueryTemp, ClientDataSet2); SInitCDSData20(ADOQueryTemp, ClientDataSet2); end; procedure TfrmAllFHSQListSel.ToolButton2Click(Sender: TObject); begin ModalResult := 1; end; procedure TfrmAllFHSQListSel.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ModalResult := 1; end; procedure TfrmAllFHSQListSel.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ToolButton2.Click; end; end.