unit U_JYOrderCDList; 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, Math, Clipbrd, cxPC, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, U_BaseHelp, dxDateTimeWheelPicker, U_BaseList, System.ImageList, Vcl.ImgList; type TfrmJYOrderCDList = class(TfrmBaseHelp) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; GPM_1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DS_1: TDataSource; Order_Main: TClientDataSet; RM1: TRMGridReport; RMDB_1: TRMDBDataSet; ADOQueryPrint: TADOQuery; MovePanel2: TMovePanel; RMXLSExport1: TRMXLSExport; cxPageControl1: TcxPageControl; CDS_2: TClientDataSet; DS_2: TDataSource; GPM_2: TcxGridPopupMenu; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Column22: TcxGridDBColumn; v1Column21: TcxGridDBColumn; v1Column32: TcxGridDBColumn; v1Column1: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column19: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column17: TcxGridDBColumn; v1Column18: TcxGridDBColumn; v1Column23: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column27: TcxGridDBColumn; v1Column28: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column20: TcxGridDBColumn; v1Column24: TcxGridDBColumn; v1Column14: TcxGridDBColumn; v1Column15: TcxGridDBColumn; v1Column12: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v1Column42: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column41: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1MKXS: TcxGridDBColumn; v1Column33: TcxGridDBColumn; v1Column34: TcxGridDBColumn; v1Column36: TcxGridDBColumn; v1Column39: TcxGridDBColumn; v1Column30: TcxGridDBColumn; v1Column40: TcxGridDBColumn; v1Column44: TcxGridDBColumn; v1Column46: TcxGridDBColumn; v1Column45: TcxGridDBColumn; v1Column47: TcxGridDBColumn; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; Tv1Column8: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; 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 Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure OrderNoKeyPress(Sender: TObject; var Key: Char); procedure v1Column15PropertiesEditValueChanged(Sender: TObject); procedure JYIDKeyPress(Sender: TObject; var Key: Char); procedure BTLPClick(Sender: TObject); procedure BTNPClick(Sender: TObject); procedure TCBNORChange(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure conNOKeyPress(Sender: TObject; var Key: Char); procedure JYCRTypeChange(Sender: TObject); procedure MJTypeChange(Sender: TObject); procedure KHConNOKeyPress(Sender: TObject; var Key: Char); procedure RKOrdIDKeyPress(Sender: TObject; var Key: Char); procedure Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean); procedure cxPageControl1Change(Sender: TObject); procedure TV2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure chkZFClick(Sender: TObject); private DQdate: TDateTime; FLeft, FTop: Integer; CurrentPage, RecordsNumber: Integer; procedure InitGrid(); procedure InitForm(); function Savedata(): Boolean; procedure SetStatus(); procedure PrintCKMDG(MRKOrdID: string); { Private declarations } public FFInt: Integer; canshu1: string; Color, GangID: string; { Public declarations } end; var frmJYOrderCDList: TfrmJYOrderCDList; implementation uses U_DataLink, U_RTFun, U_ZDYHelp; {$R *.dfm} procedure TfrmJYOrderCDList.SetStatus(); begin // end; procedure TfrmJYOrderCDList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmJYOrderCDList.FormCreate(Sender: TObject); begin inherited; cxgrid1.Align := alClient; DQdate := SGetServerDate(ADOQueryTemp); end; procedure TfrmJYOrderCDList.TBCloseClick(Sender: TObject); begin WriteCxGrid(Trim(self.Caption) + 'Tv1', Tv1, '检验管理'); Close; end; procedure TfrmJYOrderCDList.PrintCKMDG(MRKOrdID: string); begin end; procedure TfrmJYOrderCDList.InitGrid(); var WSql: string; begin // WSql:='and P_Color like ''Color'' '; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add('exec P_JY_Get_Info '); sql.Add('@pageIndex=' + inttostr(1)); sql.Add(',@pageSize=' + inttostr(10000)); sql.Add(',@criteria= ' + quotedstr('and APID like ' + quotedstr(GangID))); // ShowMessage(SQL.Text); Open; end; SCreateCDS(ADOQueryMain, Order_Main); SInitCDSData(ADOQueryMain, Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmJYOrderCDList.InitForm(); var fsj: string; begin ReadCxGrid(Trim(self.Caption) + 'Tv1', Tv1, '检验管理'); fsj := 'select distinct(Filler) name from JY_Cloth '; InitGrid(); end; procedure TfrmJYOrderCDList.TBFindClick(Sender: TObject); var fsj, fwhere: string; begin end; procedure TfrmJYOrderCDList.TBRafreshClick(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmJYOrderCDList.FormShow(Sender: TObject); begin inherited; CurrentPage := 1; RecordsNumber := 500; InitForm(); SetStatus(); InitGrid(); end; procedure TfrmJYOrderCDList.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin FLeft := X; FTop := Y; end; procedure TfrmJYOrderCDList.TV2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin // AssignmentControls(Panel1, CDS_2, '0'); cxPageControl1.ActivePageIndex := 1; end; function TfrmJYOrderCDList.Savedata(): Boolean; var maxno, LLID: string; HXPS: Integer; HXQty, HXMQty: Double; begin HXPS := 0; HXQty := 0; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select Top 1 * from Contract_Cloth_LL where OrdSubId=''' + Trim(Order_Main.fieldbyname('SubId').AsString) + ''''); sql.Add(' and FirstName=''' + Trim(Order_Main.fieldbyname('AOrddefstr4').AsString) + ''''); Open; end; LLID := Trim(ADOQueryTemp.fieldbyname('LLID').AsString); if Trim(LLID) = '' then begin Result := False; Application.MessageBox('没有相对应的加工厂!', '提示', 0); Exit; end; try ADOQueryCmd.Connection.BeginTrans; if GetLSNo(ADOQueryCmd, maxno, 'HX', 'Contract_Cloth_BefChkHX', 2, 1) = False then begin Result := False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取回修最大号失败!', '提示', 0); Exit; end; with Order_Main do begin First; while not Eof do begin if Order_Main.FieldByName('SSel').AsBoolean = True then begin HXPS := HXPS + 1; HXQty := HXQty + Order_Main.FieldByName('MJLen').Value; end; Next; end; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add(''); Open; end; except end; end; procedure TfrmJYOrderCDList.OrderNoKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmJYOrderCDList.v1Column15PropertiesEditValueChanged(Sender: TObject); var mvalue: string; begin mvalue := TcxTextEdit(Sender).EditingText; with Order_Main do begin Edit; FieldByName('PanDing').Value := Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate JY_Cloth Set PanDing=''' + Trim(mvalue) + ''''); SQL.Add(' where JYID=''' + Trim(Order_Main.fieldbyname('JYID').AsString) + ''''); ExecSQL; end; end; procedure TfrmJYOrderCDList.JYIDKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmJYOrderCDList.BTLPClick(Sender: TObject); begin if CurrentPage > 1 then CurrentPage := CurrentPage - 1; InitGrid(); end; procedure TfrmJYOrderCDList.BTNPClick(Sender: TObject); begin if CurrentPage < Order_Main.FieldByName('TotalCount').AsInteger / RecordsNumber then CurrentPage := CurrentPage + 1; InitGrid(); end; procedure TfrmJYOrderCDList.TCBNORChange(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmJYOrderCDList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin Clipboard.SetTextBuf(PChar(Trim(Order_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); end; procedure TfrmJYOrderCDList.chkZFClick(Sender: TObject); begin inherited; CurrentPage := 1; SetStatus(); InitGrid(); end; procedure TfrmJYOrderCDList.conNOKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmJYOrderCDList.cxPageControl1Change(Sender: TObject); begin CurrentPage := 1; SetStatus(); InitGrid(); end; procedure TfrmJYOrderCDList.JYCRTypeChange(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmJYOrderCDList.MJTypeChange(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmJYOrderCDList.KHConNOKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmJYOrderCDList.RKOrdIDKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmJYOrderCDList.Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean); var FValue: string; FBounds: TRect; begin FBounds := AViewInfo.Bounds; if (AViewInfo is TcxGridIndicatorRowItemViewInfo) then begin ACanvas.FillRect(FBounds); ACanvas.DrawComplexFrame(FBounds, clBlack, clBlack, [bBottom, bLeft, bRight], 1); FValue := IntToStr(TcxGridIndicatorRowItemViewInfo(AViewInfo).GridRecord.Index + 1); InflateRect(FBounds, -3, -2); //Platform specific. May not work on Linux. ACanvas.Font.Color := clBlack; ACanvas.Brush.Style := bsClear; ACanvas.DrawText(FValue, FBounds, cxAlignCenter or cxAlignTop); ADone := True; end; end; end.