| 
					
				 | 
			
			
				@@ -1,164 +1,163 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-package nc.pub.filesystem.newui; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.awt.event.ActionEvent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.io.BufferedInputStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.io.ByteArrayOutputStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.io.File; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.io.FileInputStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.io.FileOutputStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.itf.th.IThOcrService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.bs.framework.common.RuntimeEnv; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import javax.swing.AbstractAction; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import javax.swing.Action; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import javax.swing.JFileChooser; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import javax.swing.tree.DefaultMutableTreeNode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import javax.swing.tree.TreePath; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.alibaba.fastjson.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.bs.framework.common.NCLocator; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.bs.logging.Logger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.desktop.ui.WorkbenchEnvironment; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.funcnode.ui.action.AbstractNCAction; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.itf.pu.service.IInvoiceOCRMaintain; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.log.NcLog; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.ui.ml.NCLangRes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.ui.pub.beans.MessageDialog; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.ui.pub.bill.BillCardPanel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.ui.pub.filesystem.FileManageServletClient; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.vo.pub.filesystem.NCFileNode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.vo.pub.lang.UFDate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.vo.pub.lang.UFDouble; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-public class ThUploadAction extends AbstractNCAction { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 *  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	private static final long serialVersionUID = 1L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	private ThFileContentPanel parentpanel ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public ThUploadAction(ThFileContentPanel para){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		parentpanel = para; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		this.putValue(AbstractAction.NAME,NCLangRes.getInstance().getStrByID("sftemp", "UploadAction-0000")/*上传附件*/); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		this.putValue(Action.SHORT_DESCRIPTION, NCLangRes.getInstance().getStrByID("sftemp", "UploadAction-0000")/*上传附件*/); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//		this.putValue(AbstractAction.SMALL_ICON, ClientToolKit.loadImageIcon("images/filesystem/newfolder.png")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public void actionPerformed(ActionEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if (parentpanel.rootNode == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		TreePath path = parentpanel.getPatchTree().getSelectionPath(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if (path == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			path = new TreePath(parentpanel.rootNode.getPath()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		JFileChooser chooser = new JFileChooser(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//要求上传多个文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		chooser.setMultiSelectionEnabled(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if (chooser.showOpenDialog(parentpanel) == JFileChooser.APPROVE_OPTION) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			String pPath = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			if (node instanceof NCFileNode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				pPath = ((NCFileNode) node).getFullPath(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//			File file = chooser.getSelectedFile(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//多文件上传 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			File[] arrfiles = chooser.getSelectedFiles(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			if(arrfiles==null ||arrfiles.length==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				//没有选择文件退出 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			String dsName = WorkbenchEnvironment.getInstance().getLoginBusiCenter().getDataSourceName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			String creator = WorkbenchEnvironment.getInstance().getLoginUser().getCuserid(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			FileInputStream input = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			FileInputStream testinput = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			IThOcrService  ocrservice=(IThOcrService) NCLocator.getInstance().lookup(IThOcrService.class.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				for(File file :arrfiles){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					String fileName = file.getName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					//校验是否同名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					if(parentpanel.CheckTheSameFileName((NCFileNode)node, fileName)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						continue ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					//检查 附件大小 ,文件超过  参数设置的大小不能上传 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					long size =(long)FileBroseConst.getfilelimit()*1024L*1024L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					if(size<file.length()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						MessageDialog.showErrorDlg(parentpanel, NCLangRes.getInstance().getStrByID("sftemp", "UploadAction-0001")/*文件超过限制*/, NCLangRes.getInstance().getStrByID("sftemp", "UploadAction-0002", null, new String[]{fileName})/*{0}大小超过限制不能上传!*/); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						continue ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					input = new FileInputStream(file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					testinput = new FileInputStream(file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//					String absolutePath = file.getAbsolutePath(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//					MessageDialog.showHintDlg(parentpanel, "提示","absolutePath:"+absolutePath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//					String pathww = file.getPath(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//					MessageDialog.showHintDlg(parentpanel, "提示","pathww:"+pathww); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					/***********************发票图片保存到文件夹 home/uploadfile/"+vdef17+"  ****************************/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					BillCardPanel cpanel=parentpanel.editor_.getBillCardPanel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					String vdef17 = (String) cpanel.getHeadItem("vdef17").getValueObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					//add by pcy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					//把附件保存到文件资源管理器 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//					String filepath = ocrservice.UploadFile(vdef17, file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//					String filepath =  ocrservice.getNCHomePath() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//						      +File.separator +"uploadfile" + File.separator+ vdef17; // 文件保存的路径 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//					File folder = new File(filepath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//					if(!folder.exists() && !folder.isDirectory()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//						folder.mkdirs(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//					String newFileName = filepath + File.separator + fileName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//					FileOutputStream outputStream = new FileOutputStream(newFileName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//					FileInputStream fis = new FileInputStream(file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//			        byte[] buffer = new byte[1024]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//			        int len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//			        while ((len = fis.read(buffer)) != -1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//			            outputStream.write(buffer, 0, len); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//			        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//			        outputStream.close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//			        fis.close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					NCFileNode newNode = FileManageServletClient.uploadFile(dsName, pPath, fileName, testinput, creator, file.length()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					if (newNode != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//						NCFileVO  newfilevo = new NCFileVO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//						newfilevo.set 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//						newfilevo.setPath(newpath+newaddfilevo.getFullPath()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//						newfilevo.setCreator(newaddfilevo.getCreator()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//						newfilevo.setTime(newaddfilevo.getTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//						newfilevo.setFileLen(newaddfilevo.getFileLen()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						parentpanel.nodeToFileVO((NCFileNode)node, newNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					//转为byte传输 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					BufferedInputStream bis=new BufferedInputStream(input); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    ByteArrayOutputStream bos=new ByteArrayOutputStream(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					int date=-1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					while ((date = bis.read()) != -1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						bos.write(date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					byte[] 	bytes=	bos.toByteArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					String patch=ocrservice.saveUploadFile(vdef17, fileName, bytes);//保存发票到home里 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} catch (Exception ex) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				Logger.error(ex.getMessage(), ex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				MessageDialog.showErrorDlg(parentpanel, NCLangRes.getInstance().getStrByID("pc", "FileManageUI-000000")/*错误*/,ex.getMessage()/*上传时发生错误!*/); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				//MessageDialog.showErrorDlg(parentpanel, NCLangRes.getInstance().getStrByID("pc", "FileManageUI-000000")/*错误*/,NCLangRes.getInstance().getStrByID("sftemp", "UploadAction-0003")/*上传时发生错误!*/); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} finally { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					if (input != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						input.close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				} catch (Exception e2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+package nc.pub.filesystem.newui;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.awt.event.ActionEvent;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.io.BufferedInputStream;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.io.ByteArrayOutputStream;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.io.File;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.io.FileInputStream;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.io.FileOutputStream;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.itf.th.IThOcrService;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.bs.framework.common.RuntimeEnv;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import javax.swing.AbstractAction;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import javax.swing.Action;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import javax.swing.JFileChooser;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import javax.swing.tree.DefaultMutableTreeNode;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import javax.swing.tree.TreePath;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.alibaba.fastjson.JSONArray;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.alibaba.fastjson.JSONObject;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.bs.framework.common.NCLocator;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.bs.logging.Logger;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.desktop.ui.WorkbenchEnvironment;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.funcnode.ui.action.AbstractNCAction;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.log.NcLog;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.ui.ml.NCLangRes;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.ui.pub.beans.MessageDialog;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.ui.pub.bill.BillCardPanel;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.ui.pub.filesystem.FileManageServletClient;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.vo.pub.filesystem.NCFileNode;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.vo.pub.lang.UFDate;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.vo.pub.lang.UFDouble;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class ThUploadAction extends AbstractNCAction {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/**
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 */
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private static final long serialVersionUID = 1L;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private ThFileContentPanel parentpanel ;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public ThUploadAction(ThFileContentPanel para){
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		parentpanel = para;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		this.putValue(AbstractAction.NAME,NCLangRes.getInstance().getStrByID("sftemp", "UploadAction-0000")/*上传附件*/);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		this.putValue(Action.SHORT_DESCRIPTION, NCLangRes.getInstance().getStrByID("sftemp", "UploadAction-0000")/*上传附件*/);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		this.putValue(AbstractAction.SMALL_ICON, ClientToolKit.loadImageIcon("images/filesystem/newfolder.png"));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Override
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public void actionPerformed(ActionEvent e) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (parentpanel.rootNode == null) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		TreePath path = parentpanel.getPatchTree().getSelectionPath();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (path == null) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			path = new TreePath(parentpanel.rootNode.getPath());
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		JFileChooser chooser = new JFileChooser();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//要求上传多个文件
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		chooser.setMultiSelectionEnabled(true);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (chooser.showOpenDialog(parentpanel) == JFileChooser.APPROVE_OPTION) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			String pPath = "";
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if (node instanceof NCFileNode) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				pPath = ((NCFileNode) node).getFullPath();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			File file = chooser.getSelectedFile();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//多文件上传
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			File[] arrfiles = chooser.getSelectedFiles();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(arrfiles==null ||arrfiles.length==0){
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				//没有选择文件退出
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				return;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			String dsName = WorkbenchEnvironment.getInstance().getLoginBusiCenter().getDataSourceName();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			String creator = WorkbenchEnvironment.getInstance().getLoginUser().getCuserid();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			FileInputStream input = null;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			FileInputStream testinput = null;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			IThOcrService  ocrservice=(IThOcrService) NCLocator.getInstance().lookup(IThOcrService.class.getName());
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			try {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				for(File file :arrfiles){
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					String fileName = file.getName();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					//校验是否同名
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if(parentpanel.CheckTheSameFileName((NCFileNode)node, fileName)){
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						continue ;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					//检查 附件大小 ,文件超过  参数设置的大小不能上传
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					long size =(long)FileBroseConst.getfilelimit()*1024L*1024L;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if(size<file.length()){
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						MessageDialog.showErrorDlg(parentpanel, NCLangRes.getInstance().getStrByID("sftemp", "UploadAction-0001")/*文件超过限制*/, NCLangRes.getInstance().getStrByID("sftemp", "UploadAction-0002", null, new String[]{fileName})/*{0}大小超过限制不能上传!*/);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						continue ;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					input = new FileInputStream(file);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					testinput = new FileInputStream(file);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//					String absolutePath = file.getAbsolutePath();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//					MessageDialog.showHintDlg(parentpanel, "提示","absolutePath:"+absolutePath);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//					String pathww = file.getPath();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//					MessageDialog.showHintDlg(parentpanel, "提示","pathww:"+pathww);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					/***********************发票图片保存到文件夹 home/uploadfile/"+vdef17+"  ****************************/
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					BillCardPanel cpanel=parentpanel.editor_.getBillCardPanel();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					String vdef17 = (String) cpanel.getHeadItem("vdef17").getValueObject();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					//add by pcy
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					//把附件保存到文件资源管理器
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//					String filepath = ocrservice.UploadFile(vdef17, file);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//					String filepath =  ocrservice.getNCHomePath()
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//						      +File.separator +"uploadfile" + File.separator+ vdef17; // 文件保存的路径
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//					File folder = new File(filepath);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//					if(!folder.exists() && !folder.isDirectory()){
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//						folder.mkdirs();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//					}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//					String newFileName = filepath + File.separator + fileName;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//					FileOutputStream outputStream = new FileOutputStream(newFileName);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//					FileInputStream fis = new FileInputStream(file);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			        byte[] buffer = new byte[1024];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			        int len;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			        while ((len = fis.read(buffer)) != -1) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			            outputStream.write(buffer, 0, len);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			        outputStream.close();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			        fis.close();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					NCFileNode newNode = FileManageServletClient.uploadFile(dsName, pPath, fileName, testinput, creator, file.length());
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if (newNode != null) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//						NCFileVO  newfilevo = new NCFileVO();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//						newfilevo.set
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//						newfilevo.setPath(newpath+newaddfilevo.getFullPath());
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//						newfilevo.setCreator(newaddfilevo.getCreator());
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//						newfilevo.setTime(newaddfilevo.getTime());
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//						newfilevo.setFileLen(newaddfilevo.getFileLen());
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						parentpanel.nodeToFileVO((NCFileNode)node, newNode);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					//转为byte传输
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					BufferedInputStream bis=new BufferedInputStream(input);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ByteArrayOutputStream bos=new ByteArrayOutputStream();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					int date=-1;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					while ((date = bis.read()) != -1) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						bos.write(date);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					byte[] 	bytes=	bos.toByteArray();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					String patch=ocrservice.saveUploadFile(vdef17, fileName, bytes);//保存发票到home里
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} catch (Exception ex) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				Logger.error(ex.getMessage(), ex);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				MessageDialog.showErrorDlg(parentpanel, NCLangRes.getInstance().getStrByID("pc", "FileManageUI-000000")/*错误*/,ex.getMessage()/*上传时发生错误!*/);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				//MessageDialog.showErrorDlg(parentpanel, NCLangRes.getInstance().getStrByID("pc", "FileManageUI-000000")/*错误*/,NCLangRes.getInstance().getStrByID("sftemp", "UploadAction-0003")/*上传时发生错误!*/);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} finally {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				try {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if (input != null) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						input.close();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} catch (Exception e2) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}
 
			 |