/**
* 上传本地附件至文档附件
* @param localFile
* @param branchId
* @throws Exception
*/
public String uploadFiles(File localFile,String branchId,String tetx_name,String node)
throws Exception {
String docUrl ="";
WTDocument document = CtDocUtil.getDocumentByBranchId(branchId);
//设置主内容
ApplicationData appData = ApplicationData.newApplicationData(document);
appData.setRole(ContentRoleType.SECONDARY);// 附件位置
appData = ContentServerHelper.service.updateContent(document, appData, localFile.getAbsolutePath());
appData = (ApplicationData) PersistenceHelper.manager.save(appData);
// appData = (ApplicationData)PersistenceHelper.manager.refresh(appData);
String fileNameAppOld = appData.getFileName();
// String fileName = fileNameApp.substring(0, fileNameApp.lastIndexOf(".")); // 获取名称当文档名称
// docUrl = CtFormatUtil.getURL(document, fileNameApp);
// String fileNameApp = fileNameAppOld.replaceAll("\\+", "%2B"); // 特殊字符处理
String fileNameApp = CtSwUtils.urlStr2Ascii(fileNameAppOld); // 特殊字符处理
docUrl = "<a href=\"/Windchill/ptc1/delivery/dowmLoadDoc?docNumber=" + document.getNumber()+"&fileName="+fileNameApp+"\" title=\"点击下载\" target=\"_blank\" >" + fileNameApp + "</a>";
docUrl = docUrl+" <a title='删除该附件' href='javascript:;' class =\""+node+"\" style ='color:red;text-decoration:none;' onclick='deleteFilefield(\""+branchId+"\",\""+fileNameAppOld+"\",\""+tetx_name+"\",\""+node+"\")'>☒</a>";
// docUrl = "<span style ='border:1px solid #0000CC'>"+docUrl+"</span>";
return docUrl;
}
/**
* 删除文档附件
* @param localFile
* @param branchId
* @throws Exception
*/
public void deleteFiles(String branchId,String fileName)throws Exception {
WTDocument document = CtDocUtil.getDocumentByBranchId(branchId);
// 单个主要内容 ContentRoleType.PRIMARY 附件 ContentRoleType.SECONDARY
QueryResult qr = ContentHelper.service.getContentsByRole(document, ContentRoleType.SECONDARY);
while(qr !=null && qr.hasMoreElements()){
ContentItem item = (ContentItem) qr.nextElement();
if (item instanceof ApplicationData) {
ApplicationData appData = (ApplicationData)item;
System.out.println("Attachment File: " + appData.getFileName());
String appDataFileName =appData.getFileName();
if(CtFormatUtil.hasContent(appDataFileName) && appDataFileName.equals(fileName)) {
appData = (ApplicationData)PersistenceHelper.manager.delete(appData);
}
}
}
document = (WTDocument)PersistenceHelper.manager.refresh(document);
}
/**
* 获取文档附件
* @param docNumber
* @param fileName
* @return
* @throws Exception
*/
public ApplicationData getApplicationData(String docNumber,String fileName) throws Exception {
WTDocument document = CtDocUtil.getDocumentByNumber(docNumber);
if(document != null) {
// 单个主要内容 ContentRoleType.PRIMARY 附件 ContentRoleType.SECONDARY
QueryResult qr = ContentHelper.service.getContentsByRole(document, ContentRoleType.SECONDARY);
while(qr !=null && qr.hasMoreElements()){
ContentItem item = (ContentItem) qr.nextElement();
if (item instanceof ApplicationData) {
ApplicationData appData = (ApplicationData)item;
System.out.println("Attachment File: " + appData.getFileName());
String appDataFileName =appData.getFileName();
if(CtFormatUtil.hasContent(appDataFileName) && appDataFileName.equals(fileName)) {
return appData;
}
}
}
}
return null;
}