unit U_MLManage_LRCX; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, DBClient, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, ComCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, cxContainer, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxCalendar, StdCtrls, ExtCtrls, BtnEdit, cxButtonEdit,jpeg,U_SLT,Math, Menus, RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset,U_SLT_PBSK,U_BPZdy_LRSHK; type TfrmMLManage_LRCX = class(TForm) CDS_Sub: TClientDataSet; ADOQueryMain: TADOQuery; DataSource2: TDataSource; ADOQueryCmd: TADOQuery; ADOQueryTemp: TADOQuery; cxGridPopupMenu1: TcxGridPopupMenu; Panel1: TPanel; cxGridPopupMenu2: TcxGridPopupMenu; Order_GX: TClientDataSet; DataSource1: TDataSource; Panel4: TPanel; OrdBP_SH: TClientDataSet; DataSource3: TDataSource; cxGridPopupMenu3: TcxGridPopupMenu; GSNo: TLabel; MLNo: TLabel; Ord_HX: TClientDataSet; DataSource4: TDataSource; cxGridPopupMenu4: TcxGridPopupMenu; GYName: TLabel; Panel9: TPanel; Label2: TLabel; MLName: TEdit; MLMF: TEdit; MLKZ: TEdit; GYLX: TLabel; GYLXName: TLabel; Label1: TLabel; Label3: TLabel; Label4: TLabel; Label9: TLabel; Label10: TLabel; Label8: TLabel; Button2: TButton; MLCF: TEdit; ScrollBox2: TScrollBox; adoqueryPicture: TADOQuery; Panel7: TPanel; Panel3: TPanel; Label11: TLabel; BPCode: TLabel; BPName: TLabel; BPJS: TLabel; BPMF: TLabel; BPKZ: TLabel; BPMiDu: TLabel; BPCF: TLabel; CPMiDu: TLabel; ToolBar3: TToolBar; Panel5: TPanel; Label5: TLabel; cxGrid1: TcxGrid; TV1: TcxGridDBTableView; V1Ssel: TcxGridDBColumn; V1BPCode: TcxGridDBColumn; V1BPName: TcxGridDBColumn; V1BPMF: TcxGridDBColumn; V1BPKZ: TcxGridDBColumn; V1BPJS: TcxGridDBColumn; v1BPMiDu: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; Panel2: TPanel; ToolBar2: TToolBar; Panel6: TPanel; Label6: TLabel; cxGrid2: TcxGrid; TV2: TcxGridDBTableView; V2XHNo: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; TVBPName: TcxGridDBColumn; V2BPMF: TcxGridDBColumn; V2BPKZ: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; Panel8: TPanel; ScrollBox1: TScrollBox; Button4: TButton; RMDB_Main: TRMDBDataSet; RM1: TRMGridReport; ADOQueryPrint: TADOQuery; CDS_Print: TClientDataSet; Panel42: TPanel; Label79: TLabel; Label80: TLabel; Panel43: TPanel; Label81: TLabel; Label82: TLabel; Panel44: TPanel; Label83: TLabel; Label84: TLabel; Panel45: TPanel; Label85: TLabel; Label86: TLabel; Panel46: TPanel; Label87: TLabel; Label88: TLabel; Panel47: TPanel; Label89: TLabel; Label90: TLabel; Panel48: TPanel; Label91: TLabel; Label92: TLabel; Panel49: TPanel; Label93: TLabel; Label94: TLabel; Panel50: TPanel; Label95: TLabel; Label96: TLabel; Panel51: TPanel; Label97: TLabel; Label98: TLabel; Panel52: TPanel; Label99: TLabel; Label100: TLabel; Panel53: TPanel; Label101: TLabel; Label102: TLabel; Panel54: TPanel; Label103: TLabel; Label104: TLabel; Panel55: TPanel; Label105: TLabel; Label106: TLabel; Panel56: TPanel; Label107: TLabel; Label108: TLabel; Panel57: TPanel; Label109: TLabel; Label110: TLabel; Panel58: TPanel; Label111: TLabel; Label112: TLabel; Panel59: TPanel; Label113: TLabel; Label114: TLabel; Panel60: TPanel; Label115: TLabel; Label116: TLabel; Panel61: TPanel; Label117: TLabel; Label118: TLabel; Panel62: TPanel; Label119: TLabel; Label120: TLabel; Panel63: TPanel; Label121: TLabel; Label122: TLabel; Panel64: TPanel; Label123: TLabel; Label124: TLabel; Panel65: TPanel; Label125: TLabel; Label126: TLabel; Panel66: TPanel; Label127: TLabel; Label128: TLabel; Panel67: TPanel; Label129: TLabel; Label130: TLabel; Panel68: TPanel; Label131: TLabel; Label132: TLabel; Panel69: TPanel; Label133: TLabel; Label134: TLabel; Panel70: TPanel; Label135: TLabel; Label136: TLabel; Panel71: TPanel; Label137: TLabel; Label138: TLabel; Panel72: TPanel; Label139: TLabel; Label140: TLabel; Panel73: TPanel; Label141: TLabel; Label142: TLabel; Panel74: TPanel; Label143: TLabel; Label144: TLabel; Panel75: TPanel; Label145: TLabel; Label146: TLabel; Panel76: TPanel; Label147: TLabel; Label148: TLabel; Panel77: TPanel; Label149: TLabel; Label150: TLabel; Panel78: TPanel; Label151: TLabel; Label152: TLabel; Panel79: TPanel; Label153: TLabel; Label154: TLabel; Panel80: TPanel; Label155: TLabel; Label156: TLabel; Panel81: TPanel; Label157: TLabel; Label158: TLabel; PopupMenu1: TPopupMenu; N1: TMenuItem; Button5: TButton; Panel10: TPanel; Label7: TLabel; Label12: TLabel; Panel11: TPanel; Label13: TLabel; Label14: TLabel; Panel12: TPanel; Label15: TLabel; Label16: TLabel; Panel13: TPanel; Label17: TLabel; Label18: TLabel; Panel14: TPanel; Label19: TLabel; Label20: TLabel; label554: TLabel; SY: TButton; XY: TButton; Panel15: TPanel; Label21: TLabel; Label22: TLabel; Panel16: TPanel; Label23: TLabel; Label24: TLabel; Panel17: TPanel; Label25: TLabel; Label26: TLabel; Panel18: TPanel; Label27: TLabel; Label28: TLabel; Panel19: TPanel; Label29: TLabel; Label30: TLabel; Panel20: TPanel; Label31: TLabel; Label32: TLabel; procedure FormShow(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure Button4Click(Sender: TObject); procedure N1Click(Sender: TObject); procedure Panel42MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Button5Click(Sender: TObject); procedure XYClick(Sender: TObject); procedure SYClick(Sender: TObject); private Fint,my,mz:Integer; procedure InitSubGrid(); function SaveData():Boolean; procedure BHCZhu(); procedure SavePrint(var CP,TP:string); { Private declarations } public FCYID,FCYCode,FCPID,FCPNO,FBPID,FGYName,FML,FGYLX,FGSNo,FHXBPID,FGSName,FSKID,FBPIDSH:String; FGYLXName,FDYID:string; viewFlag:Boolean; procedure initimageSH(); procedure initimage(); procedure imagePL(FFF:Integer); { Public declarations } end; var frmMLManage_LRCX: TfrmMLManage_LRCX; Mach1: array of TfrmSlt; Mach: array of TfrmSLT_PBSK; implementation uses U_DataLink,U_Fun,U_BPZdy_LR,U_BPZdy_SH,U_MLMange_ADDCX, U_BPZdy_HXK,U_BPZdy_LRPB,U_BPZdy_LRGX, U_BPZdy_PanelCX, U_BPZdy_YT,U_BPZdy_Panel; {$R *.dfm} procedure TfrmMLManage_LRCX.SavePrint(var CP,TP:string); var maxno,MaxSub:string; fPrintFile,Txt,fImagePath:string; Porderno:string; i,j:Integer; Moudle: THandle; Makebar:TMakebar; Mixtext:TMixtext; begin with ADOQueryCmd do begin close; sql.Clear; SQL.Add('select * from BP_DY '); sql.Add('where MLID='''+trim(CP)+''''); sql.Add(' and TFID='''+trim(TP)+''''); Open; end; if ADOQueryCmd.IsEmpty then begin if GetLSNo(ADOQueryTemp,maxno,'DY','BP_DY',3,1)=False then begin Application.MessageBox('取最大号失败!','提示',0); Exit; end; end else begin maxno:=Trim(ADOQueryCmd.fieldbyname('DYID').AsString); end; with ADOQueryCmd do begin if IsEmpty then begin Append; FieldByName('filler').Value:=Trim(DName); FieldByName('DYID').Value:=Trim(maxno); end else begin edit; FieldByName('laster').Value:=Trim(DName); FieldByName('lasttime').Value:=SGetServerDate(ADOQueryTemp); end; FieldByName('MLID').Value:=Trim(CP); FieldByName('TFID').Value:=Trim(TP); post; end; //////////记录 if GetLSNo(ADOQueryTemp,MaxSub,'JL','BP_DY_JL',3,1)=False then begin Application.MessageBox('取最大号失败!','提示',0); Exit; end; with ADOQueryCmd do begin close; sql.Clear; SQL.Add('select * from BP_DY_JL '); sql.Add('where 1=2'); Open; end; with ADOQueryCmd do begin Append; FieldByName('filler').Value:=Trim(DName); FieldByName('JLID').Value:=Trim(MaxSub); FieldByName('DYID').Value:=Trim(maxno); FieldByName('MLID').Value:=Trim(CP); FieldByName('TFID').Value:=Trim(TP); post; end; //打印 fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\单面料标签染色.rmf'; with ADOQueryPrint do begin Close; sql.Clear; sql.Add('select A.*,B.*,C.DYID from BP_DY C '); sql.Add('inner join ML_Manage A on A.MLID=C.MLID '); sql.Add('inner join XD_File D on D.XFID=C.TFID '); sql.Add('inner join SH_Base B on B.WBID=D.CYID '); sql.Add(' Where C.DYID='''+Trim(maxno)+''''); Open; end; SCreateCDS20(ADOQueryPrint,CDS_Print); SInitCDSData20(ADOQueryPrint,CDS_Print); try Moudle:=LoadLibrary('MakeQRBarcode.dll'); @Makebar:=GetProcAddress(Moudle,'Make'); @Mixtext:=GetProcAddress(Moudle,'MixText'); Txt:=Trim(CDS_Print.fieldbyname('DYID').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 FileExists(fPrintFile) then begin RMVariables['QRBARCODE']:=fImagePath; RM1.LoadFromFile(fPrintFile); //RM1.ShowReport; RM1.PrintReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\单面料标签染色.rmf'),'提示',0); exit; end; end; procedure TfrmMLManage_LRCX.InitSubGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; SQL.Clear; SQL.Add('select * from ML_Manage where MLID='''+trim(FCYID)+''''); Open; end; if ADOQueryMain.IsEmpty=false then begin GSNo.Caption:=Trim(ADOQueryMain.FieldByName('GSNo').asstring); GYName.Caption:=Trim(ADOQueryMain.FieldByName('GYName').asstring); MLNo.Caption:=Trim(ADOQueryMain.FieldByName('MLNo').asstring); GYLX.Caption:=Trim(ADOQueryMain.FieldByName('GYLX').asstring); GYLXName.Caption:=Trim(ADOQueryMain.FieldByName('GYLXName').asstring); //MLDLNo.Caption:=Trim(ADOQueryMain.FieldByName('MLDLNo').asstring); SCSHDataNew(ADOQueryMain,Panel9,2); FBPID:=Trim(ADOQueryMain.FieldByName('MBPID').Value); FSKID:=Trim(ADOQueryMain.FieldByName('MLDLNo').AsString); end; with ADOQueryMain do begin Close; SQL.Clear; sql.Add(' select A.*,isnull(B.BPCode,C.MLNo) BPCode,isnull(B.BPName,C.MLName) BPName'); sql.Add(' ,isnull(B.BPMF,C.MLMF) BPMF,isnull(B.BPKZ,C.MLKZ) BPKZ'); sql.Add(',B.BPJS,B.BPWS,B.BPMiDu,B.BPUnit,B.BPCF,B.CPMiDu,B.SKID'); SQL.Add(' from ML_Manage_PB A left join BP_ZDY B on B.BPID=A.BPID '); sql.Add(' left join ML_Manage C on C.MLID=A.BPID'); sql.Add('where A.MLID='''+Trim(FCYID)+''''); Open; end; SCreateCDS20(ADOQueryMain,CDS_Sub); SInitCDSData20(ADOQueryMain,CDS_Sub); BPCode.caption:=Trim(CDS_Sub.fieldbyname('BPCode').AsString); BPName.caption:=Trim(CDS_Sub.fieldbyname('BPName').AsString); BPMF.Caption:=Trim(CDS_Sub.fieldbyname('BPMF').AsString); BPKZ.Caption:=Trim(CDS_Sub.fieldbyname('BPKZ').AsString); BPCF.Caption:=Trim(CDS_Sub.fieldbyname('BPCF').AsString); BPJS.Caption:=Trim(CDS_Sub.fieldbyname('BPJS').AsString); BPMiDu.Caption:=Trim(CDS_Sub.fieldbyname('BPMiDu').AsString); CPMiDu.Caption:=Trim(CDS_Sub.fieldbyname('CPMiDu').AsString); if CDS_Sub.fieldbyname('SKID').AsString='' then FBPIDSH:=Trim(CDS_Sub.fieldbyname('BPCode').AsString) else FBPIDSH:=Trim(CDS_Sub.fieldbyname('SKID').AsString); with ADOQueryMain do begin Close; SQL.Clear; sql.Add(' select A.*,B.* from ML_Manage_GX A '); SQL.Add('inner join BP_ZDY B on B.BPID=A.BPID '); sql.Add('where A.MLID='''+Trim(FCYID)+''''); Open; end; SCreateCDS20(ADOQueryMain,Order_GX); SInitCDSData20(ADOQueryMain,Order_GX); with ADOQueryMain do begin Close; sql.Clear; sql.Add('select A.*,B.* '); SQL.Add(',MXGS=(select count(C.PTID) from BP_ColZDY C where C.SKID=B.SKID and isnull(C.SKID,'''')<>'''') '); sql.Add('from RT_PTColor A '); sql.Add('inner join BP_ColZDY B on B.PTID=A.PTID '); sql.Add('where isnull(B.SKID,'''')='''+trim(FBPIDSH)+''' and isnull(B.SKID,'''')<>'''''); sql.Add(' order by cast(B.ColNo as int)'); Open; end; my:=1; mz:=ceil(ADOQueryMain.fieldbyname('MXGS').AsInteger/50); label554.Caption:=inttostr(my)+'/'+inttostr(mz); SCreateCDS20(ADOQueryMain,OrdBP_SH); SInitCDSData20(ADOQueryMain,OrdBP_SH); if FCYID='' then begin with ADOQueryMain do begin Close; SQL.Clear; sql.Add('select * from BP_ZDY '); sql.Add('where BPName='''+Trim(FGYName)+''' and BPflag=''GXName'''); Open; end; MLNo.Caption:=ADOQueryMain.fieldbyname('BPCode').AsString; FML:=ADOQueryMain.fieldbyname('BPCode').AsString; end else begin with ADOQueryMain do begin Close; SQL.Clear; sql.Add('select * from BP_ZDY '); sql.Add('where BPName='''+Trim(FGYName)+''' and BPflag=''GXName'''); Open; end; FML:=ADOQueryMain.fieldbyname('BPCode').AsString; end; with ADOQueryMain do begin Close; sql.Clear; sql.Add('select F.*,D.* '); sql.add('from BP_DY C '); sql.Add('inner join ML_Manage A on A.MLID=C.MLID '); sql.Add('inner join BP_ZDY E on E.BPID=A.MBPID '); sql.Add('inner join RT_PTColor F on F.PTID=C.TFID '); sql.Add('inner join BP_ColZDY D on D.SKID=E.SKID and D.PTID=C.TFID'); sql.Add(' Where C.DYID='''+Trim(FDYID)+''''); //ShowMessage(sql.Text); Open; end; Panel20.Hint:=Trim(ADOQueryMain.Fieldbyname('PTID').AsString); if ADOQueryMain.Fieldbyname('ColDaiMa').AsString<>'' then Panel20.Color:=StrToInt('$'+Trim(ADOQueryMain.Fieldbyname('ColDaiMa').AsString)); Label31.Caption:=Trim(ADOQueryMain.Fieldbyname('ColNo').AsString); Label32.Caption:=Trim(ADOQueryMain.Fieldbyname('ColNameKH').AsString); finally ADOQueryMain.EnableControls; end; end; procedure TfrmMLManage_LRCX.FormShow(Sender: TObject); var fsj:String; begin ReadCxGrid('面料管理1',Tv1,'样品管理'); ReadCxGrid('面料管理2',Tv2,'样品管理'); InitSubGrid(); initimageSH(); initimage(); end; function TfrmMLManage_LRCX.SaveData():Boolean; var maxId,maxno:String; begin try ADOQueryCmd.Connection.BeginTrans; if FCYID='' then begin if GetLSNo(ADOQueryCmd,maxno,'ML','ML_Manage',3,1)=False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取最大号失败!','提示',0); Exit; end; end else begin maxno:=Trim(FCYID); end; with ADOQueryCmd do begin Close; sql.Clear; SQL.Add('select * from ML_Manage where MLID='''+Trim(FCYID)+''''); Open; end; with ADOQueryCmd do begin if isempty then begin Append; fieldbyname('GYType').Value:=Trim(FGYName); FieldByName('GYTypeJC').Value:=Trim(FML); end else begin Edit; end; //ShowMessage(FBPID); FieldByName('MLID').Value:=Trim(maxno); FieldByName('MBPID').Value:=Trim(FBPID); FieldByName('MLType').Value:='染色面料'; FieldByName('GSNo').Value:=Trim(GSNo.Caption); FieldByName('GYName').Value:=Trim(GYName.Caption); FieldByName('MLNo').Value:=Trim(MLNo.Caption); FieldByName('GYLX').Value:=Trim(GYLX.Caption); FieldByName('GYLXName').Value:=Trim(GYLXName.Caption); //SSetsaveSqlNew(ADOQueryCmd,'ML_Manage',panel9,2); RTSetsavedata(ADOQueryCmd,'ML_Manage',panel9,2); FieldByName('MLJWMD').Value:=Trim(CPMiDu.Caption); FieldByName('MLDLNo').Value:=Trim(FSKID); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select * from ML_Manage where GSNo='''+Trim(GSNo.Caption)+''''); Open; end; if ADOQueryCmd.RecordCount>1 then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('工艺编号重复!','提示',0); Exit; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select * from ML_Manage where MLNo='''+Trim(MLNo.Caption)+''''); sql.add(' and GYLX='''+trim(GYLX.Caption)+''''); Open; end; if ADOQueryCmd.RecordCount>1 then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('产品编号+工艺路线重复!','提示',0); Exit; end; FCYID:=Trim(maxno); CDS_Sub.DisableControls; with CDS_Sub do begin First; while not Eof do begin if Trim(CDS_Sub.fieldbyname('MPID').AsString)='' then begin if GetLSNo(ADOQueryCmd,maxId,'MP','ML_Manage_PB',4,1)=False then begin Result:=False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('区最大号失败!','提示',0); Exit; end; end else begin maxId:=Trim(CDS_Sub.fieldbyname('MPID').AsString); end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from ML_Manage_PB where MPID='''+Trim(maxId)+''''); Open; end; with ADOQueryCmd do begin if isempty then begin Append; end else begin Edit; end; FieldByName('MPID').Value:=Trim(maxId); FieldByName('MLID').Value:=Trim(FCYID); FieldByName('BPID').Value:=Trim(CDS_Sub.fieldbyname('BPID').AsString); //FieldByName('SKID').Value:=Trim(FBPIDSH); Post; end; Next; end; end; CDS_Sub.EnableControls; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete ML_Manage_GX where MLID='''+Trim(FCYID)+''''); ExecSQL; end; Order_GX.DisableControls; with Order_GX do begin First; while not Eof do begin if Trim(Order_GX.fieldbyname('GXID').AsString)='' then begin if GetLSNo(ADOQueryCmd,maxId,'GX','ML_Manage_GX',4,1)=False then begin Result:=False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('区最大号失败!','提示',0); Exit; end; end else begin maxId:=Trim(Order_GX.fieldbyname('GXID').AsString); end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from ML_Manage_GX where GXID='''+Trim(maxId)+''''); Open; end; with ADOQueryCmd do begin if isempty then begin Append; end else begin Edit; end; FieldByName('GXID').Value:=Trim(maxId); FieldByName('MLID').Value:=Trim(FCYID); fieldbyname('XHNo').Value:=Order_GX.fieldbyname('XHNo').Value; FieldByName('BPID').Value:=Trim(Order_GX.fieldbyname('BPID').AsString); Post; end; Next; end; end; Order_GX.EnableControls; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update BP_ZDY Set BPCF='''+Trim(MLCF.Text)+''''); sql.Add(' where isnull(BPCode,'''')='''+Trim(BPCode.Caption)+''''); sql.Add(' and isnull(BPType,'''')=''坯布'' '); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; Result:=True; except; Result:=True; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!','提示',0); end; end; procedure TfrmMLManage_LRCX.BHCZhu(); var FBH,FCP,FLX,FLL:string; FBHName,FLXName,FLLName:string; begin CDS_Sub.DisableControls; with CDS_Sub do begin First; while not eof do begin FBH:=FBH+trim(CDS_Sub.fieldbyname('BPCode').AsString); FBHName:=FBHName+trim(CDS_Sub.fieldbyname('BPName').AsString); Next; end; end; CDS_Sub.EnableControls; FCP:=FML+FBH; Order_GX.DisableControls; with Order_GX do begin First; while not eof do begin FLL:=FLL+trim(Order_GX.fieldbyname('BPMF').AsString); FLLName:=FLLName+trim(Order_GX.fieldbyname('BPKZ').AsString); if FLX='' then FLX:=trim(Order_GX.fieldbyname('BPMF').AsString) else FLX:=FLX+'+'+trim(Order_GX.fieldbyname('BPMF').AsString); if FLXName='' then FLXName:=trim(Order_GX.fieldbyname('BPKZ').AsString) else FLXName:=FLXName+'+'+trim(Order_GX.fieldbyname('BPKZ').AsString); Next; end; end; Order_GX.EnableControls; GSNo.Caption:=FBH+Trim(FLL); GYName.Caption:=FBHName+Trim(FLLName); MLNo.Caption:=Trim(FCP); if FLX<>'' then begin if FGYLX='' then GYLX.Caption:=Trim(FLX) else GYLX.Caption:=FGYLX+'+'+Trim(FLX); end else begin GYLX.Caption:=FGYLX; end; if FLXName<>'' then begin if FGYLXName='' then GYLXName.Caption:=Trim(FLXName) else GYLXName.Caption:=FGYLXName+'+'+Trim(FLXName); end else begin GYLXName.Caption:=FGYLXName; end; end; procedure TfrmMLManage_LRCX.initimageSH(); var i,j,z,x,q:Integer; begin with Self.ScrollBox2 do begin for i:=0 to Self.ScrollBox2.ControlCount-1 do begin if Controls[i] is TPanel then begin TPanel(Controls[i]).Visible:=false; end; end; end; OrdBP_SH.DisableControls; with OrdBP_SH do begin First; i:=0; q:=1; while not Eof do begin if (q>(my-1)*50) and (q<=my*50) then begin with ScrollBox2 do begin TPanel(Controls[i]).Visible:=True; TPanel(Controls[i]).Hint:=Trim(OrdBP_SH.Fieldbyname('PTID').AsString); if OrdBP_SH.Fieldbyname('ColDaiMa').AsString<>'' then TPanel(Controls[i]).Color:=StrToInt('$'+Trim(OrdBP_SH.Fieldbyname('ColDaiMa').AsString)); with TPanel(Controls[i]) do begin TLabel(Controls[0]).Caption:=Trim(OrdBP_SH.Fieldbyname('ColNo').AsString); TLabel(Controls[1]).Caption:=Trim(OrdBP_SH.Fieldbyname('ColNameKH').AsString); TLabel(Controls[0]).Visible:=true; TLabel(Controls[1]).Visible:=true; TLabel(Controls[0]).Color:=clWhite; TLabel(Controls[1]).Color:=clWhite; end; end; i:=i+1; end; q:=q+1; Next; end; end; OrdBP_SH.EnableControls; end; procedure TfrmMLManage_LRCX.imagePL(FFF:Integer); var i,j,x,p,x1,p1:Integer; begin x:=0; p:=0; x1:=0; p1:=0; ScrollBox1.Refresh; ScrollBox2.Refresh; if FFF=1 then begin with ScrollBox1 do begin for i:=0 to ScrollBox1.ControlCount-1 do begin if Controls[i].Visible=True then begin if Controls[i] is TfrmSLT then begin if x<4*(p+1) then begin end else begin p:=p+1; end; TfrmSLT(Controls[i]).Left:=0+(x-4*p)*185; TfrmSLT(Controls[i]).Top:=p*143; x:=x+1; end; end else begin with ScrollBox2 do begin Controls[i].Visible:=True; if Controls[i] is TfrmSLT then begin if x1<3*(p1+1) then begin end else begin p1:=p1+1; end; TfrmSLT(Controls[i]).Left:=0+(x1-3*p1)*185; TfrmSLT(Controls[i]).Top:=p1*143; x1:=x1+1; end; end; end; end; end; end; if FFF=2 then BEGIN x:=0; p:=0; x1:=0; p1:=0; with ScrollBox2 do begin for i:=0 to ScrollBox2.ControlCount-1 do begin if Controls[i].Visible=True then begin if Controls[i] is TfrmSLT then begin if x1<3*(p1+1) then begin end else begin p1:=p1+1; end; TfrmSLT(Controls[i]).Left:=0+(x1-3*p1)*185; TfrmSLT(Controls[i]).Top:=p1*143; x1:=x1+1; end; end else begin with ScrollBox1 do begin Controls[i].Visible:=True; if Controls[i] is TfrmSLT then begin if x<4*(p+1) then begin end else begin p:=p+1; end; TfrmSLT(Controls[i]).Left:=0+(x-4*p)*185; TfrmSLT(Controls[i]).Top:=p*143; x:=x+1; end; end; end; end; end; end; end; procedure TfrmMLManage_LRCX.initimage(); var i,j:integer; jpg:TJpegImage; myStream: TADOBlobStream; begin j:=length(Mach); if j>0 then begin for i:=0 to j-1 do begin Mach[i].free; end; //Finalize(Mach); end; SetLength(Mach, 0); try with adoqueryPicture do begin close; sql.Clear; sql.Add(' select A.TFID,A.WBID,B.XFID,A.FilesOther,B.FileName,C.* from BP_ZDY C '); sql.Add(' inner join XD_File_TP B on C.SKID =B.SKID'); SQL.Add(' inner join TP_File_TP A on B.CYID=A.WBID '); sql.Add(' where C.BPID='+quotedstr(trim(FBPID))); //ShowMessage(sql.Text); open; end; j:=adoqueryPicture.RecordCount; if j<1 then exit; adoqueryPicture.DisableControls; adoqueryPicture.First; SetLength(Mach, j); with adoqueryPicture do begin First; i:=0; while not eof do begin if triM(adoqueryPicture.fieldbyname('TFID').AsString)<>'' then begin jpg:=TJpegImage.Create(); myStream:=tadoblobstream.Create(tblobfield(adoqueryPicture.fieldbyname('FilesOther')),bmread); jpg.LoadFromStream(myStream); end; Mach[i] := TfrmSLT_PBSK.Create(Self); Mach[i].Name:=trim(adoqueryPicture.fieldbyname('XFID').AsString); Mach[i].Parent := ScrollBox1; Mach[I].Left:=0+410*i; if triM(adoqueryPicture.fieldbyname('TFID').AsString)<>'' then begin Mach[i].Init(adoqueryPicture.fieldbyname('TFID').AsString,adoqueryPicture.fieldbyname('FileName').AsString,jpg); end; i:=i+1; Next; end; end; adoqueryPicture.EnableControls; finally jpg.free; //application.ProcessMessages; end; end; procedure TfrmMLManage_LRCX.ToolButton4Click(Sender: TObject); begin if CDS_Sub.IsEmpty=false then begin Application.MessageBox('已存在面料信息','提示'); exit; end; frmMLMange_ADDCX:=TfrmMLMange_ADDCX.Create(self); with frmMLMange_ADDCX do begin if ShowModal=1 then begin with CDS_Sub do begin Append; FieldByName('BPCode').Value:=CDS_Main.fieldbyname('MLNo').AsString; FieldByName('BPID').Value:=Trim(CDS_Main.fieldbyname('MLID').AsString); FieldByName('BPName').Value:=CDS_Main.fieldbyname('MLName').AsString; FieldByName('BPMF').Value:=CDS_Main.fieldbyname('MLMF').AsString; FieldByName('BPKZ').Value:=CDS_Main.fieldbyname('MLKZ').AsString; post; end; GYLX.Caption:=CDS_Main.fieldbyname('GYLX').AsString; FGYLX:=CDS_Main.fieldbyname('GYLX').AsString; GSNo.Caption:=CDS_Main.fieldbyname('GSNo').AsString; FGSNo:=CDS_Main.fieldbyname('GSNo').AsString; FGYLXName:=CDS_Main.fieldbyname('GYLXName').AsString; FGSName:=CDS_Main.fieldbyname('GYName').AsString; BHCZhu(); end; free; end; end; procedure TfrmMLManage_LRCX.Button2Click(Sender: TObject); begin WriteCxGrid('面料管理1',Tv1,'样品管理'); WriteCxGrid('面料管理2',Tv2,'样品管理'); close; end; procedure TfrmMLManage_LRCX.FormClose(Sender: TObject; var Action: TCloseAction); begin Finalize(Mach1); Finalize(Mach); end; procedure TfrmMLManage_LRCX.Button4Click(Sender: TObject); var i,j,x:Integer; begin i:=0; j:=0; frmBPZDY_PanelCX:=TfrmBPZDY_PanelCX.create(self); with frmBPZDY_PanelCX do begin FColorFlag:=Trim(self.FBPIDSH); FBPID:=Trim(self.FBPID); FMLID:=Trim(self.FCYID); if ShowModal=1 then begin end; free; end; end; procedure TfrmMLManage_LRCX.N1Click(Sender: TObject); var i:Integer; begin //ShowMessage(FPT); FrmBPZdy_YT:=TFrmBPZdy_YT.create(Self); with FrmBPZdy_YT do begin Panel1.Color:=StrToInt('$'+OrdBP_SH.fieldbyname('ColDaiMa').Value); Label1.Caption:=Trim(OrdBP_SH.fieldbyname('PTID').AsString); Label2.Caption:=Trim(OrdBP_SH.fieldbyname('ColNameEng').AsString); Label3.Caption:=Trim(OrdBP_SH.fieldbyname('ColName').AsString); Label4.Caption:=Trim(OrdBP_SH.fieldbyname('ColNameKH').AsString); Label5.Visible:=true; Label5.Caption:=Trim(OrdBP_SH.fieldbyname('ColNo').AsString); if showmodal=1 then begin end; free; end; end; procedure TfrmMLManage_LRCX.Panel42MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin OrdBP_SH.Locate('PTID',TPanel(Sender).Hint,[]); end; procedure TfrmMLManage_LRCX.Button5Click(Sender: TObject); var i,j,x:Integer; begin j:=0; frmBPZDY_Panel:=TfrmBPZDY_Panel.create(self); with frmBPZDY_Panel do begin FColorFlag:=Trim(FBPIDSH); if ShowModal=1 then begin end; free; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select A.*,B.* from RT_PTColor A '); sql.Add('inner join BP_ColZDY B on B.PTID=A.PTID '); sql.Add('where isnull(B.SKID,'''')='''+trim(FBPIDSH)+''' and isnull(B.SKID,'''')<>'''''); sql.Add(' order by cast(B.ColNo as int)'); Open; end; SCreateCDS20(ADOQueryCmd,OrdBP_SH); SInitCDSData20(ADOQueryCmd,OrdBP_SH); initimageSH(); end; procedure TfrmMLManage_LRCX.XYClick(Sender: TObject); var x:integer; begin if my=mz then exit; XY.Enabled:=False; my:=my+1; if my>0 then begin SY.Enabled:=True; end else begin SY.Enabled:=False; end; label554.Caption:=inttostr(my)+'/'+inttostr(mz); initimageSH(); XY.Enabled:=true; end; procedure TfrmMLManage_LRCX.SYClick(Sender: TObject); var x:integer; begin if my=1 then exit; SY.Enabled:=False; my:=my-1; if my