unit U_CKProductBCPKCList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, MovePanel, cxCheckBox, Menus, cxCalendar, RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset, BtnEdit, Math, Clipbrd, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, cxPC, cxContainer, cxTextEdit, cxMaskEdit, cxButtonEdit, dxSkinsCore, dxSkinsDefaultPainters, dxSkinscxPCPainter; type TfrmCKProductBCPKCList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBExport: TToolButton; TBClose: TToolButton; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; CDS_Main: TClientDataSet; Tv1: TcxGridDBTableView; cxGrid2Level1: TcxGridLevel; cxGrid2: TcxGrid; v2Column1: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v2Column5: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column4: TcxGridDBColumn; MovePanel2: TMovePanel; v1Column11: TcxGridDBColumn; v1Column12: TcxGridDBColumn; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; ThreeColorBase: TcxStyleRepository; SHuangSe: TcxStyle; SkyBlue: TcxStyle; Default: TcxStyle; QHuangSe: TcxStyle; Red: TcxStyle; FontBlue: TcxStyle; TextSHuangSe: TcxStyle; FonePurple: TcxStyle; FoneClMaroon: TcxStyle; FoneRed: TcxStyle; RowColor: TcxStyle; handBlack: TcxStyle; cxBlue: TcxStyle; RMDB_Main: TRMDBDataSet; ADOQueryPrint: TADOQuery; RM2: TRMGridReport; v1Column16: TcxGridDBColumn; CDS_HZ: TClientDataSet; CDS_PRT: TClientDataSet; RM3: TRMGridReport; RMDBHZ: TRMDBDataSet; RMDBPRT: TRMDBDataSet; Panel6: TPanel; Label31: TLabel; LBCPAP: TLabel; BTLP: TButton; BTNP: TButton; TCBNOR: TComboBox; v1Column18: TcxGridDBColumn; Panel1: TPanel; Label3: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label4: TLabel; Label10: TLabel; Label15: TLabel; MPRTCodeName: TEdit; BegDate: TDateTimePicker; EndDate: TDateTimePicker; orderNo: TEdit; MJID: TEdit; CPType: TComboBox; RKplace: TEdit; PRTColor: TEdit; v1Column5: TcxGridDBColumn; ganghao: TEdit; v1Column10: TcxGridDBColumn; Label11: TLabel; ConNo: TEdit; v1Column13: TcxGridDBColumn; Label12: TLabel; Label14: TLabel; ISCRTime: TCheckBox; v1Column14: TcxGridDBColumn; Label1: TLabel; MPRTCODE: TEdit; ToolButton1: TToolButton; ToolButton2: TToolButton; ToolButton3: TToolButton; Panel5: TPanel; Label28: TLabel; Button5: TButton; Button6: TButton; edtKuWei: TEdit; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; ToolButton4: TToolButton; Label2: TLabel; APID: TEdit; Tv1Column5: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; Tv1Column7: TcxGridDBColumn; cxTabControl1: TcxTabControl; Tv1Column8: TcxGridDBColumn; SalesClass: TComboBox; Tv1Column9: TcxGridDBColumn; Panel2: TPanel; ComboBox1: TComboBox; Panel3: TPanel; cxButtonEdit1: TcxButtonEdit; ToolButton5: TToolButton; Panel4: TPanel; Label8: TLabel; Button1: TButton; Button2: TButton; YWNOTE: TEdit; Tv1Column10: TcxGridDBColumn; Tv1Column11: TcxGridDBColumn; Tv1Column12: TcxGridDBColumn; Tv1Column13: TcxGridDBColumn; Label9: TLabel; ISSD: TComboBox; ComboBox2: TComboBox; Tv1Column14: TcxGridDBColumn; Label13: TLabel; ZDMJID: TEdit; ToolButton6: TToolButton; Tv1Column15: TcxGridDBColumn; ToolButton7: TToolButton; Panel7: TPanel; Label16: TLabel; Button3: TButton; Button4: TButton; EDIT7: TBtnEditA; Tv1Column16: TcxGridDBColumn; Tv1Column17: TcxGridDBColumn; ToolButton8: TToolButton; Label17: TLabel; JLNOTE: TEdit; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ConNoMChange(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure BTNPClick(Sender: TObject); procedure BTLPClick(Sender: TObject); procedure TCBNORChange(Sender: TObject); procedure MPRTCodeNameKeyPress(Sender: TObject; var Key: Char); procedure CPTypeKeyPress(Sender: TObject; var Key: Char); procedure ToolButton3Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure CPTypeChange(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure cxButtonEdit1Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure ISCRTimeClick(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure EDIT7BtnClick(Sender: TObject); procedure ToolButton7Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure ToolButton8Click(Sender: TObject); private FLeft, FTop: Integer; CurrentPage, RecordsNumber: Integer; procedure InitGrid(); function PrtData(FMJID: string): boolean; { Private declarations } public issel: integer; canshu1: string; { Public declarations } end; var frmCKProductBCPKCList: TfrmCKProductBCPKCList; implementation uses U_DataLink, U_Fun, U_ZDYHelp, U_ProductOrderListSel, U_LabelList, U_OrderInPut_TC; {$R *.dfm} function TfrmCKProductBCPKCList.PrtData(FMJID: string): boolean; var fPrintFile: string; Txt, fImagePath: string; Moudle: THandle; Makebar: TMakebar; Mixtext: TMixtext; begin result := false; try with ADOQueryPrint do begin Close; SQL.Clear; sql.Add(' EXEC P_Print_JYLab '); SQL.Add(' @MJID=''' + Trim(FMJID) + ''''); Open; end; SCreateCDS20(ADOQueryPrint, CDS_PRT); SInitCDSData20(ADOQueryPrint, CDS_PRT); try Moudle := LoadLibrary('MakeQRBarcode.dll'); @Makebar := GetProcAddress(Moudle, 'Make'); @Mixtext := GetProcAddress(Moudle, 'MixText'); Txt := Trim(ADOQueryPrint.fieldbyname('MJID').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(cxButtonEdit1.Text) <> '' then begin fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(cxButtonEdit1.Text) + '.rmf'; ExportFtErpFile(Trim(cxButtonEdit1.Text) + '.rmf', ADOQueryTemp); end else fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\通用英文标签.rmf'; ExportFtErpFile('通用英文标签.rmf', ADOQueryTemp); if FileExists(fPrintFile) then begin RMVariables['QRBARCODE'] := fImagePath; Rm2.DefaultCopies := StrToIntDef(ComboBox1.Text, 1); RM2.LoadFromFile(fPrintFile); //RM2.ShowReport; RM2.PrintReport; end else begin Application.MessageBox(PChar('没有找' + fPrintFile), '提示', 0); result := False; exit; end; result := true; except result := False; end; end; procedure TfrmCKProductBCPKCList.FormDestroy(Sender: TObject); begin frmCKProductBCPKCList := nil; end; procedure TfrmCKProductBCPKCList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmCKProductBCPKCList.FormCreate(Sender: TObject); begin EndDate.DateTime := SGetServerDateTime(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime - 20; end; procedure TfrmCKProductBCPKCList.InitGrid(); var fwhere, Pwhere: string; begin MovePanel2.Left := (self.Width - MovePanel2.Width) div 2; MovePanel2.Visible := True; MovePanel2.Refresh; Pwhere := SGetFilters(Panel1, 1, 2); if SGetFilters(Panel1, 1, 2) <> '' then Pwhere := ' and ' + SGetFilters(Panel1, 1, 2); if ISCRTime.Checked then begin if ComboBox2.Text = '入库时间' then begin Pwhere := Pwhere + ' and CRTime>=' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)); Pwhere := Pwhere + ' and CRTime<' + quotedstr(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)); end else begin Pwhere := Pwhere + ' and sddate>=' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)); Pwhere := Pwhere + ' and sddate<' + quotedstr(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)); end; end; if cxTabControl1.TabIndex = 0 then begin Pwhere := Pwhere + ' and cptype<>''次布'' and cptype<>''次品'' and cptype<>''二级品'' '; end; if cxTabControl1.TabIndex = 1 then begin Pwhere := Pwhere + ' and cptype in(''次布'',''次品'',''二级品'' ) '; end; if trim(Pwhere) <> '' then fwhere := ' where 1=1 ' + trim(Pwhere); try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add('exec P_Page_FinishClothKC '); sql.Add('@pageIndex=' + inttostr(CurrentPage)); sql.Add(',@pageSize=' + inttostr(RecordsNumber)); sql.Add(',@criteria= ' + quotedstr(fwhere)); // ShowMessage(SQL.Text); Open; end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); LBCPAP.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber)); MovePanel2.Visible := false; finally ADOQueryMain.EnableControls; MovePanel2.Visible := false; end; end; procedure TfrmCKProductBCPKCList.TBRafreshClick(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmCKProductBCPKCList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmCKProductBCPKCList.TBCloseClick(Sender: TObject); begin WriteCxGrid(trim(self.Caption), Tv1, '成品仓库99'); Close; end; procedure TfrmCKProductBCPKCList.FormShow(Sender: TObject); var fsj, FSJ2: string; begin CurrentPage := 1; RecordsNumber := 500; ReadCxGrid(trim(self.Caption), Tv1, '成品仓库99'); fsj := 'select distinct name=CPType from CK_BanCP_CR order by CPType '; SInitComBoxBySql(ADOQueryCmd, CPType, False, fsj); FSJ2 := 'select distinct NAME=C_SalesClass from CK_BanCP_KC order by C_SalesClass '; SInitComBoxBySql(ADOQueryCmd, SalesClass, False, FSJ2); ToolButton3.Visible := False; if canshu1 = '管理' then begin ToolButton3.Visible := true; end; if canshu1 = '查询' then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from SY_User where username=' + QuotedStr(Trim(DName))); Open; end; if ADOQueryTemp.fieldbyname('udept').AsString = '调度' then begin ToolButton7.Visible := True; end; end; end; procedure TfrmCKProductBCPKCList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel('库存列表', cxGrid2); end; procedure TfrmCKProductBCPKCList.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin FLeft := X; FTop := Y; end; procedure TfrmCKProductBCPKCList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin // Clipboard.SetTextBuf(PChar(Trim(CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); end; procedure TfrmCKProductBCPKCList.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmCKProductBCPKCList.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmCKProductBCPKCList.BTNPClick(Sender: TObject); begin if CurrentPage < CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber then CurrentPage := CurrentPage + 1; InitGrid(); end; procedure TfrmCKProductBCPKCList.BTLPClick(Sender: TObject); begin if CurrentPage > 1 then CurrentPage := CurrentPage - 1; InitGrid(); end; procedure TfrmCKProductBCPKCList.TCBNORChange(Sender: TObject); begin RecordsNumber := StrToInt(TCBNOR.Text); CurrentPage := 1; InitGrid(); end; procedure TfrmCKProductBCPKCList.MPRTCodeNameKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmCKProductBCPKCList.CPTypeKeyPress(Sender: TObject; var Key: Char); begin CurrentPage := 1; InitGrid(); end; procedure TfrmCKProductBCPKCList.ToolButton3Click(Sender: TObject); begin Panel5.Visible := true; end; procedure TfrmCKProductBCPKCList.ToolButton2Click(Sender: TObject); begin if CDS_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; with CDS_Main do begin DisableControls; first; while not Eof do begin if Self.CDS_Main.FieldByName('SSEl').AsBoolean = True then begin if not PrtData(CDS_Main.fieldbyname('MJID').AsString) then begin EnableControls; exit; end; end; Next; end; EnableControls; end; end; procedure TfrmCKProductBCPKCList.ToolButton1Click(Sender: TObject); var FMainid, FSubId, FOrderNo, FColor, FSH, FHX, FCodeName, FMPRTMF, FMPRTKZ: string; begin if CDS_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; FMainid := ''; try frmProductOrderListSel := TfrmProductOrderListSel.Create(Application); with frmProductOrderListSel do begin FFInt := 1; if ShowModal = 1 then begin FMainid := frmProductOrderListSel.Order_Main.fieldbyname('Mainid').AsString; FSubId := frmProductOrderListSel.Order_Main.fieldbyname('SubId').AsString; FOrderNo := frmProductOrderListSel.Order_Main.fieldbyname('OrderNo').AsString; FCodeName := frmProductOrderListSel.Order_Main.fieldbyname('MPRTCodeName').AsString; FColor := frmProductOrderListSel.Order_Main.fieldbyname('PRTColor').AsString; FHX := frmProductOrderListSel.Order_Main.fieldbyname('PRTHX').AsString; FMPRTMF := frmProductOrderListSel.Order_Main.fieldbyname('MPRTMF').AsString; FMPRTKZ := frmProductOrderListSel.Order_Main.fieldbyname('MPRTKZ').AsString; end; end; finally frmProductOrderListSel.Free; end; if Trim(FMainid) <> '' then begin if Application.MessageBox('确定要执行此操作吗?', '提示', 32 + 4) <> IDYES then Exit; MovePanel2.Visible := True; MovePanel2.Refresh; try Self.ADOQueryCmd.Connection.BeginTrans; Self.CDS_Main.DisableControls; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete TbForBatch where DName=' + quotedstr(Trim(DName))); SQL.Add('and MainType=' + quotedstr('成品转单')); ExecSQL; end; with Self.CDS_Main do begin while not Eof do begin if Self.CDS_Main.FieldByName('SSEl').AsBoolean = True then begin with Self.ADOQueryCmd do begin Close; sql.Clear; sql.Add(' insert into TbForBatch(DName,MainType,OrdMainId,OrdSubId,MJID) '); sql.Add(' values( ' + quotedstr(Trim(DName)) + ',' + quotedstr('成品转单') + ',' + Quotedstr(Trim(FMainid)) + ',' + quotedstr(Trim(FSubId)) + ',' + quotedstr(Trim(Self.CDS_Main.FieldByName('MJID').AsString)) + ')'); ExecSQL; end; with Self.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('卷条码:' + Trim(Self.CDS_Main.FieldByName('MJID').AsString) + ' 订单:' + trim(Self.CDS_Main.FieldByName('orderNO').AsString) + '-->' + trim(FOrderNo)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); ExecSQL; end; Edit; FieldByName('OrderNo').Value := FOrderNo; FieldByName('MPRTCodeName').Value := FCodeName; FieldByName('PRTColor').Value := FColor; FieldByName('PRTHX').Value := FHX; FieldByName('MPRTMF').Value := FMPRTMF; FieldByName('MPRTKZ').Value := FMPRTKZ; Post; end; Next; end; end; with Self.ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPDATE CK_BanCP_CR Set '); sql.add('MainId=A.OrdMainId,SubId=A.OrdSubId,ZDPerson=A.DName,ZDTime=getdate()'); sql.Add('FROM TbForBatch A where CK_BanCP_CR.MJID=A.MJID '); SQL.Add('and A.MainType=''成品转单'' and A.DName=' + quotedstr(trim(DName))); sql.Add('UPDATE WFB_MJJY Set '); sql.add('MainId=A.OrdMainId,SubId=A.OrdSubId'); sql.Add('FROM TbForBatch A where WFB_MJJY.MJID=A.MJID '); SQL.Add('and A.MainType=''成品转单'' and A.DName=' + quotedstr(trim(DName))); ExecSQL; end; //更新检验进度 // with Self.ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add('exec [P_Update_Order_JD_ByOther] @MainType=''成品转单'', @DName =' + quotedstr(Trim(DName))); // execsql; // end; Self.CDS_Main.EnableControls; Self.ADOQueryCmd.Connection.CommitTrans; MovePanel2.Visible := False; except Self.ADOQueryCmd.Connection.RollbackTrans; MovePanel2.Visible := False; Application.MessageBox('转单失败!', '提示', 0); end; end; end; procedure TfrmCKProductBCPKCList.Button5Click(Sender: TObject); var fkuwei: string; begin if CDS_Main.IsEmpty then Exit; if CDS_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; if trim(edtKuWei.Text) = '' then begin Application.MessageBox('库位不能为空!', '提示', 0); Exit; end; fkuwei := UpperCase(edtKuWei.Text); try CDS_Main.DisableControls; ADOQueryCmd.Connection.BeginTrans; with CDS_Main do begin First; while not Eof do begin if CDS_Main.FieldByName('SSel').AsBoolean = True then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update CK_BanCP_CR Set RKplace=''' + trim(fkuwei) + ''' '); sql.Add('where ISNowCycle=1 and MJID=''' + Trim(CDS_Main.fieldbyname('MJID').AsString) + ''''); sql.Add('Update CK_BanCP_kc Set c_kuwei=''' + trim(fkuwei) + ''' '); sql.Add('where MJID=''' + Trim(CDS_Main.fieldbyname('MJID').AsString) + ''''); ExecSQL; end; end; Next; end; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.EnableControls; application.MessageBox('数据保存成功!', '提示信息'); Panel5.Visible := false; TBRafresh.Click; exit; except ADOQueryCmd.Connection.RollbackTrans; CDS_Main.EnableControls; application.MessageBox('数据保存失败!', '提示信息', 0); end; end; procedure TfrmCKProductBCPKCList.Button6Click(Sender: TObject); begin Panel5.Visible := false; end; procedure TfrmCKProductBCPKCList.CPTypeChange(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmCKProductBCPKCList.ToolButton4Click(Sender: TObject); var fPrintFile, fPrintFile10, FMainID, FKHName, FFPNo: string; begin if CDS_Main.IsEmpty then Exit; if cxTabControl1.TabIndex = 0 then begin with ADOQueryPrint do begin Close; sql.Clear; sql.add('exec P_Print_KWMD2 '); sql.add('@CKOrdNo=' + quotedstr(Trim(Trim(CDS_Main.fieldbyname('RKPlace').AsString)))); Open; end; end else if cxTabControl1.TabIndex = 1 then begin with ADOQueryPrint do begin Close; sql.Clear; sql.add('exec P_Print_KWMD3 '); sql.add('@CKOrdNo=' + quotedstr(Trim(Trim(CDS_Main.fieldbyname('RKPlace').AsString)))); Open; end; end else if cxTabControl1.TabIndex = 2 then begin with ADOQueryPrint do begin Close; sql.Clear; sql.add('exec P_Print_KWMD1 '); sql.add('@CKOrdNo=' + quotedstr(Trim(Trim(CDS_Main.fieldbyname('RKPlace').AsString)))); Open; end; end; SCreateCDS20(ADOQueryPrint, CDS_PRT); SInitCDSData20(ADOQueryPrint, CDS_PRT); ExportFtErpFile('库位细码单.rmf', ADOQueryTemp); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\库位细码单.rmf'; if FileExists(fPrintFile) then begin RM3.LoadFromFile(fPrintFile); RMVariables['ZDR'] := trim(DName); // RMVariables['FHYWY'] := trim(ComboBox2.Text); RM3.ShowReport; end else begin Application.MessageBox(PChar('没有找到' + fPrintFile), '提示', 0); end; end; procedure TfrmCKProductBCPKCList.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmCKProductBCPKCList.cxButtonEdit1Click(Sender: TObject); begin try frmLabelList := TfrmLabelList.Create(Application); with frmLabelList do begin if ShowModal = 1 then begin cxButtonEdit1.Text := Trim(ADOQueryLabel.fieldbyname('labelCaption').AsString); end; end; finally frmLabelList.Free; end; end; procedure TfrmCKProductBCPKCList.ToolButton5Click(Sender: TObject); begin Panel4.Visible := True; end; procedure TfrmCKProductBCPKCList.Button2Click(Sender: TObject); begin Panel4.Visible := False; end; procedure TfrmCKProductBCPKCList.Button1Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if CDS_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; if trim(YWNOTE.Text) = '' then begin Application.MessageBox('备注不能为空!', '提示', 0); Exit; end; try CDS_Main.DisableControls; ADOQueryCmd.Connection.BeginTrans; with CDS_Main do begin First; while not Eof do begin if CDS_Main.FieldByName('SSel').AsBoolean = True then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update WFB_MJJY Set YWNOTE=''' + trim(YWNOTE.Text) + ''' '); sql.Add('where MJID=''' + Trim(CDS_Main.fieldbyname('MJID').AsString) + ''''); ExecSQL; end; end; Next; end; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.EnableControls; application.MessageBox('数据保存成功!', '提示信息'); Panel4.Visible := false; TBRafresh.Click; exit; except ADOQueryCmd.Connection.RollbackTrans; CDS_Main.EnableControls; application.MessageBox('数据保存失败!', '提示信息', 0); end; end; procedure TfrmCKProductBCPKCList.ISCRTimeClick(Sender: TObject); begin InitGrid(); end; procedure TfrmCKProductBCPKCList.ToolButton6Click(Sender: TObject); var fPrintFile: string; Txt, fImagePath: string; Moudle: THandle; Makebar: TMakebar; Mixtext: TMixtext; begin if CDS_Main.IsEmpty = True then Exit; try with ADOQueryPrint do begin Close; SQL.Clear; sql.Add(' EXEC P_Print_JYLab '); SQL.Add(' @MJID=''' + Trim(CDS_Main.fieldbyname('MJID').AsString) + ''''); Open; end; SCreateCDS20(ADOQueryPrint, CDS_PRT); SInitCDSData20(ADOQueryPrint, CDS_PRT); try Moudle := LoadLibrary('MakeQRBarcode.dll'); @Makebar := GetProcAddress(Moudle, 'Make'); @Mixtext := GetProcAddress(Moudle, 'MixText'); Txt := Trim(ADOQueryPrint.fieldbyname('MJID').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(cxButtonEdit1.Text) <> '' then begin fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(cxButtonEdit1.Text) + '.rmf'; ExportFtErpFile(Trim(cxButtonEdit1.Text) + '.rmf', ADOQueryTemp); end else fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\通用英文标签.rmf'; ExportFtErpFile('通用英文标签.rmf', ADOQueryTemp); if FileExists(fPrintFile) then begin RMVariables['QRBARCODE'] := fImagePath; Rm2.DefaultCopies := StrToIntDef(ComboBox1.Text, 1); RM2.LoadFromFile(fPrintFile); RM2.ShowReport; // RM2.PrintReport; end else begin Application.MessageBox(PChar('没有找' + fPrintFile), '提示', 0); exit; end; except end; end; procedure TfrmCKProductBCPKCList.EDIT7BtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'SaleSCLASS'; flagname := '业务组别'; if ShowModal = 1 then begin edit7.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCKProductBCPKCList.ToolButton7Click(Sender: TObject); begin Panel7.Visible := True; end; procedure TfrmCKProductBCPKCList.Button4Click(Sender: TObject); begin Panel7.Visible := False; end; procedure TfrmCKProductBCPKCList.Button3Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if CDS_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; if trim(EDIT7.Text) = '' then begin Application.MessageBox('业务组别不能为空!', '提示', 0); Exit; end; try CDS_Main.DisableControls; ADOQueryCmd.Connection.BeginTrans; with CDS_Main do begin First; while not Eof do begin if CDS_Main.FieldByName('SSel').AsBoolean = True then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update CK_BanCP_KC Set C_SALESCLASS=''' + trim(EDIT7.Text) + ''' '); sql.Add('where MJID=''' + Trim(CDS_Main.fieldbyname('MJID').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('条码:' + trim(CDS_Main.FieldByName('mjid').AsString) + '原组别:' + trim(CDS_Main.FieldByName('SalesClass').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); ExecSQL; end; end; Next; end; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.EnableControls; application.MessageBox('数据保存成功!', '提示信息'); Panel4.Visible := false; TBRafresh.Click; exit; except ADOQueryCmd.Connection.RollbackTrans; CDS_Main.EnableControls; application.MessageBox('数据保存失败!', '提示信息', 0); end; end; procedure TfrmCKProductBCPKCList.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin if (AViewInfo.GridRecord.Values[Tv1Column16.Index] <> NULL) then begin ACanvas.font.Color := clRed; end; end; procedure TfrmCKProductBCPKCList.ToolButton8Click(Sender: TObject); begin if Trim(Self.CDS_Main.fieldbyname('RKOrdID').AsString) = '' then Exit; try frmOrderInPut_TC := TfrmOrderInPut_TC.Create(Application); with frmOrderInPut_TC do begin PState := 1; FMainid := Trim(Self.CDS_Main.fieldbyname('RKOrdID').AsString); TBSave.Visible := False; Panel1.Enabled := False; ToolBar2.Visible := False; cxGrid2.Enabled := False; if ShowModal = 1 then begin end; end; finally frmOrderInPut_TC.Free; end; end; end.