unit U_MLMangeRS_CX; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB, cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls, cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid, cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP,ShellAPI,IniFiles, cxCheckBox, cxTextEdit, cxButtonEdit, Menus, cxLookAndFeelPainters, cxButtons, cxImage; type TfrmMLMangeRS_CX = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; DataSource1: TDataSource; ADOQueryTree: TADOQuery; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; cxGridPopupMenu1: TcxGridPopupMenu; Panel1: TPanel; ToolButton2: TToolButton; DataSource2: TDataSource; ADOQueryMain: TADOQuery; CDS_Main: TClientDataSet; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; ODPat: TOpenDialog; IdFTP1: TIdFTP; SaveDialog1: TSaveDialog; DataSource3: TDataSource; cxGridPopupMenu2: TcxGridPopupMenu; Order_GX: TClientDataSet; DataSource4: TDataSource; cxGridPopupMenu3: TcxGridPopupMenu; ML_Col: TClientDataSet; DataSource5: TDataSource; cxGridPopupMenu4: TcxGridPopupMenu; CDS_Sub: TClientDataSet; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; cxGridPopupMenu5: TcxGridPopupMenu; DataSource6: TDataSource; Ord_HX: TClientDataSet; ADOQuery1: TADOQuery; TCK: TToolButton; Panel5: TPanel; Label2: TLabel; MLNo: TEdit; Label1: TLabel; Label4: TLabel; MLName: TEdit; GYLXName: TEdit; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1MLNo: TcxGridDBColumn; v1MLName: TcxGridDBColumn; v1MLMF: TcxGridDBColumn; v1MLKZ: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1GYLXName: TcxGridDBColumn; v1SKID: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; Label3: TLabel; TWSDY: TToolButton; ADOQueryPrint: TADOQuery; CDS_Print: TClientDataSet; Label7: TLabel; DYID: TEdit; v1ColNo: TcxGridDBColumn; v1ColNamekh: TcxGridDBColumn; TSsel: TToolButton; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure cxDBTreeList1DblClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure MLNoChange(Sender: TObject); procedure TV4CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure Tv1DblClick(Sender: TObject); procedure TCKClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure TWSDYClick(Sender: TObject); procedure DYIDKeyPress(Sender: TObject; var Key: Char); procedure TSselClick(Sender: TObject); private { Private declarations } PState:Integer; FCPID,FTopID:String; procedure InitTree(); procedure InitGrid(); procedure ReadINIFile(); procedure ButtonColorCSH(); public canshu1:string; { Public declarations } end; var frmMLMangeRS_CX: TfrmMLMangeRS_CX; implementation uses U_DataLink,U_RTFun,U_FileUp,U_MLManage_LRRS_ColCX; {$R *.dfm} procedure TfrmMLMangeRS_CX.InitTree(); begin end; procedure TfrmMLMangeRS_CX.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; SQL.Clear; SQL.Add('select *,ColNo=cast('''' as varchar(50)),ColNamekh=cast('''' as varchar(60)),PTID=cast('''' as varchar(60)) '); sql.Add(',SKID=(select B.SKID from BP_ZDY B where B.BPID=A.MBPID)'); sql.Add(',BPCode=(select B.BPCode from BP_ZDY B where B.BPID=A.MBPID)'); sql.Add(' from ML_Manage A '); sql.Add(' where isnull(MLType,'''')=''染色面料'' '); Open; end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmMLMangeRS_CX.FormDestroy(Sender: TObject); begin frmMLMangeRS_CX:=nil; end; procedure TfrmMLMangeRS_CX.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmMLMangeRS_CX.TBCloseClick(Sender: TObject); begin WriteCxGrid('染色面料',Tv1,'样品管理'); Close; end; procedure TfrmMLMangeRS_CX.FormShow(Sender: TObject); begin InitGrid(); ReadCxGrid('染色面料',Tv1,'样品管理'); if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); end; end; procedure TfrmMLMangeRS_CX.cxDBTreeList1DblClick(Sender: TObject); begin InitGrid(); end; procedure TfrmMLMangeRS_CX.TBRafreshClick(Sender: TObject); begin InitGrid(); if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); end; end; procedure TfrmMLMangeRS_CX.ToolButton2Click(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); end; end; procedure TfrmMLMangeRS_CX.MLNoChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel5,1,2)); SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); end; end; procedure TfrmMLMangeRS_CX.ReadINIFile(); var programIni:Tinifile; //配置文件名 FileName:string; begin FileName:=ExtractFilePath(Paramstr(0))+'SYSTEMSET.INI'; programIni:=Tinifile.create(FileName); server:=programIni.ReadString('SERVER','服务器地址','127.0.0.1'); programIni.Free; end; procedure TfrmMLMangeRS_CX.TV4CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin //if CDS_Main.FieldByName('MLType').AsString='复合' then begin with ADOQuery1 do begin Close; SQL.Clear; sql.Add('select * from BP_ZDY_Sub '); sql.Add('where BPCode='''+Trim(CDS_Sub.Fieldbyname('MLDLNo').AsString)+''' and BPflag=''SHK'''); Open; end; SCreateCDS20(ADOQuery1,ML_Col); SInitCDSData20(ADOQuery1,ML_Col); with ADOQuery1 do begin Close; SQL.Clear; sql.Add('select A.*,B.* from BP_ZDY_Sub A '); Sql.Add('inner join KH_Zdy_Attachment B on A.HXATID=B.ATID and B.Type=''CPHX'''); sql.Add(' where A.BPCode='''+trim(CDS_Sub.Fieldbyname('DLHXK').AsString)+''''); open; end; SCreateCDS20(ADOQuery1,Ord_HX); SInitCDSData20(ADOQuery1,Ord_HX); end; end; procedure TfrmMLMangeRS_CX.Tv1DblClick(Sender: TObject); begin TCK.Click; end; procedure TfrmMLMangeRS_CX.TCKClick(Sender: TObject); begin try frmMLManage_LRRS_CX:=TfrmMLManage_LRRS_CX.Create(Application); with frmMLManage_LRRS_CX do begin FCYID:=Trim(Self.CDS_Main.fieldbyname('MLID').AsString); FGYName:='染色'; viewFlag:=True; if ShowModal=1 then begin with CDS_Main do begin edit; FieldByName('ColNo').Value:=Trim(OrdBP_SH.fieldbyname('ColNo').AsString); FieldByName('ColNamekh').Value:=Trim(OrdBP_SH.fieldbyname('ColNamekh').AsString); FieldByName('PTID').Value:=Trim(OrdBP_SH.fieldbyname('PTID').AsString); end; TSsel.Click; end; end; finally frmMLManage_LRRS_CX.Free; end; end; procedure TfrmMLMangeRS_CX.ButtonColorCSH(); begin end; procedure TfrmMLMangeRS_CX.FormCreate(Sender: TObject); begin canshu1:=Trim(DParameters1); end; procedure TfrmMLMangeRS_CX.TWSDYClick(Sender: TObject); 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(CDS_Main.fieldbyname('MLID').AsString)+''''); sql.Add(' and DYType=''面料'''); //ShowMessage(sql.Text); 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(CDS_Main.fieldbyname('MLID').AsString); FieldByName('TFID').Value:=Trim(CDS_Main.fieldbyname('SKID').AsString); FieldByName('DYType').Value:='面料'; FieldByName('BQType').Value:='染色面料标签'; 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(CDS_Main.fieldbyname('MLID').AsString); FieldByName('TFID').Value:=Trim(CDS_Main.fieldbyname('SKID').AsString); FieldByName('BQType').Value:='染色面料标签'; post; end; //打印 fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\染色面料标签.rmf'; with ADOQueryPrint do begin Close; sql.Clear; sql.Add('select A.*,B.*,C.DYID,D.ColNo colorNo,D.ColNameKH colorName,B.ColNameEng colorNameEng '); sql.Add('from BP_DY C '); sql.Add('inner join ML_Manage A on A.MLID=C.MLID '); sql.add('left join BP_ZDY BP on A.MBPID=BP.BPID '); sql.Add('left join BP_ColZDY D on D.PTID=C.TFID and BP.SKID=D.SKID '); sql.Add('left join RT_PTColor B on B.PTID=D.PTID '); sql.Add(' Where C.DYID='''+Trim(maxno)+''''); //ShowMessage(sql.Text); 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 TfrmMLMangeRS_CX.DYIDKeyPress(Sender: TObject; var Key: Char); begin if Key=#13 then begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; sql.Add('select A.*,B.*,C.DYID,D.ColNo colorNo,D.ColNameKH colorName,B.ColNameEng colorNameEng '); sql.Add(',D.ColNo,D.ColNameKH,B.ColNameEng '); sql.Add('from BP_DY C '); sql.Add('inner join ML_Manage A on A.MLID=C.MLID '); sql.add('left join BP_ZDY BP on A.MBPID=BP.BPID '); sql.Add('left join BP_ColZDY D on D.PTID=C.TFID and BP.SKID=D.SKID '); sql.Add('left join RT_PTColor B on B.PTID=D.PTID '); sql.Add(' Where C.DYID='''+Trim(DYID.Text)+''''); //ShowMessage(sql.Text); Open; end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); DYID.Text:=''; finally ADOQueryMain.EnableControls; end; end; end; procedure TfrmMLMangeRS_CX.TSselClick(Sender: TObject); begin ModalResult:=1; end; end.