144 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
		
		
			
		
	
	
			144 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
|   | unit U_LabelPrint; | |||
|  | 
 | |||
|  | interface | |||
|  | 
 | |||
|  | uses | |||
|  |   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, | |||
|  |   Dialogs, DB, ADODB, RM_e_Graphic, RM_e_bmp, RM_BarCode, RM_System, | |||
|  |   RM_Common, RM_Class, RM_GridReport, RM_e_Xls, RM_Dataset, StdCtrls, | |||
|  |   ExtCtrls; | |||
|  | 
 | |||
|  | type | |||
|  |   TfrmLabelPrint = class(TForm) | |||
|  |     ADOQueryMain: TADOQuery; | |||
|  |     ADOConnection1: TADOConnection; | |||
|  |     RMXLSExport1: TRMXLSExport; | |||
|  |     RMGridReport1: TRMGridReport; | |||
|  |     RMBarCodeObject1: TRMBarCodeObject; | |||
|  |     RMBMPExport1: TRMBMPExport; | |||
|  |     RMDS_Main: TRMDBDataSet; | |||
|  |     ADOQueryTmp: TADOQuery; | |||
|  |     Button1: TButton; | |||
|  |     ADOQueryCust: TADOQuery; | |||
|  |     Panel1: TPanel; | |||
|  |     procedure FormCreate(Sender: TObject); | |||
|  |     procedure Button1Click(Sender: TObject); | |||
|  |     procedure FormClose(Sender: TObject; var Action: TCloseAction); | |||
|  |   private | |||
|  |     procedure InitDataSetDictionary(); | |||
|  | //    procedure InitVarDictionary();
 | |||
|  |     procedure OpenLabel(); | |||
|  |   public | |||
|  |     fLabelId:string;     //<2F><>ǩ<EFBFBD><C7A9>¼Id;
 | |||
|  |     fKeyNo:string;       //
 | |||
|  |     fCustomNo:string;    //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>
 | |||
|  |     fLabelCopys:integer; //<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>
 | |||
|  |     fIsPreviewPrint:Boolean; | |||
|  |     FFCDFlag:String; | |||
|  |     procedure DoPrintLabel(); | |||
|  |   end; | |||
|  | 
 | |||
|  | var | |||
|  |   frmLabelPrint: TfrmLabelPrint; | |||
|  | 
 | |||
|  | implementation | |||
|  | uses | |||
|  |   U_DataLink; | |||
|  | {$R *.dfm} | |||
|  | ////////////////////////////////////////////////////////////////////
 | |||
|  |   //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>
 | |||
|  | ////////////////////////////////////////////////////////////////////
 | |||
|  | procedure TfrmLabelPrint.DoPrintLabel(); | |||
|  | begin | |||
|  |   InitDataSetDictionary(); | |||
|  |   OpenLabel(); | |||
|  | end; | |||
|  | 
 | |||
|  | procedure TfrmLabelPrint.FormCreate(Sender: TObject); | |||
|  | begin | |||
|  |   try | |||
|  |     with ADOConnection1 do | |||
|  |     begin | |||
|  |       Connected:=false; | |||
|  |       ConnectionString:=DConString; | |||
|  |       Connected:=true; | |||
|  |     end; | |||
|  |   Except | |||
|  |     application.MessageBox('<27><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><><EFBFBD><EFBFBD>',mb_Ok+ MB_ICONERROR); | |||
|  |   end; | |||
|  | end; | |||
|  | /////////////////////////////////////////////////
 | |||
|  |   //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ر<EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>
 | |||
|  | /////////////////////////////////////////////////
 | |||
|  | procedure TfrmLabelPrint.InitDataSetDictionary(); | |||
|  | begin | |||
|  |   try | |||
|  |     with ADOQueryMain do | |||
|  |     begin | |||
|  |       close; | |||
|  |       sql.Clear ; | |||
|  |       sql.Add('select RTrim(AA.XJID) XJID,RTrim(Cast(AA.XJSJKZ as varchar(20))) XJSJKZ,RTrim(cast(Cast(AA.XJFK*10 as int) as varchar(20))) XJFK,RTrim(B.OrderNo)+'''+Trim(FFCDFlag)+''' OrderNo'); | |||
|  |       sql.Add(',Rtrim(C.SWFBColor) SWFBColor, YLPB=dbo.F_Get_WFBOrder_SubStr(C.SubId,''YLPBSZ'')'); | |||
|  |       sql.Add(',Rtrim(Cast(AA.XJlen as varchar(20))) XJlen,Rtrim(Cast(AA.XJMaoZ as varchar(20))) XJMaoZ'); | |||
|  |       sql.Add(',Rtrim(Cast(AA.XJFree as varchar(20))) XJFree,Rtrim(Cast( Cast(AA.XJlen*AA.XJFK/100 as int) as varchar(20))) XJPFM'); | |||
|  |       sql.Add(',Rtrim(Cast(Cast(C.SWFBKZ as int) as varchar(20))) SWFBKZ'); | |||
|  |       sql.Add(',Rtrim(Cast(Cast(AA.XJJt as int) as varchar(20))) XJJt'); | |||
|  |       sql.Add(',RTrim(B.LbEngName) LbEngName'); | |||
|  |       sql.Add(',RTrim(C.SWFBCodeName) SWFBCodeName from WFB_XJJY AA '); | |||
|  |       sql.add(' inner join WFB_MJJY A on AA.MJID=A.MJID') ; | |||
|  |       sql.add(' 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 AA.XJID='''+Trim(fKeyNo)+''''); | |||
|  |       OPen; | |||
|  |     end; | |||
|  |     with RMGridReport1 do | |||
|  |     begin | |||
|  |       Dictionary.FieldAliases.Clear; | |||
|  |       Dictionary.FieldAliases['RMDS_Main']:= '<27><>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>'; | |||
|  |    //   Dictionary.FieldAliases['RMDS_Main."BarCodeNo"']:='<27><>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>';
 | |||
|  |     end; | |||
|  |   except | |||
|  |     application.MessageBox('<27><><EFBFBD>ر<EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ',0); | |||
|  |   end; | |||
|  | end; | |||
|  | //////////////////////////////////////////////////////////
 | |||
|  | ////////////////////////////////////////////////////////
 | |||
|  | procedure TfrmLabelPrint.OpenLabel(); | |||
|  | begin | |||
|  |   with ADOQueryTmp do | |||
|  |   begin | |||
|  |     close; | |||
|  |     sql.Clear ; | |||
|  |     sql.Add('select labelfile from P_Label A'); | |||
|  |     sql.Add('where labelId='''+fLabelId+''''); | |||
|  |     Open; | |||
|  |     if fieldbyname('labelFile').IsNull then | |||
|  |     begin | |||
|  |       application.MessageBox('δ<>ҵ<EFBFBD>Ҫ<EFBFBD><D2AA>ӡ<EFBFBD>ı<EFBFBD>ǩ<EFBFBD><C7A9>Ϣ<EFBFBD><CFA2>¼!','<27><>ʾ<EFBFBD><CABE>Ϣ',0); | |||
|  |       self.Close ; | |||
|  |       exit; | |||
|  |     end; | |||
|  |     RMGridReport1.LoadFromBlobField(tblobfield(fieldbyname('labelFile'))); | |||
|  |  //   InitVarDictionary();
 | |||
|  |     //fIsPreviewPrint:=true;
 | |||
|  |     if fIsPreviewPrint then | |||
|  |       RMGridReport1.ShowReport | |||
|  |     else | |||
|  |       RMGridReport1.PrintReport ; | |||
|  |     close; | |||
|  |   end; | |||
|  | 
 | |||
|  | end; | |||
|  | procedure TfrmLabelPrint.Button1Click(Sender: TObject); | |||
|  | begin | |||
|  |   DoPrintLabel(); | |||
|  | end; | |||
|  | 
 | |||
|  | procedure TfrmLabelPrint.FormClose(Sender: TObject; | |||
|  |   var Action: TCloseAction); | |||
|  | begin | |||
|  |   Action:=caFree; | |||
|  | end; | |||
|  | 
 | |||
|  | end. |