Commit ae6ca9d4 authored by shyWang's avatar shyWang

PDM前端改造

添加文件夹 接口
parent b138cff8
......@@ -9,6 +9,7 @@ import com.yonde.basedata.vo.IdVO;
import com.yonde.basedata.vo.lc.LifecycleTemplateVO;
import com.yonde.change.service.DXChangeOrderService;
import com.yonde.common.ObjectsUtil;
import com.yonde.common.entity.DXFolder;
import com.yonde.part.vo.DxPartDescribeLinkVO;
import com.yonde.part.vo.DxPartReferenceLinkVO;
import com.yonde.part.vo.DxUsageLinkVO;
......@@ -116,6 +117,22 @@ public class AbstractBaseController {
return list;
}
@GetMapping({"/folder/getFolderList"})
//@ApiOperation("获取副本")
public DXFolder getWorkingCopy(@RequestParam String containerName, @RequestParam(value = "id", required = false) Long id, HttpServletRequest request) {
DXFolder dxFolder = null;
try {
if (ObjectsUtil.isNull(id) || id == 0) {
dxFolder = BaseSearchService.getFolderList(containerName);
} else {
dxFolder = BaseSearchService.getFolderList(containerName, id);
}
} catch (Exception e) {
e.printStackTrace();
}
return dxFolder;
}
public SearchItems getPermSearchItems(BaseSearchCondition permSearchParams) {
SearchItems searchItems = new SearchItems();
searchItems.setOperator(SearchItems.BooleanOperator.AND);
......
......@@ -44,7 +44,7 @@ public class SearchOperatorEnumUtil {
public static final String DX_CONTEXT_NAME = "dxContext-name";
public static final String DX_FOLDER_ID = "folderName";
public static final String DX_FOLDER_ID = "folderId";
public static final String DX_SUBTYPE_NAME = "subTypeName";
......
......@@ -13,6 +13,8 @@ import com.yonde.change.vo.ecn.DxChangeNoticeVo;
import com.yonde.change.vo.ecr.DxChangeRequestVo;
import com.yonde.change.vo.pr.DxProblemReportVo;
import com.yonde.common.*;
import com.yonde.common.entity.DXFolder;
import com.yonde.common.util.FolderUtil;
import com.yonde.doc.vo.DxDocumentVO;
import com.yonde.part.vo.DxPartVO;
import org.apache.commons.collections.CollectionUtils;
......@@ -30,6 +32,9 @@ import wt.doc.WTDocument;
import wt.epm.EPMDocument;
import wt.fc.PagingQueryResult;
import wt.fc.WTObject;
import wt.folder.Cabinet;
import wt.folder.Folder;
import wt.folder.SubFolder;
import wt.log4j.LogR;
import wt.method.RemoteAccess;
import wt.method.RemoteMethodServer;
......@@ -37,6 +42,7 @@ import wt.part.WTPart;
import wt.session.SessionContext;
import wt.session.SessionHelper;
import wt.session.SessionServerHelper;
import wt.util.WTException;
import wt.util.WTProperties;
import wt.vc.baseline.ManagedBaseline;
import wt.vc.wip.WorkInProgressHelper;
......@@ -311,4 +317,59 @@ public class BaseSearchService <V extends IdVO> implements RemoteAccess {
}
}
/**
* 获取文件件目录
* @param containerName
* @return
* @throws Exception
*/
public static DXFolder getFolderList(String containerName) throws Exception {
if (!RemoteMethodServer.ServerFlag) {
return (DXFolder)RemoteMethodServer.getDefault().invoke("getFolderList", BaseSearchService.class.getName(), null,
new Class[] { String.class },
new Object[] { containerName });
}
CommonUtil.initSessionContext(null);
Cabinet rootFolder = FolderUtil.getRootFolder(containerName);
return getDxFolder(rootFolder);
}
/**
* 获取子文件夹目录
* @param containerName
* @param id
* @return
* @throws Exception
*/
public static DXFolder getFolderList(String containerName, Long id) throws Exception {
if (!RemoteMethodServer.ServerFlag) {
return (DXFolder)RemoteMethodServer.getDefault().invoke("getFolderList", BaseSearchService.class.getName(), null,
new Class[] { String.class, Long.class },
new Object[] { containerName, id });
}
CommonUtil.initSessionContext(null);
Folder folder = FolderUtil.getFolder("OR:wt.folder.SubFolder:" + id);
if (ObjectsUtil.isNull(folder)) {
folder = FolderUtil.getRootFolder(containerName);
}
return getDxFolder(folder);
}
private static DXFolder getDxFolder(Folder folder) throws WTException {
DXFolder dxFolder = new DXFolder(folder);
List<SubFolder> subFolders = FolderUtil.getSubFolders(folder, false);
if (CollectionUtils.isEmpty(subFolders)) {
List<DXFolder> subList = new ArrayList<DXFolder>();
for (SubFolder subFolder : subFolders) {
subList.add(new DXFolder(subFolder));
}
dxFolder.setChildren(subList);
} else {
dxFolder.setLeaf(true);
}
return dxFolder;
}
}
package com.yonde.basedata.vo;
import com.yonde.doc.vo.DxDocumentVO;
import wt.fc.PersistenceHelper;
import wt.folder.Folder;
import java.util.List;
......@@ -8,10 +10,19 @@ public class DxDocumentFolderVO extends IdVO{
private String fullPath;
private String name;
private Boolean isLeaf;
private Boolean isLeaf = true;
private List<DxDocumentVO> dxDocuments;
public DxDocumentFolderVO() {
}
public DxDocumentFolderVO(Folder folder) {
this.id = PersistenceHelper.getObjectIdentifier(folder).getId();
this.name = folder.getName();
this.fullPath = folder.getFolderPath();
}
public String getFullPath() {
return fullPath;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment