Commit c9003773 authored by hanson.yao's avatar hanson.yao

cadPro 接口优化

parent d36c0aeb
[ [
{ {
"comment": "GACE UAT Server", "comment": "615 Server",
"serverAddress": "http://192.168.1.240/Windchill/extRest/", "serverAddress": "http://192.168.1.240/Windchill/extRest/",
"workspace": "D:\\CADProTestWorkspace", "workspace": "D:\\CATIA_WORK",
"type": 0, "type": 0,
"sort": 1, "sort": 1,
"code": "77d6cf9e-6527-4f38-ae8e-87bd744e405d", "code": "77d6cf9e-6527-4f38-ae8e-87bd744e405d",
...@@ -15,9 +15,9 @@ ...@@ -15,9 +15,9 @@
} }
}, },
{ {
"comment": "GACE Prod Server", "comment": "615 Server",
"serverAddress": "http://192.168.1.240/Windchill/extRest/", "serverAddress": "http://192.168.1.240/Windchill/extRest/",
"workspace": "D:\\CADProWorkspace", "workspace": "D:\\CATIA_WORK",
"type": 0, "type": 0,
"sort": 2, "sort": 2,
"code": "1111a947-b018-4c24-9f32-24c9fab5d37e", "code": "1111a947-b018-4c24-9f32-24c9fab5d37e",
......
{
"产品代号": "productCode",
"材料": "material",
"重量": "singleWeight",
"重量代码": "weightCode",
"物品码": "materialCode",
"零部件类型": "part_type"
}
\ No newline at end of file
package com.yonde.cadpro.checker; package com.yonde.cadpro.checker;
import com.yonde.cadpro.CADProConstants; import com.yonde.cadpro.CADProConstants;
import com.yonde.common.CommonUtil; import com.yonde.common.CommonUtil;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
...@@ -59,10 +60,10 @@ public abstract class AbstractCADProChecker implements CADProChecker { ...@@ -59,10 +60,10 @@ public abstract class AbstractCADProChecker implements CADProChecker {
throw new WTException("选中节点获取对象异常,请确认:" throw new WTException("选中节点获取对象异常,请确认:"
+ StringUtils.join(invalidIds, CADProConstants.COMMA)); + StringUtils.join(invalidIds, CADProConstants.COMMA));
} }
if (invalidTypeIds.size() > 0) { //if (invalidTypeIds.size() > 0) {
throw new WTException("选中节点对象类型非法,请确认:" // throw new WTException("选中节点对象类型非法,请确认:"
+ StringUtils.join(invalidTypeIds, CADProConstants.COMMA)); // + StringUtils.join(invalidTypeIds, CADProConstants.COMMA));
} //}
if (selectedNodes.size() == 0) { if (selectedNodes.size() == 0) {
throw new WTException("获取选中节点异常,请确认!"); throw new WTException("获取选中节点异常,请确认!");
......
...@@ -3,7 +3,6 @@ package com.yonde.cadpro.checker.impl; ...@@ -3,7 +3,6 @@ package com.yonde.cadpro.checker.impl;
import com.yonde.cadpro.CADProConstants; import com.yonde.cadpro.CADProConstants;
import com.yonde.cadpro.checker.AbstractCADProChecker; import com.yonde.cadpro.checker.AbstractCADProChecker;
import com.yonde.cadpro.config.CADProConfigPropertiesUtil; import com.yonde.cadpro.config.CADProConfigPropertiesUtil;
import com.yonde.cadpro.util.CADProUtil;
import com.yonde.cadpro.util.EPMUtil; import com.yonde.cadpro.util.EPMUtil;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
...@@ -46,10 +45,10 @@ public class NewOpenChecker extends AbstractCADProChecker { ...@@ -46,10 +45,10 @@ public class NewOpenChecker extends AbstractCADProChecker {
} }
//类型校验 //类型校验
String typeDisplay = CADProUtil.getPartDisplayType(wto); //String typeDisplay = CADProUtil.getPartDisplayType(wto);
if (!allowTypes.contains(typeDisplay)) { //if (!allowTypes.contains(typeDisplay)) {
invalidTypeObjs.add(wto.getDisplayIdentity().toString()); // invalidTypeObjs.add(wto.getDisplayIdentity().toString());
} //}
} }
//if (invalidTypeObjs.size() > 0) { //if (invalidTypeObjs.size() > 0) {
......
...@@ -4,9 +4,12 @@ import com.yonde.basedata.entity.api.ApiResult; ...@@ -4,9 +4,12 @@ import com.yonde.basedata.entity.api.ApiResult;
import com.yonde.basedata.search.SearchQueryCondition; import com.yonde.basedata.search.SearchQueryCondition;
import com.yonde.cadpro.bean.*; import com.yonde.cadpro.bean.*;
import com.yonde.cadpro.config.CADProConfigPropertiesUtil; import com.yonde.cadpro.config.CADProConfigPropertiesUtil;
import com.yonde.cadpro.config.CADProSettingTypeEnum;
import com.yonde.cadpro.config.DxCADProSetting;
import com.yonde.cadpro.service.CADProService; import com.yonde.cadpro.service.CADProService;
import com.yonde.cadpro.service.CadCheckService; import com.yonde.cadpro.service.CadCheckService;
import com.yonde.cadpro.util.Base64Util; import com.yonde.cadpro.util.Base64Util;
import com.yonde.cadpro.util.CADProUtil;
import com.yonde.context.vo.SelectOption; import com.yonde.context.vo.SelectOption;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import wt.util.WTException; import wt.util.WTException;
...@@ -164,24 +167,12 @@ public class CADProController { ...@@ -164,24 +167,12 @@ public class CADProController {
public ApiResult<List<SelectOption>> bomViewOptions() throws Exception { public ApiResult<List<SelectOption>> bomViewOptions() throws Exception {
return ApiResult.ok(CADProConfigPropertiesUtil.getBOMViews(SelectOption.class), "success"); return ApiResult.ok(CADProConfigPropertiesUtil.getBOMViews(SelectOption.class), "success");
} }
//
//@GetMapping("/config/cadProSetting") @GetMapping("/config/cadProSetting")
//public ApiResult<List<DxCADProSetting>> getCADProSettings(@RequestParam String settingType) { public ApiResult<List<DxCADProSetting>> getCADProSettings(@RequestParam String settingType) {
// try { CADProSettingTypeEnum.valueOf(settingType);
// log.debug("getCADProSettings settingType : " + settingType); return ApiResult.ok(CADProUtil.getCADProSettings(settingType), "查询成功");
// try { }
// CADProSettingTypeEnum.valueOf(settingType);
// } catch (Exception e) {
// log.error("getCADProSettings CADProSettingTypeEnum error...", e);
// throw new WTException("配置类型非法,请确认!");
// }
// List<DxCADProSetting> result = CADProUtil.getCADProSettings(settingType);
// return ApiResult.ok(result, "查询成功");
// } catch (Exception e) {
// log.error("getCADProSettings error...", e);
// return ExceptionUtil.constructErrorAPIResult(e);
// }
//}
// //
// //
......
...@@ -6,6 +6,7 @@ import com.yonde.cadpro.download.ClientModelPathRule; ...@@ -6,6 +6,7 @@ import com.yonde.cadpro.download.ClientModelPathRule;
import com.yonde.cadpro.download.impl.ClientModelPathAsConfigRule; import com.yonde.cadpro.download.impl.ClientModelPathAsConfigRule;
import com.yonde.cadpro.download.impl.ClientModelPathAsDSRule; import com.yonde.cadpro.download.impl.ClientModelPathAsDSRule;
import com.yonde.cadpro.download.impl.ClientModelPathAsParentRule; import com.yonde.cadpro.download.impl.ClientModelPathAsParentRule;
import com.yonde.cadpro.download.impl.CommonPathAsConfigRule;
import com.yonde.common.util.TypeAttrUtil; import com.yonde.common.util.TypeAttrUtil;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
...@@ -41,7 +42,7 @@ public class ClientModelPathRuleFactory { ...@@ -41,7 +42,7 @@ public class ClientModelPathRuleFactory {
return new ClientModelPathAsDSRule(part); return new ClientModelPathAsDSRule(part);
} else { } else {
//throw new WTException("此操作场景暂不支持"); //throw new WTException("此操作场景暂不支持");
return null; return new CommonPathAsConfigRule();
} }
} }
} }
......
...@@ -8,10 +8,7 @@ import com.ptc.windchill.enterprise.copy.server.CoreMetaUtility; ...@@ -8,10 +8,7 @@ import com.ptc.windchill.enterprise.copy.server.CoreMetaUtility;
import com.yonde.cadpro.CADProConstants; import com.yonde.cadpro.CADProConstants;
import com.yonde.cadpro.bean.*; import com.yonde.cadpro.bean.*;
import com.yonde.cadpro.config.CatiaClientConfig; import com.yonde.cadpro.config.CatiaClientConfig;
import com.yonde.cadpro.util.CadPartUtil; import com.yonde.cadpro.util.*;
import com.yonde.cadpro.util.ContentUtil;
import com.yonde.cadpro.util.EPMUtil;
import com.yonde.cadpro.util.SearchUtil;
import com.yonde.common.CommonUtil; import com.yonde.common.CommonUtil;
import com.yonde.common.IBAUtil; import com.yonde.common.IBAUtil;
import com.yonde.common.PartUtil; import com.yonde.common.PartUtil;
...@@ -67,42 +64,6 @@ import java.util.*; ...@@ -67,42 +64,6 @@ import java.util.*;
@Service @Service
public class CadCheckService implements RemoteAccess { public class CadCheckService implements RemoteAccess {
public static Map attrMapping;
static {
attrMapping = new HashMap();
attrMapping.put("GA_A001", "model");
attrMapping.put("GA_A003", "equipmentModel");
attrMapping.put("GA_A004", "part_type");
attrMapping.put("GA_A005", "weightCode");
attrMapping.put("GA_A006", "singleWeight");
attrMapping.put("GA_A007", "processMethod");
attrMapping.put("GA_A008", "featureKind");
attrMapping.put("GA_A009", "interchange");
attrMapping.put("GA_A010", "serviceLife");
attrMapping.put("GA_A011", "size");
attrMapping.put("GA_A012", "strength");
attrMapping.put("GA_A013", "materialCode");
attrMapping.put("GA_A014", "supplierCode");
attrMapping.put("GA_A015", "extSource");
attrMapping.put("GA_A016", "SupplierEquipNumber");
attrMapping.put("GA_A017", "SupplierEquipNumVersion");
attrMapping.put("GA_A018", "techAggreeNo");
attrMapping.put("GA_A019", "contractNo");
attrMapping.put("GA_A020", "EquipStatus");
attrMapping.put("GA_A021", "AirworthinessStatus");
attrMapping.put("GA_A022", "ApplyCTSOTSOStandard");
attrMapping.put("GA_A023", "InstallationLocation");
attrMapping.put("GA_B001", "isSymmetry");
attrMapping.put("GA_B002", "symmetry");
attrMapping.put("表面处理", "surfaceTreatment");
attrMapping.put("材料", "material");
attrMapping.put("重量", "singleWeight");
attrMapping.put("重量代码", "weightCode");
attrMapping.put("物品码", "materialCode");
attrMapping.put("零部件类型", "part_type");
}
@Autowired @Autowired
ModelService modelService; ModelService modelService;
...@@ -315,6 +276,7 @@ public class CadCheckService implements RemoteAccess { ...@@ -315,6 +276,7 @@ public class CadCheckService implements RemoteAccess {
enforced = SessionServerHelper.manager.setAccessEnforced(false); enforced = SessionServerHelper.manager.setAccessEnforced(false);
//记录已处理模型编号 //记录已处理模型编号
Set<String> processedModelNumbers = new HashSet<String>(); Set<String> processedModelNumbers = new HashSet<String>();
Map<String, String> attrMapping = CADProUtil.getCADProIbaMapping();
//IBA属性映射关系<MBDAttribute, IBAKey> //IBA属性映射关系<MBDAttribute, IBAKey>
if (attrMapping == null) { if (attrMapping == null) {
attrMapping = new HashMap<String, String>(); attrMapping = new HashMap<String, String>();
...@@ -424,8 +386,7 @@ public class CadCheckService implements RemoteAccess { ...@@ -424,8 +386,7 @@ public class CadCheckService implements RemoteAccess {
} }
String partTypeDisplay = StringUtils.trimToEmpty(entry.getValue()); String partTypeDisplay = StringUtils.trimToEmpty(entry.getValue());
System.out.println(" partTypeDisplay : " + partTypeDisplay); System.out.println(" partTypeDisplay : " + partTypeDisplay);
DxPartModelBomVo partModelBOMVo = DxPartModelBomVo.newDxPartModelBomVo(epm, DxPartModelBomVo partModelBOMVo = DxPartModelBomVo.newDxPartModelBomVo(epm, partTypeDisplay, true);
partTypeDisplay, true);
System.out.println("partModelBOMVo by epm [" + epm + "] completed..."); System.out.println("partModelBOMVo by epm [" + epm + "] completed...");
BatchResult batchResult = BatchResult.successBatchResult(partModelBOMVo); BatchResult batchResult = BatchResult.successBatchResult(partModelBOMVo);
if (batchResult == null) { if (batchResult == null) {
...@@ -450,22 +411,6 @@ public class CadCheckService implements RemoteAccess { ...@@ -450,22 +411,6 @@ public class CadCheckService implements RemoteAccess {
} }
} }
/**
* 处理检出或新建模型的检入
* 1. 零部件、数模的创建
* 2. 零部件、数模的属性更新
* 3. 零部件、数模的关联关系
* 4. 零部件、数模的BOMUses关系记录
*
* @param modelBaseInfo
* @param processedModelNumbers
* @param attrMapping
* @param drawingInfos
* @param bomUsesMap
* @param partEPMMap
* @throws Exception
*/
/** /**
* 处理检出或新建模型的检入 * 处理检出或新建模型的检入
* 1. 零部件、数模的创建 * 1. 零部件、数模的创建
...@@ -487,14 +432,12 @@ public class CadCheckService implements RemoteAccess { ...@@ -487,14 +432,12 @@ public class CadCheckService implements RemoteAccess {
Map<WTPart, List<ModelBaseInfo>> bomUsesMap, Map<WTPart, EPMDocument> partEPMMap) Map<WTPart, List<ModelBaseInfo>> bomUsesMap, Map<WTPart, EPMDocument> partEPMMap)
throws Exception { throws Exception {
String modelNumber = modelBaseInfo.getNumber(); String modelNumber = modelBaseInfo.getNumber();
//todo 待确认 String modelName = modelBaseInfo.getName();
String modelName = modelNumber + "cad";
String modelFileName = modelBaseInfo.getModelFileName(); String modelFileName = modelBaseInfo.getModelFileName();
String modelFileUri = modelBaseInfo.getModelFileUri(); String modelFileUri = modelBaseInfo.getModelFileUri();
Boolean isDrawing = modelBaseInfo.getIsDrawing(); Boolean isDrawing = modelBaseInfo.getIsDrawing();
String modelThumbnailUri = modelBaseInfo.getModelThumbnailUri(); String modelThumbnailUri = modelBaseInfo.getModelThumbnailUri();
//todo 先创建part
WTPart epmPart = null; WTPart epmPart = null;
QuerySpec qsPart = new QuerySpec(WTPart.class); QuerySpec qsPart = new QuerySpec(WTPart.class);
qsPart.appendWhere(new SearchCondition(WTPart.class, WTPart.NUMBER, SearchCondition.EQUAL, modelNumber), new int[]{0}); qsPart.appendWhere(new SearchCondition(WTPart.class, WTPart.NUMBER, SearchCondition.EQUAL, modelNumber), new int[]{0});
...@@ -538,7 +481,7 @@ public class CadCheckService implements RemoteAccess { ...@@ -538,7 +481,7 @@ public class CadCheckService implements RemoteAccess {
boolean isDSPart = false; boolean isDSPart = false;
//判断是否为二维图,三维图处理完成后统一处理 //判断是否为isDrawing二维图,三维图处理完成后统一处理
if (isDrawing) { if (isDrawing) {
System.out.println("current model info is Drawing, processing after the all 3D model"); System.out.println("current model info is Drawing, processing after the all 3D model");
List<ModelBaseInfo> tempChildInfos = modelBaseInfo.getChildren(); List<ModelBaseInfo> tempChildInfos = modelBaseInfo.getChildren();
...@@ -651,11 +594,6 @@ public class CadCheckService implements RemoteAccess { ...@@ -651,11 +594,6 @@ public class CadCheckService implements RemoteAccess {
} }
System.out.println("epm[" + epm.getDisplayIdentifier() + "]"); System.out.println("epm[" + epm.getDisplayIdentifier() + "]");
//处理EPM是新建或者检出,检查Part是否存在
//Part 不存在,新建
//Part 存在,检出
//检查EPM是否已关联Part
if (wtPart != null) { if (wtPart != null) {
//标准件忽略更新 //标准件忽略更新
if (isStandardPart) { if (isStandardPart) {
......
...@@ -3530,13 +3530,6 @@ public class ModelService { ...@@ -3530,13 +3530,6 @@ public class ModelService {
System.out.println("get Container error by [" + epm3D + "]"+ e); System.out.println("get Container error by [" + epm3D + "]"+ e);
} }
// if (inputContainer == null && isSupplierOP) {
// inputContainer = supplierContainer;
// }
//默认型号为AG600
// checkModelAttr(attsValueMap);
//创建EPM epmDocumentType_Drawing //创建EPM epmDocumentType_Drawing
String epmDocumentType = CatiaClientConfig.epmDocumentType_Drawing;//二维图 String epmDocumentType = CatiaClientConfig.epmDocumentType_Drawing;//二维图
epm = EPMUtil.createEPMDoc(modelNumber, modelName, modelFileName, epmDocumentType, epm = EPMUtil.createEPMDoc(modelNumber, modelName, modelFileName, epmDocumentType,
......
package com.yonde.cadpro.util; package com.yonde.cadpro.util;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.ptc.core.meta.server.TypeIdentifierUtility; import com.ptc.core.meta.server.TypeIdentifierUtility;
import com.yonde.cadpro.CADProConstants; import com.yonde.cadpro.CADProConstants;
import com.yonde.cadpro.bean.DxModelFile; import com.yonde.cadpro.bean.DxModelFile;
...@@ -7,7 +9,6 @@ import com.yonde.cadpro.config.CADProSettingTypeEnum; ...@@ -7,7 +9,6 @@ import com.yonde.cadpro.config.CADProSettingTypeEnum;
import com.yonde.cadpro.config.DxCADProSetting; import com.yonde.cadpro.config.DxCADProSetting;
import com.yonde.common.CommonUtil; import com.yonde.common.CommonUtil;
import com.yonde.common.IBAUtil; import com.yonde.common.IBAUtil;
import com.yonde.common.JsonUtils;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
...@@ -41,6 +42,8 @@ public class CADProUtil { ...@@ -41,6 +42,8 @@ public class CADProUtil {
private static final Logger log = Logger.getLogger(CADProUtil.class); private static final Logger log = Logger.getLogger(CADProUtil.class);
private static String CAD_PRO_SETTING_FILE = "/codebase/com/yonde/config/cadpro/CADProSetting.json"; private static String CAD_PRO_SETTING_FILE = "/codebase/com/yonde/config/cadpro/CADProSetting.json";
private static String CAD_PRO_IBA_MAPPING_FILE = "/codebase/com/yonde/config/cadpro/CatiaIntegrationAttrMapping.json";
/** /**
* 自动处理图号适配件号 * 自动处理图号适配件号
...@@ -70,6 +73,7 @@ public class CADProUtil { ...@@ -70,6 +73,7 @@ public class CADProUtil {
/** /**
* 自动处理图号适配件号 * 自动处理图号适配件号
*
* @param number * @param number
* @return * @return
*/ */
...@@ -86,7 +90,6 @@ public class CADProUtil { ...@@ -86,7 +90,6 @@ public class CADProUtil {
} }
/** /**
* 遍历BOM,下载CAD内容 * 遍历BOM,下载CAD内容
* *
...@@ -128,7 +131,7 @@ public class CADProUtil { ...@@ -128,7 +131,7 @@ public class CADProUtil {
String tmpFilePath = tmpPath; String tmpFilePath = tmpPath;
if (!CommonUtil.isTypeOf(part, CADProConstants.TYPE_STANDARDPART)) { if (!CommonUtil.isTypeOf(part, CADProConstants.TYPE_STANDARDPART)) {
// 获取模型路径 // 获取模型路径
String modelRelativePath = (String) IBAUtil.getIBAValue(epm,CADProConstants.IBA_MODELRELATIVEPATH); String modelRelativePath = (String) IBAUtil.getIBAValue(epm, CADProConstants.IBA_MODELRELATIVEPATH);
modelRelativePath = modelRelativePath.replaceAll("\\\\", "/"); modelRelativePath = modelRelativePath.replaceAll("\\\\", "/");
if (!(modelRelativePath.length() == 0 || modelRelativePath.equals("/"))) { if (!(modelRelativePath.length() == 0 || modelRelativePath.equals("/"))) {
if (modelRelativePath.endsWith("/")) { if (modelRelativePath.endsWith("/")) {
...@@ -164,7 +167,7 @@ public class CADProUtil { ...@@ -164,7 +167,7 @@ public class CADProUtil {
} }
List<ContentItem> contents = ContentUtil.getContentsByRole(epm, List<ContentItem> contents = ContentUtil.getContentsByRole(epm,
new ContentRoleType[] { ContentRoleType.PRIMARY }); new ContentRoleType[]{ContentRoleType.PRIMARY});
if (contents != null && contents.size() > 0) { if (contents != null && contents.size() > 0) {
ContentItem contentItem = contents.get(0); ContentItem contentItem = contents.get(0);
if (contentItem instanceof ApplicationData) { if (contentItem instanceof ApplicationData) {
...@@ -180,6 +183,7 @@ public class CADProUtil { ...@@ -180,6 +183,7 @@ public class CADProUtil {
/** /**
* 根据层级遍历零部件bom,获取其CAD内容文件 * 根据层级遍历零部件bom,获取其CAD内容文件
*
* @param part * @param part
* @param level * @param level
* @param needlevel * @param needlevel
...@@ -209,7 +213,7 @@ public class CADProUtil { ...@@ -209,7 +213,7 @@ public class CADProUtil {
} }
modelMap.put(partId, modelFile); modelMap.put(partId, modelFile);
if (level < needlevel || needlevel == -1) { if (level < needlevel || needlevel == -1) {
List<WTPart> children = CadPartUtil.getChildPart(part,true); List<WTPart> children = CadPartUtil.getChildPart(part, true);
/* /*
QueryResult qr = WTPartHelper.service.getUsesWTParts(part, QueryResult qr = WTPartHelper.service.getUsesWTParts(part,
WTPartStandardConfigSpec.newWTPartStandardConfigSpec( WTPartStandardConfigSpec.newWTPartStandardConfigSpec(
...@@ -231,6 +235,7 @@ public class CADProUtil { ...@@ -231,6 +235,7 @@ public class CADProUtil {
/** /**
* 根据层级遍历CAD bom,并获取CAD内容文件 * 根据层级遍历CAD bom,并获取CAD内容文件
*
* @param epm * @param epm
* @param level * @param level
* @param needlevel * @param needlevel
...@@ -366,13 +371,11 @@ public class CADProUtil { ...@@ -366,13 +371,11 @@ public class CADProUtil {
if (part == null) { if (part == null) {
throw new WTException("[" + per + "]获取零部件异常"); throw new WTException("[" + per + "]获取零部件异常");
} }
displayType= ClientTypedUtility.getLocalizedTypeName(part,Locale.SIMPLIFIED_CHINESE); displayType = ClientTypedUtility.getLocalizedTypeName(part, Locale.SIMPLIFIED_CHINESE);
return displayType; return displayType;
} }
private static void processBOMPath(String singleBOMPath, Set<String> outputSet) { private static void processBOMPath(String singleBOMPath, Set<String> outputSet) {
if (StringUtils.isNotBlank(singleBOMPath)) { if (StringUtils.isNotBlank(singleBOMPath)) {
List<String> source = Arrays.asList(StringUtils.split(singleBOMPath, "/")); List<String> source = Arrays.asList(StringUtils.split(singleBOMPath, "/"));
...@@ -384,6 +387,7 @@ public class CADProUtil { ...@@ -384,6 +387,7 @@ public class CADProUtil {
} }
} }
} }
public static Set<String> splitBOMPaths(Set<String> inputSet) { public static Set<String> splitBOMPaths(Set<String> inputSet) {
Set<String> outputSet = new HashSet<String>(); Set<String> outputSet = new HashSet<String>();
if (inputSet == null || inputSet.size() == 0) { if (inputSet == null || inputSet.size() == 0) {
...@@ -401,6 +405,7 @@ public class CADProUtil { ...@@ -401,6 +405,7 @@ public class CADProUtil {
/** /**
* 基于服务器端配置,获取指定配置 * 基于服务器端配置,获取指定配置
*
* @param seetingType * @param seetingType
* @return * @return
*/ */
...@@ -413,8 +418,9 @@ public class CADProUtil { ...@@ -413,8 +418,9 @@ public class CADProUtil {
log.debug("configFilePath : " + configFilePath); log.debug("configFilePath : " + configFilePath);
//InputStream is = IOUtils.toInputStream(configFilePath, "UTF-8"); //InputStream is = IOUtils.toInputStream(configFilePath, "UTF-8");
String jsonStr = FileUtils.readFileToString(new File(configFilePath), "UTF-8"); String jsonStr = FileUtils.readFileToString(new File(configFilePath), "UTF-8");
List<DxCADProSetting> settings = JsonUtils.fromJson(jsonStr, List.class, //List<DxCADProSetting> settings = JsonUtils.fromJson(jsonStr, List.class, DxCADProSetting.class);
DxCADProSetting.class);
List<DxCADProSetting> settings = JSON.parseArray(jsonStr, DxCADProSetting.class);
for (DxCADProSetting dxCADProSetting : settings) { for (DxCADProSetting dxCADProSetting : settings) {
if (CADProSettingTypeEnum.valueOf(seetingType) if (CADProSettingTypeEnum.valueOf(seetingType)
.equals(dxCADProSetting.getType())) { .equals(dxCADProSetting.getType())) {
...@@ -429,4 +435,23 @@ public class CADProUtil { ...@@ -429,4 +435,23 @@ public class CADProUtil {
return cadProSettings; return cadProSettings;
} }
/**
* 获取cadPro iba映射配置信息
*
* @param
* @return
*/
public static Map<String, String> getCADProIbaMapping() {
try {
String mappingFile = CADProConstants.wthome + CAD_PRO_IBA_MAPPING_FILE;
log.debug("mappingFile : " + mappingFile);
String jsonStr = FileUtils.readFileToString(new File(mappingFile), "UTF-8");
return (Map<String, String>) JSONObject.parseObject(jsonStr, Map.class);
} catch (Exception e) {
log.error("getCADProIbaMapping error...", e);
}
return null;
}
} }
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