Browse Source

关系有可能没填relValue,计算有个bug,primitive内容是个sdv

menglu 3 years ago
parent
commit
b6092d2901

+ 18 - 8
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/service/rest/RestUtil.java

@@ -587,14 +587,24 @@ public class RestUtil {
 		if (time_to.getTime() - time_from.getTime() < 1000L * 60 * 60 * 6) {
 			time_from = new Date(time_from.getTime() - (1000L * 60 * 60 * 12));
 		}
-		JSONObject parseObject = JSON.parseObject(param);
-		String objId = parseObject.getString("objId");
-		String code = parseObject.getString("code");
-		String pointString = RepositoryBase.info2point.get(objId).get(code);
-		int index_ = pointString.lastIndexOf('-');
-		String meter = pointString.substring(0, index_);
-		int funcid = Integer.parseInt(pointString.substring(index_ + 1));
-		String result = fjd_query_history(meter, funcid, sdf.format(time_from), sdf.format(time_to));
+		String result;
+		try {
+			JSONObject parseObject = JSON.parseObject(param);
+			String objId = parseObject.getString("objId");
+			String code = parseObject.getString("code");
+			String pointString = RepositoryBase.info2point.get(objId).get(code);
+			int index_ = pointString.lastIndexOf('-');
+			String meter = pointString.substring(0, index_);
+			int funcid = Integer.parseInt(pointString.substring(index_ + 1));
+			result = fjd_query_history(meter, funcid, sdf.format(time_from), sdf.format(time_to));
+		} catch (Exception e) {
+			e.printStackTrace();
+			JSONObject tmpResult = new JSONObject();
+			tmpResult.put("Result", "failure");
+			tmpResult.put("ResultMsg", LogUtil.GetExceptionStackTrace(e));
+			tmpResult.put("ResultCode", 250);
+			result = tmpResult.toJSONString();
+		}
 		return result;
 	}
 

+ 2 - 2
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/ComputeUtil.java

@@ -327,7 +327,7 @@ public class ComputeUtil {
 						sb.append(ss.propertyName);
 					}
 					log.info("computeOnce:" + sb.toString());
-					// if (sb.toString().equals("基础对象-设备-设备类型-清单-所属楼栋id")) {
+					// if (sb.toString().endsWith("-机房id")) {
 					// System.out.println();
 					// }
 				}
@@ -433,7 +433,7 @@ public class ComputeUtil {
 					List<SceneDataValue> sdvListInner = (List<SceneDataValue>) queryResult;
 					if (sdvListInner.size() == 0) {
 					} else if (sdvListInner.size() == 1) {
-						sv.value_primitive = sdvListInner.get(0);
+						sv.value_primitive = sdvListInner.get(0).value_primitive;
 					} else {
 						sv.value_primitive = queryResult;
 					}

+ 3 - 0
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/RWDLoadUtil.java

@@ -276,6 +276,9 @@ public class RWDLoadUtil {
 			Map<String, SceneDataValue> toMap = Repository.objType2id2Value.get(ConfigRelation.objTo);
 			for (SceneDataValue sdv : sdvList) {
 				if (ConfigRelation.relValue != null) {
+					if (sdv.value_object.get("relValue") == null) {
+						continue;
+					}
 					String relValue = (String) sdv.value_object.get("relValue").value_primitive;
 					if (!relValue.equals(ConfigRelation.relValue)) {
 						continue;