public class BomUtil {
/**
* @param parentPart
* @return
* @throws WTException
* @description 取第一层子部件对象
*/
public static ArrayList<WTPart> getAllChildrenParts(WTPart parentPart) throws WTException {
boolean access = SessionServerHelper.manager.setAccessEnforced(false);
ArrayList<WTPart> childparts = new ArrayList<WTPart>();
try {
ConfigSpec config = new LatestConfigSpec();//最新配置
QueryResult qr = WTPartHelper.service.getUsesWTParts(parentPart, config);
while (qr.hasMoreElements()) {
Persistable[] pts = (Persistable[]) qr.nextElement();
if ((pts instanceof Persistable[]) && (pts[1] instanceof WTPart)) { //数组0 是link关系对象
WTPart childPart = (WTPart) pts[1];
childparts.add(childPart);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
SessionServerHelper.manager.setAccessEnforced(access);
}
return childparts;
}
/**
* @Title:getAllChildPart
* @param part
* @param childList
* @throws Exception
* @description 递归取所有的子部件对象
* @date:2020年1月15日上午10:51:40
*/
public static void getAllChildPart(WTPart part , List<WTPart> childList) throws Exception {
ArrayList<WTPart> allChildrenParts = getAllChildrenParts(part);
childList.addAll(allChildrenParts);
for (WTPart wtPart : allChildrenParts) {
getAllChildPart(wtPart, childList);
}
}
/**
*
* @Title: getNodes
* @Description: TODO(获取参考文档 和 说明文档)
* @param: @param partList
* @param: @param docLists
* @param: @return
* @param: @throws WTException
* @return: List<WTDocument>
* @throws
*/
public static List<WTDocument> getNodes(List<WTPart> partList, List<WTDocument> docLists) throws WTException {
for (WTPart part : partList) {
List<WTDocument> descDocsByPart = PartUtil.getDescDocsByPart(part); //说明文档
if (!StringUtils.isEmpty(descDocsByPart)) {
docLists.addAll(descDocsByPart);
}
List<WTDocumentMaster> refDocMastersByPart = PartUtil.getRefDocMastersByPart(part); //参考文档
if (!StringUtils.isEmpty(refDocMastersByPart)) {
for (WTDocumentMaster object : refDocMastersByPart) {
WTDocument latestVersionByMaster = (WTDocument)CommonUtils.getLatestVersionByMaster(object);
docLists.add(latestVersionByMaster);
}
}
}
return docLists;
}
}
WindChill BOM结构相关
最新推荐文章于 2022-08-27 15:53:08 发布