unit U_MJManageNew; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset, ADODB, DBClient, cxGridCustomPopupMenu, cxGridPopupMenu, ExtCtrls, ComCtrls, ToolWin, cxTextEdit, Buttons, cxSplitter, cxCheckBox, MovePanel; {function CommOpen(fhandle:hwnd;sCommName:PAnsiChar; IntTime:integer):integer;stdcall;external 'JCYData.DLL'; function CommClose(sCommName:PAnsiChar):integer;stdcall;external 'JCYData.DLL';} type TfrmMJManageNew = class(TForm) Panel1: TPanel; MainId: TEdit; Label1: TLabel; Label2: TLabel; OrderNo: TEdit; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; cxStyle2: TcxStyle; cxGridPopupMenu1: TcxGridPopupMenu; DataSource1: TDataSource; Order_MJ: TClientDataSet; ADOQueryMain: TADOQuery; ADOCmd: TADOQuery; ADOTmp: TADOQuery; RMDB_Main: TRMDBDataSet; RM2: TRMGridReport; ToolBar1: TToolBar; TBClose: TToolButton; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1OrderNo: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1PRTMF: TcxGridDBColumn; v1PRTKZ: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column3: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; tv2CDType: TcxGridDBColumn; tv2CDWZ: TcxGridDBColumn; Tv2CDQty: TcxGridDBColumn; Tv2CDReason: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; TBCD: TToolButton; cxGrid3: TcxGrid; Tv3: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; DataSource2: TDataSource; CDS_MJCD: TClientDataSet; DataSource3: TDataSource; CDS_MJID: TClientDataSet; v2Column1: TcxGridDBColumn; Panel5: TPanel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; Label13: TLabel; MJMaoZ: TEdit; MJLen: TEdit; MJFK: TEdit; MJBanZu: TEdit; BTPrint: TButton; Button38: TButton; MJSJKZ: TEdit; CDQty: TEdit; Timer1: TTimer; Label14: TLabel; BTAdd: TButton; BTEdit: TButton; ADOQueryPrint: TADOQuery; Label15: TLabel; Label16: TLabel; v1Column4: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v2Column2: TcxGridDBColumn; ToolButton1: TToolButton; Button5: TButton; Panel3: TPanel; SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton; SpeedButton3: TSpeedButton; SpeedButton4: TSpeedButton; SpeedButton5: TSpeedButton; SpeedButton6: TSpeedButton; SpeedButton7: TSpeedButton; SpeedButton8: TSpeedButton; SpeedButton9: TSpeedButton; SpeedButton10: TSpeedButton; SpeedButton11: TSpeedButton; SpeedButton12: TSpeedButton; SpeedButton49: TSpeedButton; ScrollBox1: TScrollBox; SpeedButton13: TSpeedButton; SpeedButton14: TSpeedButton; SpeedButton15: TSpeedButton; SpeedButton16: TSpeedButton; SpeedButton17: TSpeedButton; SpeedButton18: TSpeedButton; SpeedButton19: TSpeedButton; SpeedButton20: TSpeedButton; SpeedButton21: TSpeedButton; SpeedButton22: TSpeedButton; SpeedButton23: TSpeedButton; SpeedButton24: TSpeedButton; SpeedButton25: TSpeedButton; SpeedButton26: TSpeedButton; SpeedButton27: TSpeedButton; SpeedButton28: TSpeedButton; SpeedButton29: TSpeedButton; SpeedButton30: TSpeedButton; SpeedButton31: TSpeedButton; SpeedButton32: TSpeedButton; SpeedButton33: TSpeedButton; SpeedButton34: TSpeedButton; SpeedButton35: TSpeedButton; SpeedButton36: TSpeedButton; SpeedButton37: TSpeedButton; SpeedButton38: TSpeedButton; SpeedButton39: TSpeedButton; SpeedButton40: TSpeedButton; SpeedButton41: TSpeedButton; SpeedButton42: TSpeedButton; Panel6: TPanel; Panel10: TPanel; Image2: TImage; Button2: TButton; Button3: TButton; cxGrid4: TcxGrid; TvSel: TcxGridDBTableView; cxGridDBColumn2: TcxGridDBColumn; vSelColumn1: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; vSelColumn2: TcxGridDBColumn; cxGridLevel3: TcxGridLevel; MovePanel1: TMovePanel; Label17: TLabel; Label18: TLabel; Label19: TLabel; Label20: TLabel; Label21: TLabel; Edit1: TEdit; Button1: TButton; Button4: TButton; Edit2: TEdit; v1Column8: TcxGridDBColumn; v1Column9: TcxGridDBColumn; cxStyleRepository2: TcxStyleRepository; cxStyle3: TcxStyle; cxStyleRepository3: TcxStyleRepository; cxStyle4: TcxStyle; v1Column10: TcxGridDBColumn; cxStyleRepository4: TcxStyleRepository; cxStyle5: TcxStyle; cxStyleRepository5: TcxStyleRepository; cxStyle6: TcxStyle; v1Column11: TcxGridDBColumn; vSelColumn3: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column12: TcxGridDBColumn; v1Column13: TcxGridDBColumn; vSelColumn4: TcxGridDBColumn; vSelColumn5: TcxGridDBColumn; vSelColumn6: TcxGridDBColumn; vSelColumn7: TcxGridDBColumn; cxGridPopupMenu2: TcxGridPopupMenu; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure MainIdKeyPress(Sender: TObject; var Key: Char); procedure TBCloseClick(Sender: TObject); procedure Tv2CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure TBCDClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure Button38Click(Sender: TObject); procedure MJMaoZClick(Sender: TObject); procedure MJLenClick(Sender: TObject); procedure MJFKClick(Sender: TObject); procedure MJBanZuClick(Sender: TObject); procedure MJSJKZClick(Sender: TObject); procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure Tv3CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure FormClick(Sender: TObject); procedure Button12Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure MJMaoZChange(Sender: TObject); procedure BTAddClick(Sender: TObject); procedure BTEditClick(Sender: TObject); procedure BTPrintClick(Sender: TObject); procedure Tv2CDQtyPropertiesEditValueChanged(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton12Click(Sender: TObject); procedure SpeedButton13Click(Sender: TObject); procedure Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure Image2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure TvSelCellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure cxGridDBColumn2PropertiesChange(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure Edit1Click(Sender: TObject); procedure Edit2Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure SpeedButton49Click(Sender: TObject); private { Private declarations } FInt,PState,PrintInt,SCInitGrid:Integer; FColumn:String; MValue,FCDName:String; procedure InitJP(); procedure InitGrid(); procedure InitCDGrid(); procedure InitCDGridID(); procedure AddCD(Fbtn:TButton); procedure AddSL(Fbtn:TButton); function SaveData():Boolean; procedure BtnStatus(BSInt:Boolean); procedure AddSLNew(Fbtn:TSpeedButton); procedure AddCDNew(Fbtn:TSpeedButton); public { Public declarations } end; var frmMJManageNew: TfrmMJManageNew; implementation uses U_DataLink,U_Fun,U_ZDYHelp,U_iniParam; {$R *.dfm} procedure TfrmMJManageNew.FormDestroy(Sender: TObject); begin frmMJManageNew:=nil; end; procedure TfrmMJManageNew.FormClose(Sender: TObject; var Action: TCloseAction); begin //DataLink_WFBProducttion.ADOLink.Connected:=False; Action:=caFree; end; procedure TfrmMJManageNew.MainIdKeyPress(Sender: TObject; var Key: Char); begin if Key=#13 then begin InitGrid(); InitCDGridID(); ADOQueryMain.First; SSetWinData(ADOQueryMain,Panel5); if CDS_MJID.IsEmpty then begin SClearData(Panel5,0); end; InitCDGrid(); end; end; procedure TfrmMJManageNew.InitGrid(); begin with ADOQueryMain do begin Close; SQL.Clear; //sql.Add('select A.OrderNo,B.* from WFBOrder_Main A inner join WFBOrder_Sub B on A.MainId=B.MainId where A.MainID='''+Trim(MainId.Text)+''''); { sql.Add('select A.OrderNo,B.* from WFBOrder_Main A inner join WFBOrder_Sub B on A.MainId=B.MainId '); sql.Add(' inner join WFBOrder_Main_Attachment C on C.MainId=A.MainId'); sql.Add(' where not exists(select * from WFBOrder_Status D where D.MainId=A.MainId and D.OSFlag10=1)'); } sql.Add(' exec P_ProductAnPai :begdate,:enddate,:pstate,:WSQl'); Parameters.ParamByName('begdate').Value:=''; Parameters.ParamByName('enddate').Value:=''; Parameters.ParamByName('pstate').Value:=2; Parameters.ParamByName('WSQl').Value:=''; Open; end; SCreateCDS20(ADOQueryMain,Order_MJ); SInitCDSData20(ADOQueryMain,Order_MJ); MainId.Text:=''; end; procedure TfrmMJManageNew.InitCDGrid(); begin with ADOQueryMain do begin Close; SQL.Clear; if PState=1 then sql.Add('select * from WFB_MJJY_CD where MJID='''' ') else sql.Add('select * from WFB_MJJY_CD where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); Open; end; SCreateCDS20(ADOQueryMain,CDS_MJCD); SInitCDSData20(ADOQueryMain,CDS_MJCD); //MainId.Text:=''; end; procedure TfrmMJManageNew.InitCDGridID(); begin with ADOQueryMain do begin Close; SQL.Clear; sql.Add('select * from WFB_MJJY where SubID='''+Trim(Order_MJ.fieldbyname('SubID').AsString)+''''); Open; end; SCreateCDS20(ADOQueryMain,CDS_MJID); SInitCDSData20(ADOQueryMain,CDS_MJID); //MainId.Text:=''; end; procedure TfrmMJManageNew.TBCloseClick(Sender: TObject); var maxno:string; begin WriteCxGrid('母卷信息1',Tv1,'无纺布生产管理'); WriteCxGrid('母卷信息2',TvSel,'无纺布生产管理'); if CDS_MJCD.IsEmpty=False then begin if Trim(CDS_MJCD.FieldByName('MCID').AsString)='' then begin //try //ADOCmd.Connection.BeginTrans; with ADOCmd do begin Close; sql.Clear; sql.Add('delete from WFB_MJJY_CD_Temp where JTType='''+Trim(SCXFlag)+''''); Execsql; end; with CDS_MJCD do begin First; while not Eof do begin if GetLSNo(ADOCmd,maxno,'LS','WFB_MJJY_CD_Temp',2,1)=False then begin // ADOCmd.Connection.RollbackTrans; Application.MessageBox('取疵点临时最大号失败!','提示',0); Exit; end; with ADOCmd do begin Close; sql.Clear; sql.Add('select * from WFB_MJJY_CD_Temp where 1<>1'); Open; end; with ADOCmd do begin Append; FieldByName('MCID').Value:=Trim(maxno); SSetSaveDataCDSNew(ADOCmd,Tv2,CDS_MJCD,'WFB_MJJY_CD_Temp',0); FieldByName('JTType').Value:=Trim(SCXFlag); Post; end; Next; end; end; close; //ADOCmd.Connection.CommitTrans; //ModalResult:=1; //except //ADOCmd.Connection.RollbackTrans; //Application.MessageBox('保存临时表失败!','提示',0); //end; end else begin Close; end; end else begin Close; end; end; procedure TfrmMJManageNew.Tv2CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); var fsj:string; begin //FInt:=0; //Tv1.DataController.FocusedRecordIndex; //fsj:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; end; procedure TfrmMJManageNew.TBCDClick(Sender: TObject); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='WFBCD'; flagname:='无纺布疵点'; if ShowModal=1 then begin Self.InitJP(); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmMJManageNew.FormShow(Sender: TObject); begin ReadCxGrid('母卷信息1',Tv1,'无纺布生产管理'); ReadCxGrid('母卷信息2',TvSel,'无纺布生产管理'); InitJP(); InitGrid(); with ADOTmp do begin Close; SQL.Clear; sql.Add('select * from WFB_MJJY_CD_Temp where JTType='''+Trim(SCXFlag)+''''); Open; end; if ADOTmp.IsEmpty=False then begin with ADOQueryMain do begin Close; SQL.Clear; sql.Add('select * from WFB_MJJY_CD where MJID='''' '); Open; end; SCreateCDS20(ADOQueryMain,CDS_MJCD); SInitCDSData20(ADOQueryMain,CDS_MJCD); PState:=1; with ADOTmp do begin First; while not Eof do begin with CDS_MJCD do begin Append; FieldByName('CDName').Value:=ADOTmp.fieldbyname('CDName').Value; FieldByName('CDBeg').Value:=ADOTmp.fieldbyname('CDBeg').Value; FieldByName('CDEnd').Value:=ADOTmp.fieldbyname('CDEnd').Value; FieldByName('CDQty').Value:=ADOTmp.fieldbyname('CDQty').Value; Post; end; Next; end; end; with ADOTmp do begin Close; sql.Clear; sql.Add('select * from SY_User where UserId='''+Trim(DCode)+''''); Open; end; MJBanZu.Text:=Trim(ADOTmp.fieldbyname('BanZu').AsString); with ADOCmd do begin Close; sql.Clear; sql.Add('delete WFB_MJJY_CD_Temp where JTType='''+Trim(SCXFlag)+''''); ExecSQL; end; end; end; procedure TfrmMJManageNew.InitJP(); var AA:array[0..100] of string; i,j:Integer; begin with ADOTmp do begin Close; sql.Clear; sql.Add('select ZDYName from KH_Zdy where Type=''WFBCD'' order by ZDYNO '); Open; end; if ADOTmp.IsEmpty then begin Application.MessageBox('没有定义疵点!','提示',0); Exit; end; with ADOTmp do begin First; i:=0; while not Eof do begin AA[i]:=Trim(fieldbyname('ZDYName').AsString); i:=i+1; Next; end; end; i:=i-1; if i>29 then begin i:=29; end; for j:=0 to i do begin with ScrollBox1 do begin TSpeedButton(Controls[j]).Visible:=True; TSpeedButton(Controls[j]).Hint:=AA[j]; if Length(AA[j])>4 then begin TSpeedButton(Controls[j]).Caption:=Copy(Trim(AA[j]),1,4)+#13+Copy(Trim(AA[j]),5,Length(AA[j])-4); end else TSpeedButton(Controls[j]).Caption:=AA[j]; end; end; end; procedure TfrmMJManageNew.AddCD(Fbtn:TButton); begin if PState<1 then Exit; if Order_MJ.IsEmpty then Exit; with CDS_MJCD do begin Append; FieldByName('cdname').Value:=Trim(TButton(Fbtn).Caption); Post; end; end; procedure TfrmMJManageNew.AddCDNew(Fbtn:TSpeedButton); begin with CDS_MJCD do begin Append; FieldByName('cdname').Value:=Trim(TSpeedButton(Fbtn).Hint); Post; end; end; procedure TfrmMJManageNew.AddSL(Fbtn:TButton); begin if PState<1 then Exit; if Order_MJ.IsEmpty then Exit; //if MJMaoZ.Focused then if FInt=4 then Exit; if FInt=1 then begin MJMaoZ.Text:=Trim(MJMaoZ.Text)+Trim(TButton(Fbtn).Caption); end else if FInt=2 then begin MJLen.Text:=Trim(MJLen.Text)+Trim(TButton(Fbtn).Caption); end else if FInt=3 then begin MJFK.Text:=Trim(MJFK.Text)+Trim(TButton(Fbtn).Caption); end else if CDS_MJCD.IsEmpty=False then begin FColumn:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; if Trim(FColumn)<>'' then begin with CDS_MJCD do begin Edit; FieldByName(FColumn).Value:=Trim(FieldByName(FColumn).AsString)+Trim(TButton(Fbtn).Caption); if Trim(fieldbyname('CDQtyS').AsString)<>'' then Fieldbyname('CDQty').Value:=Trim(fieldbyname('CDQtyS').AsString); Post; end; end; end; end; procedure TfrmMJManageNew.AddSLNew(Fbtn:TSpeedButton); begin if PState<1 then Exit; if Order_MJ.IsEmpty then Exit; //if MJMaoZ.Focused then if FInt=4 then Exit; if FInt=1 then begin MJMaoZ.Text:=Trim(MJMaoZ.Text)+Trim(TSpeedButton(Fbtn).Caption); MJMaoZ.SelectAll; end else if FInt=2 then begin MJLen.Text:=Trim(MJLen.Text)+Trim(TSpeedButton(Fbtn).Caption); MJLen.SelectAll; end else if FInt=3 then begin MJFK.Text:=Trim(MJFK.Text)+Trim(TSpeedButton(Fbtn).Caption); MJFK.SelectAll; end else if FInt=11 then begin if TSpeedButton(Fbtn).Tag=9 then Exit; Edit1.Text:=Trim(Edit1.Text)+Trim(TSpeedButton(Fbtn).Caption); Edit1.SelectAll; end else if FInt=12 then begin if TSpeedButton(Fbtn).Tag=9 then Exit; Edit2.Text:=Trim(Edit2.Text)+Trim(TSpeedButton(Fbtn).Caption); Edit2.SelectAll; end;{ else if CDS_MJCD.IsEmpty=False then begin FColumn:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; if Trim(FColumn)<>'' then begin with CDS_MJCD do begin Edit; FieldByName(FColumn).Value:=Trim(FieldByName(FColumn).AsString)+Trim(TButton(Fbtn).Caption); if Trim(fieldbyname('CDQtyS').AsString)<>'' then Fieldbyname('CDQty').Value:=Trim(fieldbyname('CDQtyS').AsString); Post; end; end; end; } end; procedure TfrmMJManageNew.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin //if Tv2.OptionsSelection.CellSelect=True then if CDS_MJCD.IsEmpty then Exit; if CDS_MJCD.FieldByName('MJID').AsString='' then begin CDS_MJCD.Delete; end; end; procedure TfrmMJManageNew.Button38Click(Sender: TObject); begin FColumn:=''; FInt:=0; try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='WFBBZ'; flagname:='班组'; if ShowModal=1 then begin Self.MJBanZu.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmMJManageNew.MJMaoZClick(Sender: TObject); begin FInt:=1; FColumn:=''; panel3.Visible:=True; end; procedure TfrmMJManageNew.MJLenClick(Sender: TObject); begin FInt:=2; FColumn:=''; panel3.Visible:=True; end; procedure TfrmMJManageNew.MJFKClick(Sender: TObject); begin FInt:=3; FColumn:=''; panel3.Visible:=True; end; procedure TfrmMJManageNew.MJBanZuClick(Sender: TObject); begin FInt:=4; end; procedure TfrmMJManageNew.MJSJKZClick(Sender: TObject); begin FInt:=4; end; procedure TfrmMJManageNew.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin //DataLink_WFBProducttion.ADOLink.Connected:=False; FInt:=4; // if PState=1 then Exit; InitCDGridID(); //InitCDGrid(); {with ADOTmp do begin close; sql.Clear; sql.Add('select * from WFB_MJJY where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); Open; end; if ADOTmp.IsEmpty then begin MJMaoZ.Text:=''; MJLen.Text:=''; MJFK.Text:=''; MJSJKZ.Text:=''; end else SSetWinData(ADOTmp,Panel5); } end; procedure TfrmMJManageNew.Tv3CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin if CDS_MJCD.IsEmpty=False then begin if Trim(CDS_MJCD.fieldbyname('MJID').AsString)='' then begin Application.MessageBox('数据未保存,不能浏览数据!','提示',0); Exit; end; end; FInt:=4; PState:=0; InitCDGrid(); with ADOTmp do begin close; sql.Clear; sql.Add('select * from WFB_MJJY where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); Open; end; if ADOTmp.IsEmpty then begin MJMaoZ.Text:=''; MJLen.Text:=''; MJFK.Text:=''; MJSJKZ.Text:=''; end else SSetWinData(ADOTmp,Panel5); BtnStatus(False); Label16.Caption:=''; end; procedure TfrmMJManageNew.FormClick(Sender: TObject); begin FInt:=4; end; procedure TfrmMJManageNew.Button12Click(Sender: TObject); var fsj:string; begin if PState<1 then Exit; if Order_MJ.IsEmpty then Exit; //if MJMaoZ.Focused then if FInt=4 then Exit; if FInt=1 then begin if Trim(MJMaoZ.Text)<>'' then MJMaoZ.Text:=Copy(Trim(MJMaoZ.Text),1,Length(Trim(MJMaoZ.Text))-1); end else if FInt=2 then begin if Trim(MJLen.Text)<>'' then MJLen.Text:=Copy(Trim(MJLen.Text),1,Length(Trim(MJLen.Text))-1); end else if FInt=3 then begin if Trim(MJFK.Text)<>'' then MJFK.Text:=Copy(Trim(MJFK.Text),1,Length(Trim(MJFK.Text))-1); end else begin FColumn:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; if Trim(FColumn)<>'' then begin if Trim(CDS_MJCD.FieldByName(FColumn).AsString)<>'' then begin with CDS_MJCD do begin Edit; if Length(CDS_MJCD.FieldByName(FColumn).AsString)=1 then begin FieldByName(FColumn).Value:=null ; FieldByName('CDQty').Value:=0; end else begin FieldByName(FColumn).Value:=Copy(Trim(FieldByName(FColumn).AsString),1,Length(Trim(FieldByName(FColumn).AsString))-1); FieldByName('CDQty').Value:=FieldByName(FColumn).Value; end; Post; end; //MValue:=TcxTextEdit(Tv2CDQty).EditingText; //BTPrint.SetFocus; end; end; end; end; procedure TfrmMJManageNew.Timer1Timer(Sender: TObject); begin CDQty.Text:=Tv2.DataController.Summary.FooterSummaryTexts[0]; end; procedure TfrmMJManageNew.MJMaoZChange(Sender: TObject); var KZSX,KZXX,FMJMaoZ,FMJLen,FMJFK:string; begin if PState=0 then Exit; if (Trim(MJMaoZ.Text)<>'') and (Trim(MJLen.Text)<>'') and (Trim(MJFK.Text)<>'') then begin MJSJKZ.Text:=FloatToStr(StrToFloat(MJMaoZ.Text)/(StrToFloat(MJLen.Text)*StrToFloat(MJFK.Text)/100)) ; MJSJKZ.Text:=FloatToStr(SSWR(StrToFloat(MJSJKZ.Text)*1000)); //KZSX:=Trim(Order_MJ.fieldbyname('MJKZD').AsString); //KZXX:=Trim(Order_MJ.fieldbyname('MJKZX').AsString); KZSX:=Trim(Order_MJ.fieldbyname('KZBig').AsString); KZXX:=Trim(Order_MJ.fieldbyname('KZSmal').AsString); if (StrToFloat(MJSJKZ.Text)>=StrToFloat(KZXX)) and (StrToFloat(MJSJKZ.Text)<=StrToFloat(KZSX)) then begin Label14.Visible:=True; Label14.Caption:='母卷克重正常。'; Label14.Font.Color:=clBlue; end else if StrToFloat(MJSJKZ.Text)StrToFloat(KZSX) then begin Label14.Visible:=True; Label14.Caption:='母卷克重超限>'+floattostr(StrToFloat(MJSJKZ.Text)-StrToFloat(KZSX))+'g/㎡'; Label14.Font.Color:=clRed; end; end else begin MJSJKZ.Text:=''; Label14.Caption:=''; Label14.Visible:=False; end; end; function TfrmMJManageNew.SaveData():Boolean; var maxno,FMJID,BZID:String; FMJLen:Double; FOrder:Integer; begin if PState=1 then FMJID:='' else if PState=2 then FMJID:=Trim(CDS_MJID.fieldbyname('MJID').AsString) else if PState<1 then Exit; try ADOCmd.Connection.BeginTrans; ///保存主表 with ADOCmd do begin Close; sql.Clear; SQL.Add('select * from WFB_MJJY where MJId='''+Trim(FMJID)+''''); Open; end; with ADOCmd do begin if Trim(FMJID)='' then begin Append; with ADOTmp do begin Close; sql.Clear; SQL.Add('select Max(Cast(MJID as int)) as MJIDInt from WFB_JYResult'); if Trim(SCXFlag)<>'' then begin sql.Add(' where JTType='''+Trim(SCXFlag)+''''); end; Open; end; maxno:=Trim(ADOTmp.fieldbyname('MJIDInt').AsString); {if GetLSNo(ADOTmp,maxno,Trim(SCXFlag),'WFB_MJJY',2,1)=False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('生成流水号异常!','提示',0); exit; end; } end else begin maxno:=Trim(FMJID); Edit; end; FieldByName('MainId').value:=Trim(Order_MJ.fieldbyname('MainId').AsString); FieldByName('SubId').value:=Trim(Order_MJ.fieldbyname('SubId').AsString); FieldByName('MJID').Value:=Trim(maxno); FieldByName('MJMaoZ').Value:=Trim(MJMaoZ.Text); FieldByName('MJLen').Value:=Trim(MJLen.Text); FieldByName('MJFK').Value:=Trim(MJFK.Text); FieldByName('MJSJKZ').Value:=Trim(MJSJKZ.Text); FieldByName('MJBanZu').Value:=Trim(MJBanZu.Text); if Trim(FMJID)='' then begin FieldByName('Filler').Value:=Trim(DName); end else begin FieldByName('Editer').Value:=Trim(DName); FieldByName('EditTime').Value:=SGetServerDateTime(ADOTmp); end; if Trim(SCXFlag)<>'' then begin FieldByName('JTType').Value:=Trim(SCXFlag); end; Post; end; FMJID:=Trim(maxno); ///保存母卷疵点表 with CDS_MJCD do begin First; while not Eof do begin if Trim(CDS_MJCD.fieldbyname('MCID').AsString)='' then begin if GetLSNo(ADOTmp,maxno,'MC','WFB_MJJY_CD',3,1)=False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取子流水号失败!','提示',0); Exit; end; end else begin maxno:=Trim(CDS_MJCD.fieldbyname('MCID').AsString); end; with ADOCmd do begin Close; SQL.Clear; sql.Add('select * from WFB_MJJY_CD '); sql.Add(' where MCID='''+Trim(maxno)+''''); Open; end; with ADOCmd do begin if Trim(CDS_MJCD.fieldbyname('MCID').AsString)='' then Append else Edit; FieldByName('MJId').Value:=Trim(FMJID); FieldByName('MCID').Value:=Trim(maxno); SSetSaveDataCDSNew(ADOCmd,Tv2,CDS_MJCD,'WFB_MJJY_CD',0); Post; end; CDS_MJCD.Edit; CDS_MJCD.FieldByName('MCID').Value:=Trim(maxno); Next; end; end; //保存班组人员产量 with ADOTmp do begin Close; sql.Clear; sql.Add('select Top 1* from WFB_BanZu where MJID='''+Trim(FMJID)+''''); sql.Add(' and BanZu='''+Trim(MJBanZu.Text)+''''); Open; end; if ADOTmp.IsEmpty then begin with ADOTmp do begin Close; sql.Clear; sql.Add('select Top 1* from WFB_BanZu where MJID='''+Trim(FMJID)+''''); Open; end; if ADOTmp.IsEmpty then begin FMJLen:=0; end else begin FMJLen:=ADOTmp.fieldbyname('MJLen').Value; end; with ADOTmp do begin Close; sql.Clear; sql.Add('select * from SY_User where BanZu='''+Trim(MJBanZu.Text)+''''); Open; end; with ADOTmp do begin First; while not eof do begin if GetLSNo(ADOCmd,BZID,'BZ','WFB_BanZu',4,1)=False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取班组号失败!','提示',0); Exit; end; with ADOCmd do begin Close; sql.Clear; sql.Add('select * from WFB_BanZu where 1<>1'); open; end; with ADOCmd do begin Append; FieldByName('BZID').Value:=Trim(BZID); FieldByName('BanZu').Value:=Trim(MJBanZu.Text); FieldByName('MJID').Value:=Trim(FMJID); FieldByName('MJLen').Value:=StrToFloat(MJLen.Text)-FMJlen; FieldByName('UserId').Value:=Trim(ADOTmp.fieldbyname('UserId').AsString); FieldByName('UserName').Value:=Trim(ADOTmp.fieldbyname('UserName').AsString); FieldByName('Filler').Value:=Trim(DName); Post; end; Next; end; end; end; //保存班组人员产量 with Order_MJ do begin Edit; FieldByName('SCMQty').Value:=FieldByName('SCMQty').Value+Strtofloat(MJLen.Text); Post; end; with Order_MJ do begin Edit; FieldByName('WSCMQty').Value:=FieldByName('OrderQtyM').Value-FieldByName('SCMQty').Value; Post; end; if ((Order_MJ.FieldByName('SCMQty').Value-Order_MJ.FieldByName('OrderQtyM').Value)/Order_MJ.FieldByName('OrderQtyM').Value )>=0 then begin with ADOCmd do begin Close; sql.Clear; sql.Add('Update WFBOrder_Sub Set SCStatus=''已完成'',SCOrder='''' '); SQL.Add(' where SubId='''+Trim(Order_MJ.fieldbyname('SubId').AsString)+''''); ExecSQL; end; with ADOTmp do begin Close; sql.Clear; SQL.Add('exec P_ProductAnPai_JY'); Open; end; if ADOTmp.IsEmpty=False then begin FOrder:=1; with ADOTmp do begin First; while not Eof do begin with ADOCmd do begin Close; sql.Clear; sql.Add('Update WFBOrder_Sub Set SCOrder='''+Trim(IntToStr(FOrder))+''''); SQL.Add(' where SubId='''+Trim(ADOTmp.FieldByName('SubId').Asstring)+''''); ExecSQL; end; FOrder:=FOrder+1; Next; end; end; SCInitGrid:=1; end; end else begin with ADOCmd do begin Close; sql.Clear; sql.Add('Update WFBOrder_Sub Set SCStatus=''生产中'' '); SQL.Add(' where SubId='''+Trim(Order_MJ.fieldbyname('SubId').AsString)+''''); ExecSQL; end; end; ADOCmd.Connection.CommitTrans; Result:=True; InitCDGridID(); CDS_MJID.Locate('MJID',FMJID,[]); PState:=0; except Result:=False; ADOCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!','提示',0); end; end; procedure TfrmMJManageNew.BTAddClick(Sender: TObject); begin if PState=1 then begin if( (CDS_MJCD.IsEmpty=False) or (Trim(MJMaoZ.Text)<>'') or (Trim(MJLen.Text)<>'') or (Trim(MJFK.Text)<>'') ) then if Application.MessageBox(PChar(' 条码未打印,是否要新增?'+#13+#13+'单击"是(Y)"后当前界面的数据将会丢失!'),'提示',32+4)<>IDYES then Exit; end; if Order_MJ.IsEmpty then Exit; with ADOTmp do begin Close; sql.Clear; sql.Add('select BanZu from SY_User where UserId='''+Trim(DCode)+''''); Open; MJBanZu.Text:=Trim(Fieldbyname('BanZu').AsString); end; if Trim(MJBanZu.Text)='' then begin Application.MessageBox('班组为空,请设置班组!','提示',0); Exit; end; PState:=1; InitCDGrid(); SClearData(Panel5,0); {Tv2.OptionsSelection.CellSelect:=True; MJMaoZ.ReadOnly:=False; MJLen.ReadOnly:=False; MJFK.ReadOnly:=False; Button38.Enabled:=True; } BtnStatus(True); Label16.Caption:='新增'; end; procedure TfrmMJManageNew.BTEditClick(Sender: TObject); begin if CDS_MJID.IsEmpty then Exit; PState:=2; Label16.Caption:='修改'; end; procedure TfrmMJManageNew.BTPrintClick(Sender: TObject); var fPrintFile,FFMJFK,FFYDFK:string; begin if Order_MJ.IsEmpty then Exit; if FInt=4 then begin if CDS_MJID.IsEmpty=False then begin Application.MessageBox('已打过条码?请尝试重打。','提示',0); Exit; end; end; if Trim(MJMaoZ.Text)='' then begin Application.MessageBox('毛重不能为空!','提示',0); Exit; end; if Trim(MJLen.Text)='' then begin Application.MessageBox('长度不能为空!','提示',0); Exit; end; if Trim(MJFK.Text)='' then begin Application.MessageBox('幅宽不能为空!','提示',0); Exit; end; FFMJFK:=Trim(MJFK.Text); FFYDFK:=Trim(Order_MJ.fieldbyname('BigMF').AsString); if ((StrToFloat(FFMJFK)-StrToFloat(FFYDFK))/StrToFloat(FFYDFK))<-0.3 then begin Application.MessageBox('幅宽录入错误!','提示',0); Exit; end; if ((StrToFloat(FFMJFK)-StrToFloat(FFYDFK))/StrToFloat(FFYDFK))>0.3 then begin Application.MessageBox('幅宽录入错误!','提示',0); Exit; end; if Trim(MJBanZu.Text)='' then begin Application.MessageBox('班组不能为空!','提示',0); Exit; end; Panel6.Visible:=True; { if PState=1 then begin if Application.MessageBox('确定要打印条码吗?打印后数据将不能修改!','提示',32+4)<>IDYES then Exit; end; if SaveData() then begin BtnStatus(False); end; with ADOQueryPrint do begin Close; sql.Clear; sql.Add('select RTrim(A.MJID) MJID,RTrim(A.MJSJKZ) MJSJKZ,RTrim(A.MJFK) MJFK,RTrim(B.OrderNo) OrderNo,RTrim(B.WFBCodeName) WFBCodeName from WFB_MJJY A inner join WFBOrder_Main B on A.MainId=B.MainId'); sql.Add(' where A.MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); Open; end; fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\母卷标签.rmf' ; if FileExists(fPrintFile) then begin RM2.LoadFromFile(fPrintFile); RM2.ShowReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\母卷标签.rmf'),'提示',0); end; Label16.Caption:=''; BTAdd.Click; } end; procedure TfrmMJManageNew.BtnStatus(BSInt:Boolean); begin Tv2.OptionsSelection.CellSelect:=BSInt; MJMaoZ.ReadOnly:=not BSInt; MJLen.ReadOnly:=not BSInt; MJFK.ReadOnly:=not BSInt; Button38.Enabled:=BSInt; end; procedure TfrmMJManageNew.Tv2CDQtyPropertiesEditValueChanged(Sender: TObject); var mvalue:string; begin try mvalue:=TcxTextEdit(Sender).EditingText; if Trim(mvalue)<>'' then begin CDS_MJCD.Edit; CDS_MJCD.FieldByName('CDQty').Value:=mvalue; CDS_MJCD.Post; end else begin CDS_MJCD.Edit; CDS_MJCD.FieldByName('CDQty').Value:=0; CDS_MJCD.Post; end; CDS_MJCD.Edit; CDS_MJCD.FieldByName('CDQtyS').Value:=mvalue; except Application.MessageBox('非法数字!','提示',0); end; end; procedure TfrmMJManageNew.SpeedButton1Click(Sender: TObject); begin AddSLNew(TSpeedButton(Sender)); end; procedure TfrmMJManageNew.SpeedButton12Click(Sender: TObject); var fsj:string; begin if PState<1 then Exit; if Order_MJ.IsEmpty then Exit; //if MJMaoZ.Focused then if FInt=4 then Exit; if FInt=1 then begin if Trim(MJMaoZ.Text)<>'' then begin MJMaoZ.Text:=Copy(Trim(MJMaoZ.Text),1,Length(Trim(MJMaoZ.Text))-1); MJMaoZ.SelectAll; end; end else if FInt=2 then begin if Trim(MJLen.Text)<>'' then begin MJLen.Text:=Copy(Trim(MJLen.Text),1,Length(Trim(MJLen.Text))-1); MJLen.SelectAll; end; end else if FInt=3 then begin if Trim(MJFK.Text)<>'' then begin MJFK.Text:=Copy(Trim(MJFK.Text),1,Length(Trim(MJFK.Text))-1); MJFK.SelectAll; end; end else if FInt=11 then begin if Trim(Edit1.Text)<>'' then begin Edit1.Text:=Copy(Trim(Edit1.Text),1,Length(Trim(Edit1.Text))-1); Edit1.SelectAll; end; end else if FInt=12 then begin if Trim(Edit2.Text)<>'' then begin Edit2.Text:=Copy(Trim(Edit2.Text),1,Length(Trim(Edit2.Text))-1); Edit2.SelectAll; end; end;{ else begin FColumn:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; if Trim(FColumn)<>'' then begin if Trim(CDS_MJCD.FieldByName(FColumn).AsString)<>'' then begin with CDS_MJCD do begin Edit; if Length(CDS_MJCD.FieldByName(FColumn).AsString)=1 then begin FieldByName(FColumn).Value:=null ; FieldByName('CDQty').Value:=0; end else begin FieldByName(FColumn).Value:=Copy(Trim(FieldByName(FColumn).AsString),1,Length(Trim(FieldByName(FColumn).AsString))-1); FieldByName('CDQty').Value:=FieldByName(FColumn).Value; end; Post; //Tv2.GetColumnByFieldName(FColumn).Selected:=True; // Tv2.GetColumnByFieldName(FColumn).FocusWithSelection; //(Tv2.GetColumnByFieldName(FColumn).Properties as TcxTextEditProperties).AutoSelect:=True; end; //MValue:=TcxTextEdit(Tv2CDQty).EditingText; //BTPrint.SetFocus; end; end; end;} end; procedure TfrmMJManageNew.SpeedButton13Click(Sender: TObject); begin if PState<1 then Exit; if Order_MJ.IsEmpty then Exit; FCDName:=Trim(TSpeedButton(Sender).Hint); MovePanel1.Visible:=True; Label21.Caption:=Trim(FCDName); FInt:=11; Edit1.SetFocus; Panel3.Visible:=True; //AddCDNew(TSpeedButton(Sender)); end; procedure TfrmMJManageNew.Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin ReleaseCapture; TWinControl(Panel6).perform(WM_SYSCOMMAND, $F012, 0); end; procedure TfrmMJManageNew.Image2Click(Sender: TObject); begin Panel6.Visible:=False; end; procedure TfrmMJManageNew.Button3Click(Sender: TObject); begin Panel6.Visible:=False; end; procedure TfrmMJManageNew.Button2Click(Sender: TObject); var fPrintFile:String; begin with ADOTmp do begin Close; sql.Clear; sql.Add('select * from WFB_JYResult where Cast(MJID as int)>'); sql.Add(' (select isnull(Max(Cast(MJID as int)),0) from WFB_MJJY '); if Trim(SCXFlag)<>'' then begin sql.Add(' where JTType='''+Trim(SCXFlag)+''''); end; sql.Add(')'); if Trim(SCXFlag)<>'' then begin sql.Add(' and JTType='''+Trim(SCXFlag)+''''); end; Open; end; if ADOTmp.IsEmpty then begin Application.MessageBox('未检验不能打印标签!','提示',0); Exit; end; if Order_MJ.Locate('SSel',True,[])=False then begin Application.MessageBox('未选择记录!','提示',0); Exit; end; if PState=1 then begin if Application.MessageBox('是否要打印条码?打印后数据将不能修改!','提示',32+4)<>IDYES then Exit; Panel6.Visible:=False; end; if SaveData() then begin BtnStatus(False); end; with ADOQueryPrint do begin Close; sql.Clear; sql.Add(' select RTrim(A.MJID) MJID,RTrim(Cast(A.MJSJKZ As varchar(20))) MJSJKZ,RTrim(Cast(A.MJFK as varchar(20))) MJFK,RTrim(B.OrderNo) OrderNo,'); sql.Add(' RTrim(Cast(A.MJMaoZ As varchar(20))) MJMaoZ,RTrim(Cast(A.MJLen As varchar(20))) MJLen,'); sql.Add(' Rtrim(C.SWFBColor) SWFBColor,Rtrim(Cast(C.SWFBKZ as varchar(20))) SWFBKZ, YLPB=dbo.F_Get_WFBOrder_SubStr(C.SubId,''YLPBSZ'')'); sql.Add(',RTrim(C.SWFBCodeName) SWFBCodeName from WFB_MJJY A inner join WFBOrder_Main B on A.MainId=B.MainId'); sql.Add(' inner join WFBOrder_Sub C on A.SubId=C.SubId'); sql.Add(' where A.MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); Open; end; if SCInitGrid=1 then begin InitGrid(); SCInitGrid:=0; end; fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\母卷标签.rmf' ; if FileExists(fPrintFile) then begin RM2.LoadFromFile(fPrintFile); //RM2.ShowReport; RM2.PrintReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\母卷标签.rmf'),'提示',0); end; Label16.Caption:=''; BTAdd.Click; end; procedure TfrmMJManageNew.TvSelCellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); var fsj:String; begin { fsj:=Trim(Order_MJ.fieldbyname('SubId').AsString); Order_MJ.DisableControls; with Order_MJ do begin First; while not Eof do begin if Trim(Order_MJ.fieldbyname('SubId').AsString)<>fsj then begin Edit; FieldByName('SSel').Value:=False; end; Next; end; end; Order_MJ.EnableControls; Order_MJ.Locate('SubId',fsj,[]); } end; procedure TfrmMJManageNew.cxGridDBColumn2PropertiesChange(Sender: TObject); var fsj:String; begin fsj:=Trim(Order_MJ.fieldbyname('SubId').AsString); Order_MJ.DisableControls; with Order_MJ do begin First; while not Eof do begin if Trim(Order_MJ.fieldbyname('SubId').AsString)<>fsj then begin Edit; FieldByName('SSel').Value:=False; end; Next; end; end; Order_MJ.EnableControls; Order_MJ.Locate('SubId',fsj,[]); end; procedure TfrmMJManageNew.Button1Click(Sender: TObject); begin //MovePanel1.Visible:=True; if Trim(Edit1.Text)='' then begin Application.MessageBox('位置不能为空!','提示',0); exit; end; with CDS_MJCD do begin Append; FieldByName('cdname').Value:=Trim(FCDName); FieldByName('CDbeg').Value:=Trim(Edit1.Text); FieldByName('CDEnd').Value:=Trim(Edit2.Text); if Trim(Edit2.Text)<>'' then begin FieldByName('CDQty').Value:=StrToFloat(Edit2.Text)-StrToFloat(Edit1.Text); end else begin FieldByName('CDQty').Value:=0; end; Post; end; Edit1.Text:=''; Edit2.Text:=''; MovePanel1.Visible:=False; end; procedure TfrmMJManageNew.Button4Click(Sender: TObject); begin MovePanel1.Visible:=False; end; procedure TfrmMJManageNew.ToolButton1Click(Sender: TObject); begin InitGrid(); InitJP(); end; procedure TfrmMJManageNew.Edit1Click(Sender: TObject); begin FInt:=11; panel3.Visible:=True; end; procedure TfrmMJManageNew.Edit2Click(Sender: TObject); begin FInt:=12; panel3.Visible:=True; end; procedure TfrmMJManageNew.Button5Click(Sender: TObject); var fPrintFile:String; begin if CDS_MJID.IsEmpty then Exit; with ADOCmd do begin Close; sql.Clear; sql.Add('Update WFB_MJJY Set PrtAgnFlag=1,PrtAgnDate=getdate(),PrtAgnPerson='''+Trim(DName)+''''); sql.Add(' where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); ExecSQL; end; with ADOQueryPrint do begin Close; sql.Clear; sql.Add('select RTrim(A.MJID) MJID,RTrim(A.MJSJKZ) MJSJKZ,RTrim(A.MJFK) MJFK,RTrim(B.OrderNo)+'' 重打'' OrderNo,'); sql.Add('RTrim(A.MJLen) MJLen,RTrim(A.MJMaoZ) MJMaoZ,'); sql.Add('Rtrim(C.SWFBColor) SWFBColor,Rtrim(C.SWFBKZ) SWFBKZ, YLPB=dbo.F_Get_WFBOrder_SubStr(C.SubId,''YLPBSZ'')'); sql.Add(',RTrim(C.SWFBCodeName) SWFBCodeName from WFB_MJJY A inner join WFBOrder_Main B on A.MainId=B.MainId'); sql.Add(' inner join WFBOrder_Sub C on A.SubId=C.SubId'); sql.Add(' where A.MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); Open; end; fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\母卷标签.rmf' ; if FileExists(fPrintFile) then begin RM2.LoadFromFile(fPrintFile); //RM2.ShowReport; RM2.PrintReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\母卷标签.rmf'),'提示',0); end; end; procedure TfrmMJManageNew.SpeedButton49Click(Sender: TObject); begin Panel3.Visible:=False; end; end.