unit U_FinishedClothInspection; 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, Clipbrd, cxPC, cxButtonEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu; type TfrmFinishedClothInspection = class(TForm) ToolBar1: TToolBar; TBClose: TToolButton; Panel1: TPanel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1: TcxGrid; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DS_Main: TDataSource; TBExport: TToolButton; OrderNo: TEdit; Label7: TLabel; Label8: TLabel; Label10: TLabel; JYID: TEdit; v1Column3: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column12: TcxGridDBColumn; Label4: TLabel; JYType: TComboBox; v1Column13: TcxGridDBColumn; Label5: TLabel; conno: TEdit; v1Column17: TcxGridDBColumn; Label12: TLabel; factoryName: TEdit; v1Column20: TcxGridDBColumn; v1Column21: TcxGridDBColumn; Filler: TComboBox; TBManage: TToolButton; v1Column22: TcxGridDBColumn; v1Column23: TcxGridDBColumn; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; TBZF: TToolButton; ToolButton1: TToolButton; RM2: TRMGridReport; RMDB_Main: TRMDBDataSet; ADOQueryPrint: TADOQuery; MovePanel2: TMovePanel; P_Color: TEdit; tbPrintRCD: TToolButton; v1Column32: TcxGridDBColumn; v1Column34: TcxGridDBColumn; RMXLSExport1: TRMXLSExport; IsJYTime: TCheckBox; v1Column16: TcxGridDBColumn; Label1: TLabel; RKOrdID: TEdit; N3: TMenuItem; ToolButton4: TToolButton; X1: TMenuItem; B1: TToolButton; Panel3: TPanel; Panel4: TPanel; cxTabControl1: TcxTabControl; Panel6: TPanel; Label31: TLabel; LBCPAP: TLabel; BTLP: TButton; BTNP: TButton; TCBNOR: TComboBox; ComboBox1: TComboBox; Order_Main: TClientDataSet; ToolButton2: TToolButton; TBRafresh: TToolButton; v1Column1: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column14: TcxGridDBColumn; v1Column15: TcxGridDBColumn; v1Column18: TcxGridDBColumn; v1Column19: TcxGridDBColumn; v1Column24: TcxGridDBColumn; v1Column25: TcxGridDBColumn; x2: TMenuItem; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; Tv1Column7: TcxGridDBColumn; Label2: TLabel; P_CODE: TEdit; Tv1Column8: TcxGridDBColumn; Label3: TLabel; JTH: TEdit; Label6: TLabel; person: TEdit; Tv1Column9: TcxGridDBColumn; Tv1Column10: TcxGridDBColumn; Tv1Column12: TcxGridDBColumn; Tv1Column11: TcxGridDBColumn; Tv1Column13: TcxGridDBColumn; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure TBManageClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure TBZFClick(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure v1Column15PropertiesEditValueChanged(Sender: TObject); procedure JYIDKeyPress(Sender: TObject; var Key: Char); procedure BTLPClick(Sender: TObject); procedure BTNPClick(Sender: TObject); procedure TCBNORChange(Sender: TObject); procedure tbPrintRCDClick(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure OrderNoKeyPress(Sender: TObject; var Key: Char); procedure MJStr2Change(Sender: TObject); procedure JYTypeChange(Sender: TObject); procedure KHConNOKeyPress(Sender: TObject; var Key: Char); procedure RKOrdIDKeyPress(Sender: TObject; var Key: Char); procedure N3Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure X1Click(Sender: TObject); procedure B1Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure v1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure x2Click(Sender: TObject); procedure v1Column2PropertiesEditValueChanged(Sender: TObject); procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); 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; { Public declarations } end; implementation uses U_DataLink, U_Fun, U_MJEdit, U_ZDYHelp, U_SysLogHelp, U_SCPerson; {$R *.dfm} procedure TfrmFinishedClothInspection.SetStatus(); begin TBManage.Visible := False; TBZF.Visible := False; ToolButton1.Visible := False; if Trim(canshu1) = '管理' then begin TBManage.Visible := True; ToolButton1.Visible := true; case cxTabControl1.TabIndex of 0: begin TBZF.Visible := True; tbPrintRCD.Visible := true; ToolButton4.Visible := false; end; 1: begin tbPrintRCD.Visible := false; ToolButton4.Visible := true; end; 2: begin tbPrintRCD.Visible := false; ToolButton4.Visible := true; end; end; end; if Trim(canshu1) = '次品管理' then begin TBZF.Visible := True; end; end; procedure TfrmFinishedClothInspection.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmFinishedClothInspection.FormCreate(Sender: TObject); begin cxgrid1.Align := alClient; DQdate := SGetServerDate(ADOQueryTemp); end; procedure TfrmFinishedClothInspection.TBCloseClick(Sender: TObject); begin WriteCxGrid(self.Caption + '2', Tv1, '检验管理'); Close; end; procedure TfrmFinishedClothInspection.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_CPCK_Print_RKMD '); SQL.Add(' @RKOrdID=''' + Trim(MRKOrdID) + ''''); Open; end; try Moudle := LoadLibrary('MakeQRBarcode.dll'); @Makebar := GetProcAddress(Moudle, 'Make'); @Mixtext := GetProcAddress(Moudle, 'MixText'); Txt := Trim(ADOQueryPrint.fieldbyname('RKNO').AsString); fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp'; if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); if FileExists(fImagePath) then DeleteFile(fImagePath); Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3); except application.MessageBox('条形码生成失败!', '提示信息', MB_ICONERROR); exit; end; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\成品仓库码单.rmf'; if FileExists(fPrintFile) then begin RMVariables['QRBARCODE'] := fImagePath; RM2.LoadFromFile(fPrintFile); Rm2.DefaultCopies := strtointdef(trim(ComboBox1.Text), 1); RM2.ShowReport; end else begin Application.MessageBox(PChar('没有找' + fPrintFile), '提示', 0); Exit; end; end; end; procedure TfrmFinishedClothInspection.InitGrid(); var fwhere, Pwhere: string; begin MovePanel2.Left := (self.Width - MovePanel2.Width) div 2; MovePanel2.Visible := True; MovePanel2.Refresh; if (canshu1 = '次品管理') or (canshu1 = '次品查询') then begin JYType.ItemIndex := 0; end; if IsJYTime.Checked then begin fwhere := ' where Filltime>' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)); fwhere := fwhere + ' and Filltime<=' + quotedstr(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)); end else fwhere := ' where 1=1 '; Pwhere := SGetFilters(Panel1, 1, 2); if (Pwhere <> '') and (person.text <> '') then begin Pwhere := Pwhere + ' and '; end; if person.text <> '' then begin Pwhere := Pwhere + ' ( person1 like ''%' + trim(person.text) + '%'''; Pwhere := Pwhere + ' or person2 like ''%' + trim(person.text) + '%'''; Pwhere := Pwhere + ' or person3 like ''%' + trim(person.text) + '%'''; Pwhere := Pwhere + ' or person4 like ''%' + trim(person.text) + '%'''; Pwhere := Pwhere + ' or person5 like ''%' + trim(person.text) + '%'')'; end; // ShowMessage(Pwhere); if trim(Pwhere) <> '' then fwhere := fwhere + ' and ' + Pwhere; case cxTabControl1.TabIndex of 0: begin fwhere := fwhere + ' and JYCRType=''未入库'' '; end; 1: begin fwhere := fwhere + ' and JYCRType<>''未入库'' '; end; end; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add('exec P_Page_Cloth_Inspect '); sql.Add('@pageIndex=' + inttostr(CurrentPage)); sql.Add(',@pageSize=' + inttostr(RecordsNumber)); sql.Add(',@criteria= ' + quotedstr(fwhere)); // ShowMessage(SQL.Text); Open; end; SCreateCDS20(ADOQueryMain, Order_Main); SInitCDSData20(ADOQueryMain, Order_Main); LBCPAP.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(Order_Main.FieldByName('TotalCount').AsInteger / RecordsNumber)); MovePanel2.Visible := false; finally ADOQueryMain.EnableControls; MovePanel2.Visible := false; end; end; procedure TfrmFinishedClothInspection.InitForm(); var fsj: string; begin ReadCxGrid(self.Caption + '2', Tv1, '检验管理'); fsj := 'select distinct(Filler) name from JY_Cloth '; SInitComBoxBySql(ADOQueryCmd, Filler, False, fsj); // Filler.ItemIndex := Filler.Items.IndexOf(trim(DName)); EndDate.DateTime := SGetServerDate10(ADOQueryTemp); BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 30; InitGrid(); end; procedure TfrmFinishedClothInspection.TBFindClick(Sender: TObject); var fsj, fwhere: string; begin end; procedure TfrmFinishedClothInspection.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; SelExportData(Tv1, ADOQueryMain, '检验报告'); end; procedure TfrmFinishedClothInspection.TBRafreshClick(Sender: TObject); begin RKOrdID.SetFocus; CurrentPage := 1; InitGrid(); // TV1.OptionsData.Editing := False; // TV1.OptionsSelection.CellSelect := False; end; procedure TfrmFinishedClothInspection.FormShow(Sender: TObject); begin CurrentPage := 1; RecordsNumber := 500; // TV1.OptionsData.Editing := False; // TV1.OptionsSelection.CellSelect := False; InitForm(); SetStatus(); end; procedure TfrmFinishedClothInspection.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin FLeft := X; FTop := Y; end; procedure TfrmFinishedClothInspection.TBManageClick(Sender: TObject); var key: Char; begin key := #13; if Order_Main.IsEmpty then exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from CK_Cloth_CR where CRFlag in(''入库'',''出库'') and JYID=''' + Trim(Order_Main.fieldbyname('JYID').AsString) + ''''); Open; end; if ADOQueryTemp.IsEmpty = False then begin if ADOQueryTemp.fieldbyname('CRFlag').Value = '入库' then begin Order_Main.EnableControls; Application.MessageBox('已产生入库数据不能编辑!', '提示', 0); Exit; end else begin Order_Main.EnableControls; Application.MessageBox('已产生出库数据不能编辑!', '提示', 0); Exit; end; end; try frmMJEdit := TfrmMJEdit.Create(Application); with frmMJEdit do begin JYID.Text := Trim(Self.Order_Main.fieldbyname('JYID').AsString); JYIDKeyPress(JYID, key); if ShowModal = 1 then begin end; end; finally frmMJEdit.Free; end; end; procedure TfrmFinishedClothInspection.N1Click(Sender: TObject); begin SelOKNo(Order_Main, True); end; procedure TfrmFinishedClothInspection.N2Click(Sender: TObject); begin SelOKNo(Order_Main, False); end; procedure TfrmFinishedClothInspection.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 in(''入库'',''出库'')'); Open; end; if ADOQueryTemp.IsEmpty = False then begin if ADOQueryTemp.fieldbyname('CRFlag').Value = '入库' then begin Order_Main.EnableControls; Application.MessageBox('已产生入库数据不能作废!', '提示', 0); Exit; end else begin Order_Main.EnableControls; Application.MessageBox('已产生出库数据不能作废!', '提示', 0); Exit; end; end else begin ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete JY_Cloth where JYID=''' + Trim(Order_Main.fieldbyname('JYID').AsString) + ''''); sql.Add('delete CK_Cloth_CR where JYID=''' + Trim(Order_Main.fieldbyname('JYID').AsString) + ''''); sql.Add('delete CK_Cloth_KC where JYID=''' + Trim(Order_Main.fieldbyname('JYID').AsString) + ''''); sql.Add('delete JY_Cloth_CD where JYID=''' + Trim(Order_Main.fieldbyname('JYID').AsString) + ''''); // 更新开卡 // sql.Add('exec P_UPdate_LCKJY @SPID=''' + trim(Order_Main.fieldbyname('SPID').AsString) + ''''); sql.Add('update PD_Plan_AnPai set jyflag=(case when isnull((select count(*) from JY_Cloth where apid=''' + trim(Order_Main.fieldbyname('apid').AsString) + '''),0)>0 then 1 else 0 end)'); sql.Add('where 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(')'); // showmessage(sql.text); ExecSQL; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('exec P_JY_ChaiPi_Del '); sql.Add(' @OrgJYID=' + quotedstr(trim(Order_Main.FieldByName('OrgJYID').AsString))); sql.Add(',@JYID=' + quotedstr(trim(Order_Main.FieldByName('JYID').AsString))); // showmessage(sql.text); open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then begin Order_Main.EnableControls; application.MessageBox(PChar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)), '提示信息', 0); ADOQueryCmd.Connection.RollbackTrans; end; ADOQueryCmd.Connection.CommitTrans; end; Order_Main.Delete; end else Next; end; end; Order_Main.EnableControls; end; procedure TfrmFinishedClothInspection.ToolButton1Click(Sender: TObject); var fPrintFile: string; Txt, fImagePath: string; Moudle: THandle; Makebar: TMakebar; Mixtext: TMixtext; 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 WFB_MJJY Set PrtAgnFlag=1,PrtAgnDate=getdate(),PrtAgnPerson=''' + Trim(DName) + ''''); // sql.Add(' where MJID=''' + Trim(Order_Main.fieldbyname('MJID').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) + ''''); // ShowMessage(SQL.Text); Open; end; try Moudle := LoadLibrary('MakeQRBarcode.dll'); @Makebar := GetProcAddress(Moudle, 'Make'); @Mixtext := GetProcAddress(Moudle, 'MixText'); Txt := Trim(ADOQueryPrint.fieldbyname('JYID').AsString); fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp'; if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); if FileExists(fImagePath) then DeleteFile(fImagePath); Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3); except application.MessageBox('条形码生成失败!', '提示信息', MB_ICONERROR); exit; end; if Trim(ADOQueryPrint.fieldbyname('LaBName').AsString) <> '' then begin ExportFtErpFile(Trim(ADOQueryPrint.fieldbyname('LaBName').AsString), ADOQueryTemp); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint.fieldbyname('LaBName').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 RMVariables['QRBARCODE'] := fImagePath; RM2.LoadFromFile(fPrintFile); Rm2.DefaultCopies := strtointdef(trim(ComboBox1.Text), 1); RM2.PrintReport; end else begin Order_Main.EnableControls; Application.MessageBox(PChar('没有找' + fPrintFile), '提示', 0); Exit; end; end; Next; end; end; Order_Main.EnableControls; end; function TfrmFinishedClothInspection.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 TfrmFinishedClothInspection.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 WFB_MJJY Set PanDing=''' + Trim(mvalue) + ''''); SQL.Add(' where MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''''); ExecSQL; end; end; procedure TfrmFinishedClothInspection.JYIDKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin if Length(JYID.Text) < 4 then Exit; CurrentPage := 1; InitGrid(); end; end; procedure TfrmFinishedClothInspection.BTLPClick(Sender: TObject); begin if CurrentPage > 1 then CurrentPage := CurrentPage - 1; InitGrid(); end; procedure TfrmFinishedClothInspection.BTNPClick(Sender: TObject); begin if CurrentPage < Order_Main.FieldByName('TotalCount').AsInteger / RecordsNumber then CurrentPage := CurrentPage + 1; InitGrid(); end; procedure TfrmFinishedClothInspection.TCBNORChange(Sender: TObject); begin RecordsNumber := StrToInt(TCBNOR.Text); CurrentPage := 1; InitGrid(); end; procedure TfrmFinishedClothInspection.tbPrintRCDClick(Sender: TObject); var SRKOrdID, strsql, WSql: string; begin if cxTabControl1.TabIndex <> 0 then exit; tbPrintRCD.Enabled := false; ExportFtErpFile('成品仓库码单.rmf', ADOQueryTemp); if Order_Main.IsEmpty then begin tbPrintRCD.Enabled := True; Exit; end; if Order_Main.Locate('SSel', True, []) = False then begin tbPrintRCD.Enabled := True; Exit; end; if Application.MessageBox('确定要入库吗?', '提示', 32 + 4) <> IDYES then begin tbPrintRCD.Enabled := True; Exit; end; if GetLSNo(ADOQueryTemp, SRKOrdID, 'RK', 'CK_BanCP_CR', 4, 1) = False then begin Application.MessageBox('生成流水号异常!', '提示', 0); tbPrintRCD.Enabled := True; Exit; end; try Order_Main.DisableControls; with Order_Main do begin First; while not Eof do begin if Order_Main.FieldByName('SSel').AsBoolean then begin // strsql := '卷ID:' + trim(Order_Main.FieldByName('MJID').AsString) + '原入库单号:' + trim(Order_Main.FieldByName('RKOrdID').AsString) + '新入库单号:' + trim(SRKOrdID); // with ADOQueryCmd do // begin // Close; // sql.Clear; // 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(strsql))); // sql.Add(',' + quotedstr(trim('成功'))); // sql.Add(')'); // ExecSQL; // end; if WSql = '' then WSql := 'JYID in (' + quotedstr(trim(Order_Main.FieldByName('JYID').AsString)) else WSql := WSql + ',' + quotedstr(trim(Order_Main.FieldByName('JYID').AsString)); end; Next; end; WSql := WSql + ') '; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from CK_Cloth_CR where CRFlag=''已入库'' and ' + WSql); //ShowMessage(SQL.Text); Open; end; if not ADOQueryTemp.IsEmpty then begin Application.MessageBox('已产生入库数据不能操作!', '提示', 0); Exit; end; ADOQueryCmd.Connection.BeginTrans; with Self.ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPDATE CK_Cloth_CR Set '); sql.add(' CRTime=getdate(),CRType=''检验入库'',CRFlag=''入库'',RKNO=' + quotedstr(SRKOrdID)); sql.Add(' where CRFlag=''待入库'' and ' + WSql); sql.Add('UPDATE JY_Cloth Set RKNO=' + quotedstr(SRKOrdID)); sql.Add(' where ' + WSql); sql.Add('UPDATE CK_Cloth_KC Set Valid=''Y'' where ' + WSql); sql.Add('UPDATE JY_Cloth Set '); sql.add(' RKNO=' + quotedstr(SRKOrdID)); sql.Add(' ,JYCRType=''已入库'' '); sql.Add(' where JYCRType=''未入库'' and ' + WSql); //ShowMessage(SQL.Text); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; Order_Main.EnableControls; if Application.MessageBox('入库完成是否打印码单!!', '提示', 32 + 4) = IDYES then begin PrintCKMDG(Trim(SRKOrdID)); end; TBRafresh.Click; except ADOQueryCmd.Connection.RollbackTrans; Order_Main.EnableControls; tbPrintRCD.Enabled := true; application.MessageBox('数据撤销失败!', '提示信息', 0); end; tbPrintRCD.Enabled := true; end; procedure TfrmFinishedClothInspection.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 TfrmFinishedClothInspection.OrderNoKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmFinishedClothInspection.MJStr2Change(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmFinishedClothInspection.JYTypeChange(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmFinishedClothInspection.KHConNOKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmFinishedClothInspection.RKOrdIDKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmFinishedClothInspection.N3Click(Sender: TObject); var SSubId, SGangNo: string; begin with Order_Main do begin SSubId := trim(FieldByName('SubId').AsString); Order_Main.DisableControls; first; while not eof do begin if SSubId = trim(FieldByName('SubId').AsString) then begin edit; FieldByName('SSel').value := true; Post; end else begin edit; FieldByName('SSel').value := false; Post; end; Next; end; Order_Main.Locate('SubId', VarArrayOf([SSubId]), []); Order_Main.EnableControls; end; end; procedure TfrmFinishedClothInspection.ToolButton4Click(Sender: TObject); begin if Trim(Order_Main.fieldbyname('RKNO').AsString) = '' then exit; PrintCKMDG(Trim(Order_Main.fieldbyname('RKNO').AsString)); end; procedure TfrmFinishedClothInspection.X1Click(Sender: TObject); var str, SSubId: string; ZChiShu, DQChiShu: integer; ISSel: boolean; begin ISSel := true; SSubId := trim(Order_Main.FieldByName('SubId').AsString); str := ''; if InputQuery('选择', '请输入数字', str) then begin ZChiShu := strtointdef(str, 0); if ZChiShu <= 0 then exit; with Order_Main do begin Order_Main.DisableControls; first; DQChiShu := 0; while not eof do begin if SSubId = trim(FieldByName('SubId').AsString) then begin edit; FieldByName('SSel').value := ISSel; DQChiShu := DQChiShu + 1; Post; end else begin edit; FieldByName('SSel').value := false; Post; end; if DQChiShu = ZChiShu then ISSel := false; Next; end; Order_Main.Locate('SubId', VarArrayOf([SSubId]), []); Order_Main.EnableControls; end; end; end; procedure TfrmFinishedClothInspection.B1Click(Sender: TObject); begin frmSysLogHelp := TfrmSysLogHelp.create(self); with frmSysLogHelp do begin fModel := self.caption; // facction:='生产指示单删除'; showmodal; free; end; end; procedure TfrmFinishedClothInspection.cxTabControl1Change(Sender: TObject); begin CurrentPage := 1; InitGrid(); SetStatus(); end; procedure TfrmFinishedClothInspection.ToolButton2Click(Sender: TObject); var fPrintFile: string; Txt, fImagePath: string; Moudle: THandle; Makebar: TMakebar; Mixtext: TMixtext; 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 ADOQueryPrint do begin Close; SQL.Clear; sql.Add(' EXEC P_Print_RKMDGangNo '); SQL.Add(' @RKOrdID=''' + Trim(Order_Main.fieldbyname('RKNO').AsString) + ''''); // ShowMessage(SQL.Text); Open; end; if Trim(Order_Main.fieldbyname('JYType').AsString) = '次品' then begin ExportFtErpFile('次品标签.rmf', ADOQueryTemp); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\检验报告次品.rmf'; end else begin ExportFtErpFile('正品标签.rmf', ADOQueryTemp); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\检验报告正品.rmf'; end; if FileExists(fPrintFile) then begin RMVariables['QRBARCODE'] := fImagePath; RM2.LoadFromFile(fPrintFile); Rm2.DefaultCopies := strtointdef(trim(ComboBox1.Text), 1); RM2.ShowReport; end else begin Order_Main.EnableControls; Application.MessageBox(PChar('没有找' + fPrintFile), '提示', 0); Exit; end; end; Next; end; end; Order_Main.EnableControls; end; procedure TfrmFinishedClothInspection.v1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); var mvalue, FFieldName, FValue: string; begin FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); try frmSCPerson := TfrmSCPerson.Create(Self); with frmSCPerson do begin FlagStr := 'SCPerson'; if ShowModal = 1 then begin mvalue := frmSCPerson.FSDPerson; end; end finally frmSCPerson.free; end; try ADOQueryCmd.Connection.BeginTrans; with Order_Main do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate JY_Cloth '); sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + ''''); sql.Add(' where JYID=' + quotedstr(Order_Main.fieldbyname('JYID').AsString)); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; tv1.Controller.EditingController.ShowEdit(); except tv1.Controller.EditingController.ShowEdit(); ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!', '提示', 0); end end; procedure TfrmFinishedClothInspection.x2Click(Sender: TObject); begin TV1.OptionsData.Editing := True; TV1.OptionsSelection.CellSelect := True; end; procedure TfrmFinishedClothInspection.v1Column2PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName, FValue: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); if mvalue = '' then begin mvalue := '0'; end; try ADOQueryCmd.Connection.BeginTrans; with Order_Main do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate JY_Cloth '); sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + ''''); sql.Add(' where JYID=' + quotedstr(Order_Main.fieldbyname('JYID').AsString)); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; tv1.Controller.EditingController.ShowEdit(); except tv1.Controller.EditingController.ShowEdit(); ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!', '提示', 0); end end; procedure TfrmFinishedClothInspection.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin if (AViewInfo.GridRecord.Values[v1Column12.Index] = '次品') then begin ACanvas.Brush.Color := $008080FF end; end; end.