unit U_FLOrderListSel; 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, cxContainer, cxImage, cxDBEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, cxButtonEdit, cxTextEdit, dxSkinsCore, dxSkinsDefaultPainters, dxSkinscxPCPainter, dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue; type TfrmFLOrderListSel = class(TForm) ToolBar1: TToolBar; TBClose: TToolButton; Panel1: TPanel; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; Order_Main: TClientDataSet; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; ADOQueryPrint: TADOQuery; CDS_Print: TClientDataSet; ToolButton3: TToolButton; ADOQueryImage: TADOQuery; DSImage: TDataSource; PopupMenu2: TPopupMenu; N1: TMenuItem; MenuItem1: TMenuItem; cxGrid1: TcxGrid; TV1: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; v1PRTColor: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; v1OrderUnit: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; TV1Column1: TcxGridDBColumn; TV1Column2: TcxGridDBColumn; TV1Column3: TcxGridDBColumn; TV1Column4: TcxGridDBColumn; TV1Column5: TcxGridDBColumn; Label3: TLabel; Label8: TLabel; Label11: TLabel; Label13: TLabel; Label5: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; OrderNo: TEdit; MPRTCodeName: TEdit; MPRTCode: TEdit; JGFactoryName: TEdit; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure OrderNoKeyPress(Sender: TObject; var Key: Char); procedure Tv1DblClick(Sender: TObject); procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure N1Click(Sender: TObject); procedure MenuItem1Click(Sender: TObject); private DQdate: TDateTime; procedure InitGrid(); procedure InitForm(); procedure InitImage(fsubID: string); { Private declarations } public FFInt, FCloth: Integer; { Public declarations } end; var frmFLOrderListSel: TfrmFLOrderListSel; implementation uses U_DataLink, U_RTFun; {$R *.dfm} procedure TfrmFLOrderListSel.InitImage(fsubID: string); begin ADOQueryImage.close; // IF fwbid='' then exit; with ADOQueryImage do begin close; sql.Clear; sql.Add('select * from TP_File A'); sql.Add('inner join JYOrder_Sub B on B.HXFile=A.WBID'); sql.Add('where B.SubID=' + quotedstr(trim(fsubID))); open; end; end; procedure TfrmFLOrderListSel.FormDestroy(Sender: TObject); begin frmflOrderListSel := nil; end; procedure TfrmFLOrderListSel.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmFLOrderListSel.FormCreate(Sender: TObject); begin cxgrid1.Align := alClient; EndDate.DateTime := SGetServerDate(ADOQueryTemp); begDate.DateTime := EndDate.DateTime - 60; end; procedure TfrmFLOrderListSel.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('指示单列表选择坯布仓库', Tv1, '生产指示单管理'); end; procedure TfrmFLOrderListSel.InitGrid(); var fwhere, Pwhere: string; begin Pwhere := SGetFilters(Panel1, 1, 2); begin if trim(Pwhere) <> '' then fwhere := fwhere + ' and ' + trim(Pwhere); end; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add('select B.*,A.* '); sql.Add(',C.CYCF,C.MXHS,C.MHJS,C.MC,C.MCUNIT,C.CYPUNIT,C.JSUNIT '); sql.add('from flOrder_sub A'); sql.Add('inner join flOrder_Main B on B.mainID=A.mainID '); sql.Add('left join fl_ydang C on A.CYNO=C.CYNO '); SQL.Add('where b.OrdDate>=''' + FormatDateTime('yyyy-MM-dd', BegDate.DateTime) + ''''); SQL.Add('and b.OrdDate<''' + FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1) + ''''); sql.Add(fwhere); sql.Add('order by OrdDate desc'); // ShowMessage(SQL.Text); Open; end; SCreateCDS20(ADOQueryMain, Order_Main); SInitCDSData20(ADOQueryMain, Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmFLOrderListSel.InitForm(); begin ReadCxGrid('指示单列表选择坯布仓库', Tv1, '生产指示单管理'); InitGrid(); end; procedure TfrmFLOrderListSel.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmFLOrderListSel.ToolButton3Click(Sender: TObject); begin if Order_Main.IsEmpty then exit; ModalResult := 1; end; procedure TfrmFLOrderListSel.OrderNoKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin InitGrid(); end; end; procedure TfrmFLOrderListSel.Tv1DblClick(Sender: TObject); begin ToolButton3.Click; end; procedure TfrmFLOrderListSel.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ADOQueryImage.Close; if Order_Main.IsEmpty then exit; InitImage(Order_Main.fieldbyname('subID').AsString); end; procedure TfrmFLOrderListSel.N1Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; Order_Main.DisableControls; with Order_Main do begin First; while not Eof do begin Edit; FieldByName('SSel').Value := True; Post; Next; end; end; Order_Main.EnableControls; end; procedure TfrmFLOrderListSel.MenuItem1Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; Order_Main.DisableControls; with Order_Main do begin First; while not Eof do begin Edit; FieldByName('SSel').Value := false; Post; Next; end; end; Order_Main.EnableControls; end; end.