zhangqiankun 2 anos atrás
pai
commit
6db5b805bb

+ 5 - 0
src/main/java/com/persagy/transfer/constant/InfosKeyConstant.java

@@ -8,6 +8,11 @@ package com.persagy.transfer.constant;
 public class InfosKeyConstant {
 
     /**
+     * 设计图纸编码
+     */
+    public static final String CADID = "cADID";
+    
+    /**
      * 设备编码(工程信息化编码)
      */
     public static final String EQUIPMENT_CODE = "wD_gongchengxinxihua";

+ 19 - 23
src/main/java/com/persagy/transfer/handle/WDRwdObjectTransferHandler.java

@@ -95,29 +95,12 @@ public class WDRwdObjectTransferHandler {
         String wdProjectId = LocalCache.PROJECT_MAPPING_BY_WD.get(projectId);
         
         for (RwdObjectWd rwdObjectWd : rwdObjecWdList) {
-        	// 验证此对象是否需要进行同步
-        	String localId = rwdObjectWd.getLocalId();
-        	if (StringUtil.isBlank(localId)) {
-				log.warn("项目ID为:{} 的对象本地编码为空,对象ID:{}", projectId, rwdObjectWd.getId());
-				continue;
-			}
-        	int lastIndexOf = localId.lastIndexOf(SwitchConstant.POINT);
-        	if (lastIndexOf <= 0) {
-        		log.warn("项目ID为:{} 的对象本地编码不规范,本地编码:{}", projectId, localId);
-				continue;
-			}
-        	localId = localId.substring(0, lastIndexOf);
-        	WdclassRelPersagy calassPersagy = LocalCache.CLASS_CODE_MAPPING_BY_WD.get(LocalCache.getWDCacheKey(classCode, localId));
-        	if (calassPersagy == null) {
-        		log.warn("项目ID为:{} 的对象本地编码不匹配,对象ID:{},本地编码:{}", projectId, rwdObjectWd.getId(), localId);
-        		continue;
-			}
-        	
         	// 需要进行同步的对象,开始同步
         	if (StringUtil.isBlank(rwdObjectWd.getInfos())) {
         		continue;
     		}
         	
+        	// 验证此对象是否需要进行同步
         	try {
         		// 防止一个对象数据不正确,影响到所有对象的同步
         		JSONObject infos = JSONObject.parseObject(rwdObjectWd.getInfos());
@@ -128,12 +111,25 @@ public class WDRwdObjectTransferHandler {
         			continue;
         		}
             	
+            	// 获取此设备的构建本地编码
+            	String localId = StringTool.object2String(infos.get(InfosKeyConstant.CADID));
+            	if (StringUtil.isBlank(localId)) {
+    				log.warn("项目ID为:{} 的对象本地编码为空,对象ID:{}", projectId, rwdObjectWd.getId());
+    				continue;
+    			}
+            	int lastIndexOf = localId.lastIndexOf(SwitchConstant.POINT);
+            	if (lastIndexOf <= 0) {
+            		log.warn("项目ID为:{} 的对象本地编码不规范,本地编码:{}", projectId, localId);
+    				continue;
+    			}
+            	localId = localId.substring(0, lastIndexOf);
+            	WdclassRelPersagy calassPersagy = LocalCache.CLASS_CODE_MAPPING_BY_WD.get(LocalCache.getWDCacheKey(classCode, localId));
+            	if (calassPersagy == null) {
+            		log.warn("项目ID为:{} 的对象本地编码不匹配,对象ID:{},本地编码:{}", projectId, rwdObjectWd.getId(), localId);
+            		continue;
+    			}
+            	
             	String classstructureid = calassPersagy.getClassstructureid();
-            	/*String classstructureid = StringTool.object2String(infos.get(InfosKeyConstant.EQUIPMENT_SORT));
-        		if (StringUtil.isBlank(classstructureid)) {
-        			log.warn("万达设备分类ID不存在,不进行同步,本方对象ID:{}, 项目ID:{}", rwdObjectWd.getId(), rwdObjectWd.getProjectId());
-                	return;
-        		}*/
             	
             	// 查询出18类设备单独的信息点
             	List<WdfacilityRelPersagy> wdfacilityRelList = this.listWdfacilityRelPersagy(calassPersagy.getWdClassCode(), classstructureid);