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_BaseList; type TfrmJYOrderCDList = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; Panel1: TPanel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; GPM_1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DS_1: TDataSource; Label3: TLabel; OrderNo: TEdit; TBExport: TToolButton; Order_Main: TClientDataSet; conNO: TEdit; Label7: TLabel; Label8: TLabel; Label10: TLabel; Label4: TLabel; Label5: TLabel; P_CodeName: TEdit; Label6: TLabel; JYCRType: TComboBox; Filler: TComboBox; btnEdit: TToolButton; TBZF: TToolButton; btnJBQ: TToolButton; RM1: TRMGridReport; RMDB_1: TRMDBDataSet; ADOQueryPrint: TADOQuery; MovePanel2: TMovePanel; P_Color: TEdit; Label18: TLabel; ComboBox1: TComboBox; RMXLSExport1: TRMXLSExport; IsJYTime: TCheckBox; btnRCD: TToolButton; B1: TToolButton; lbl1: TLabel; APID: TEdit; btnJYBG: TToolButton; Label16: TLabel; JTType: TEdit; Label20: TLabel; P_HX: TEdit; btnHY: TToolButton; Label23: TLabel; JYXH: TEdit; cxPageControl1: TcxPageControl; cxTabSheet1: TcxTabSheet; cxTabSheet2: TcxTabSheet; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Column22: TcxGridDBColumn; v1Column21: TcxGridDBColumn; v1Column32: TcxGridDBColumn; v1Column1: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column19: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column18: TcxGridDBColumn; v1Column2: 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; v1Column17: 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; cxGrid1Level1: TcxGridLevel; Panel6: TPanel; Label31: TLabel; LBCPAP: TLabel; BTLP: TButton; BTNP: TButton; TCBNOR: TComboBox; cxGrid2: TcxGrid; TV2: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; cxGridDBColumn11: TcxGridDBColumn; cxGridDBColumn13: TcxGridDBColumn; cxGridDBColumn14: TcxGridDBColumn; cxGridDBColumn15: TcxGridDBColumn; cxGridDBColumn16: TcxGridDBColumn; cxGridDBColumn18: TcxGridDBColumn; cxGridDBColumn19: TcxGridDBColumn; cxGridDBColumn20: TcxGridDBColumn; cxGridDBColumn21: TcxGridDBColumn; cxGridDBColumn27: TcxGridDBColumn; cxGridDBColumn28: TcxGridDBColumn; cxGridDBColumn31: TcxGridDBColumn; cxGridDBColumn32: TcxGridDBColumn; cxGridDBColumn37: TcxGridDBColumn; cxGridDBColumn40: TcxGridDBColumn; cxGridDBColumn41: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; CDS_2: TClientDataSet; DS_2: TDataSource; GPM_2: TcxGridPopupMenu; chkZF: TCheckBox; Tv1Column3: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; Tv1Column7: TcxGridDBColumn; TV2Column1: TcxGridDBColumn; P_COLORNO: TEdit; Label1: TLabel; Label2: TLabel; JYLen: TEdit; JYNW: TEdit; TV2Column2: TcxGridDBColumn; Tv1Column8: TcxGridDBColumn; 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 btnEditClick(Sender: TObject); procedure TBZFClick(Sender: TObject); procedure btnJBQClick(Sender: TObject); 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 btnRCDClick(Sender: TObject); procedure btnJYBGClick(Sender: TObject); procedure Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean); procedure btnHYClick(Sender: TObject); 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, canshu2: string; { Public declarations } end; implementation uses U_DataLink, U_OrderInPut, U_RTFun, U_MJEdit, U_ZDYHelp, U_ProductOrderListSel, U_ZdyMapSel; {$R *.dfm} procedure TfrmJYOrderCDList.SetStatus(); begin btnEdit.Enabled := False; TBZF.Enabled := False; btnHY.Enabled := False; btnJBQ.Enabled := False; btnRCD.Enabled := False; btnJYBG.Enabled := False; case cxPageControl1.ActivePageIndex of 0: begin ClearOrHideControls(Panel1, '0', True, True); ClearOrHideControls(Panel1, '1', True, False); end; 1: begin ClearOrHideControls(Panel1, '0', false, True); ClearOrHideControls(Panel1, '1', True, True); if canshu1 = '管理' then begin if chkZF.Checked then btnHY.Enabled := True else begin btnEdit.Enabled := True; TBZF.Enabled := True; btnJBQ.Enabled := True; btnRCD.Enabled := True; btnJYBG.Enabled := True; end; end; end; end; 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, '检验管理'); WriteCxGrid(Trim(self.Caption) + 'Tv2', Tv2, '检验管理'); Close; end; procedure TfrmJYOrderCDList.PrintCKMDG(MRKOrdID: string); var fPrintFile: string; Txt, fImagePath: string; Moudle: THandle; Makebar: TMakebar; Mixtext: TMixtext; begin if Order_Main.IsEmpty then Exit; ExportFtErpFile('入库码单.rmf', ADOQueryTemp); with Order_Main do begin with ADOQueryPrint do begin Close; SQL.Clear; sql.Add(' exec P_Print_RKDMD1 '); SQL.Add(' @RKOrdNo=''' + Trim(MRKOrdID) + ''''); Open; end; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\入库码单.rmf'; if FileExists(fPrintFile) then begin RMVariables['QRBARCODE'] := fImagePath; RM1.LoadFromFile(fPrintFile); Rm1.DefaultCopies := strtointdef(trim(ComboBox1.Text), 1); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找' + fPrintFile), '提示', 0); Exit; end; end; end; procedure TfrmJYOrderCDList.InitGrid(); var WSql: string; begin MovePanel2.Left := (self.Width - MovePanel2.Width) div 2; MovePanel2.Visible := True; MovePanel2.Refresh; WSql := SGetFilters(Panel1, 1, 2); if trim(WSql) <> '' then begin WSql := ' and ' + trim(WSql) + ' and isnull(fdanwei,''内'')=' + quotedstr(canshu2); end else begin WSql := trim(WSql) + ' and fdanwei=' + quotedstr(canshu2); end; // sql.Add('and fdanwei=' + quotedstr(canshu2)); // end; if IsJYTime.Checked then begin WSql := WSql + ' and Filltime>' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)); WSql := WSql + ' and Filltime<=' + quotedstr(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)); end; try ADOQueryMain.DisableControls; case cxPageControl1.ActivePageIndex of 0: begin with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add('select A.OrderNo,A.ConNo,A.P_Code,A.P_CodeName,A.P_Spec,A.P_Color,A.P_ColorNo,A.P_KuanNo,A.P_MF,A.P_KZ,A.P_HX,A.APID,A.GangNo,A.RCGangNo '); sql.Add(' ,sum(A.JYGW) JYGW, sum(A.JYTare) JYTare, sum(A.JYNW) JYNW,sum(A.JYLen) JYLen, sum(A.JYYLen) JYYLen '); SQL.Add(', LOT=(SELECT LOTNO FROM CK_SXPB_CR B WHERE B.SPID=A.APID)'); if chkZF.Checked then sql.Add('from ZDel_JY_Cloth A ') else sql.Add('from JY_Cloth A '); // SQL.ADD('INNER JOIN CK_SXPB_CR B ON A.APID=B.SPID'); sql.Add('where 1=1 ' + (WSql)); sql.Add('group by A.OrderNo,A.ConNo,A.P_Code,A.P_CodeName,A.P_Spec,A.P_Color,A.P_ColorNo,A.P_KuanNo,A.P_MF,A.P_KZ,A.P_HX,A.APID,A.GangNo,A.RCGangNo '); // ShowMessage(SQL.Text); Open; end; SCreateCDS(ADOQueryMain, CDS_2); SInitCDSData(ADOQueryMain, CDS_2); end; 1: begin with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add('exec P_JY_Get_Info '); sql.Add('@pageIndex=' + inttostr(CurrentPage)); sql.Add(',@pageSize=' + inttostr(RecordsNumber)); sql.Add(',@criteria= ' + quotedstr(WSql)); if chkZF.Checked then sql.Add(',@ZFFlag= 1 ') else sql.Add(',@ZFFlag= 0 '); Open; end; SCreateCDS(ADOQueryMain, Order_Main); SInitCDSData(ADOQueryMain, Order_Main); LBCPAP.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(Order_Main.FieldByName('TotalCount').AsInteger / RecordsNumber)); end; end; MovePanel2.Visible := false; finally ADOQueryMain.EnableControls; MovePanel2.Visible := false; end; end; procedure TfrmJYOrderCDList.InitForm(); var fsj: string; begin ReadCxGrid(Trim(self.Caption) + 'Tv1', Tv1, '检验管理'); ReadCxGrid(Trim(self.Caption) + 'Tv2', Tv2, '检验管理'); fsj := 'select distinct(Filler) name from JY_Cloth '; SInitComBoxBySql(ADOQueryCmd, Filler, False, fsj); Filler.ItemIndex := Filler.Items.IndexOf(trim(DName)); EndDate.DateTime := SGetServerDate(ADOQueryTemp); begDate.DateTime := EndDate.DateTime - 7; InitGrid(); end; procedure TfrmJYOrderCDList.TBFindClick(Sender: TObject); var fsj, fwhere: string; begin end; procedure TfrmJYOrderCDList.TBRafreshClick(Sender: TObject); begin OrderNo.SetFocus; CurrentPage := 1; InitGrid(); end; procedure TfrmJYOrderCDList.FormShow(Sender: TObject); begin inherited; canshu1 := self.fParameters1; canshu2 := self.fParameters2; CurrentPage := 1; RecordsNumber := 500; InitForm(); SetStatus(); 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; procedure TfrmJYOrderCDList.btnEditClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from CK_Cloth_CR where CRFlag=''入库'' and JYID=''' + Trim(Order_Main.fieldbyname('JYID').AsString) + ''''); Open; end; if ADOQueryTemp.IsEmpty = False then begin Order_Main.EnableControls; Application.MessageBox('已产生入库数据不能编辑!', '提示', 0); Exit; end; try frmMJEdit := TfrmMJEdit.Create(Application); with frmMJEdit do begin MJID.Text := Trim(Self.Order_Main.fieldbyname('JYID').AsString); if ShowModal = 1 then begin end; end; finally frmMJEdit.Free; end; end; procedure TfrmJYOrderCDList.TBZFClick(Sender: TObject); begin if Order_Main.Locate('ssel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; if Application.MessageBox('确定要作废数据吗?作废后数据不能恢复。', '提示', 32 + 4) <> IDYES then Exit; Order_Main.DisableControls; with Order_Main do begin First; while not Eof do begin if Order_Main.FieldByName('SSel').AsBoolean = True then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from CK_Cloth_CR where JYID=''' + Trim(Order_Main.fieldbyname('JYID').AsString) + ''' and CRFlag=''入库'''); Open; end; if ADOQueryTemp.IsEmpty = False then begin Order_Main.EnableControls; Application.MessageBox('已产生入库数据不能删除!', '提示', 0); Exit; end else begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('exec P_JY_Del @DName=' + Quotedstr(Trim(DName)) + ' ,@JYID=''' + Trim(Order_Main.fieldbyname('JYID').AsString) + ''''); //更新开卡 // sql.Add('exec P_UPdate_LCKJY @APID=''' + trim(Order_Main.fieldbyname('APID').AsString) + ''''); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('作废检验数据'))); sql.Add(',' + quotedstr('卷条码:' + trim(Order_Main.fieldbyname('JYID').AsString) + ' 卷号:' + trim(Order_Main.fieldbyname('JYXH').AsString) + ' 卡号:' + trim(Order_Main.fieldbyname('apid').AsString))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); ExecSQL; end; end; Order_Main.Delete; end else Next; end; end; Order_Main.EnableControls; end; procedure TfrmJYOrderCDList.btnJBQClick(Sender: TObject); var fPrintFile: string; begin if Order_Main.IsEmpty then Exit; if Order_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; Order_Main.DisableControls; with Order_Main do begin First; while not Eof do begin if Order_Main.FieldByName('SSel').AsBoolean = True then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update JY_Cloth Set PrtAgnFlag=1,PrtAgnDate=getdate(),PrtAgnPerson=''' + Trim(DName) + ''''); sql.Add(' where JYID=''' + Trim(Order_Main.fieldbyname('JYID').AsString) + ''''); ExecSQL; end; with ADOQueryPrint do begin Close; SQL.Clear; sql.Add(' EXEC P_JY_Print_Lab '); SQL.Add(' @JYID=''' + Trim(Order_Main.fieldbyname('JYID').AsString) + ''''); Open; end; if Trim(ADOQueryPrint.fieldbyname('LbName').AsString) <> '' then begin ExportFtErpFile(Trim(ADOQueryPrint.fieldbyname('LbName').AsString) + '.rmf', ADOQueryTemp); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint.fieldbyname('LbName').AsString) + '.rmf' end else begin ExportFtErpFile('通用中文标签.rmf', ADOQueryTemp); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\通用中文标签.rmf'; end; if Trim(Order_Main.fieldbyname('JYType').AsString) = '次品' then begin ExportFtErpFile('次品标签.rmf', ADOQueryTemp); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\次品标签.rmf'; end; if FileExists(fPrintFile) then begin RM1.LoadFromFile(fPrintFile); Rm1.DefaultCopies := strtointdef(trim(ComboBox1.Text), 1); RM1.PrintReport; end else begin Order_Main.EnableControls; Application.MessageBox(PChar('没有找' + fPrintFile), '提示', 0); Exit; end; end; Next; end; end; Order_Main.EnableControls; 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 if Length(OrderNo.Text) < 4 then Exit; 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 RecordsNumber := StrToInt(TCBNOR.Text); 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.btnRCDClick(Sender: TObject); begin if Trim(Order_Main.fieldbyname('RKOrdID').AsString) = '' then exit; PrintCKMDG(Trim(Order_Main.fieldbyname('RKOrdID').AsString)); end; procedure TfrmJYOrderCDList.btnJYBGClick(Sender: TObject); var fPrintFile, FMainID, LBName: string; begin if Order_Main.IsEmpty then Exit; if Order_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据', '提示', 0); Exit; end; ExportFtErpFile('检验报告.rmf', ADOQueryTemp); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\检验报告.rmf'; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete TBSubID where DName=''' + Trim(DCode) + ''''); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('SELECT * FROM TBSubID where 1=2 '); open; end; FMainID := ''; Order_Main.DisableControls; try ADOQueryCmd.Connection.BeginTrans; with Order_Main do begin First; while not Eof do begin if Fieldbyname('Ssel').AsBoolean then begin if FMainID = '' then begin FMainID := Trim(Order_Main.fieldbyname('APID').AsString); end else begin // IF Trim(Order_Main.fieldbyname('APID').AsString)<>FMainID then // begin // application.MessageBox('选择的不是同一个检验指示单,不能一起打印!','提示信息',0); // ADOQueryCmd.Connection.RollbackTrans; // EnableControls; // exit; // end; end; ADOQueryCmd.append; ADOQueryCmd.fieldbyname('SubId').Value := Trim(Order_Main.fieldbyname('JYID').AsString); ADOQueryCmd.fieldbyname('Dname').Value := Trim(DCode); ADOQueryCmd.post; end; Next; end; end; ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; end; Order_Main.EnableControls; with ADOQueryPrint do begin Close; sql.Clear; sql.add('exec P_Do_Print_JYBB '); sql.add(' @DName=' + quotedstr(Trim(DCode))); // ShowMessage(SQL.Text); Open; end; if FileExists(fPrintFile) then begin RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找' + trim(fPrintFile)), '提示信息', 0); exit; 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, clBtnHighlight, clBtnShadow, [bBottom, bLeft, bRight], 1); FValue := IntToStr(TcxGridIndicatorRowItemViewInfo(AViewInfo).GridRecord.Index + 1); InflateRect(FBounds, -1, -1); //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; procedure TfrmJYOrderCDList.btnHYClick(Sender: TObject); begin if Order_Main.Locate('ssel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; if Application.MessageBox('确定要还原数据吗?', '提示', 32 + 4) <> IDYES then Exit; Order_Main.DisableControls; with Order_Main do begin while Order_Main.Locate('ssel', True, []) do begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('insert into JY_Cloth select * from ZDel_JY_Cloth where JYID=''' + Trim(Order_Main.fieldbyname('JYID').AsString) + ''''); sql.Add('insert into CK_Cloth_CR select * from ZDel_CK_Cloth_CR where JYID=''' + Trim(Order_Main.fieldbyname('JYID').AsString) + ''''); sql.Add('insert into CK_BanCP_KC select * from ZDel_CK_BanCP_KC where JYID=''' + Trim(Order_Main.fieldbyname('JYID').AsString) + ''''); sql.Add('insert into JY_Cloth_CD select * from ZDel_JY_Cloth_CD where JYID=''' + Trim(Order_Main.fieldbyname('JYID').AsString) + ''''); sql.Add('delete ZDel_JY_Cloth where JYID=''' + Trim(Order_Main.fieldbyname('JYID').AsString) + ''''); sql.Add('delete ZDel_CK_Cloth_CR where JYID=''' + Trim(Order_Main.fieldbyname('JYID').AsString) + ''''); sql.Add('delete ZDel_CK_BanCP_KC where JYID=''' + Trim(Order_Main.fieldbyname('JYID').AsString) + ''''); sql.Add('delete ZDel_JY_Cloth_CD where JYID=''' + Trim(Order_Main.fieldbyname('JYID').AsString) + ''''); //更新开卡 sql.Add('exec P_UPdate_LCKJY @APID=''' + trim(Order_Main.fieldbyname('APID').AsString) + ''''); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('还原检验数据'))); sql.Add(',' + quotedstr('卷条码:' + trim(Order_Main.fieldbyname('JYID').AsString) + ' 卷号:' + trim(Order_Main.fieldbyname('apid').AsString))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); ExecSQL; end; Order_Main.Delete; end; end; Order_Main.EnableControls; end; end.