Explorar o código

完善组合式传感器改造

menglu %!s(int64=3) %!d(string=hai) anos
pai
achega
ef560ed7f8

+ 36 - 7
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/RWDLoadUtil.java

@@ -76,6 +76,17 @@ public class RWDLoadUtil {
 							info.put("unit", "ppm");
 							array.add(info);
 						}
+						for (int i = 0; i < concentrate_codes.length; i++) {
+							String info_code = concentrate_codes[i];
+							String info_name = concentrate_names[i];
+							JSONObject info = new JSONObject();
+							info.put("code", "unitOf" + info_code);
+							info.put("name", info_name + "单位");
+							info.put("category", "STATIC");
+							info.put("firstTag", "技术参数");
+							info.put("dataType", "STRING");
+							array.add(info);
+						}
 					}
 					SceneDataSet SceneDataSet = new SceneDataSet(false);
 					SceneDataSet.set = RWDUtil.array2SDOList(array);
@@ -102,12 +113,18 @@ public class RWDLoadUtil {
 					for (int ii = 0; ii < array.size(); ii++) {
 						JSONObject arrayItem = (JSONObject) array.get(ii);
 						Map<String, String> concentrateMap = new HashMap<String, String>();
+						Map<String, String> concentrateUnitMap = new HashMap<String, String>();
 						for (int iii = 1; iii <= 5; iii++) {
 							if (arrayItem.containsKey("concentrateSensorType" + iii) && arrayItem.containsKey("concentrate" + iii)) {
 								String sensorType = (String) arrayItem.get("concentrateSensorType" + iii);
 								String point = (String) arrayItem.get("concentrate" + iii);
-								if (sensorType != null && sensorType.length() > 0 && point != null && point.length() > 0)
+								if (sensorType != null && sensorType.length() > 0 && point != null && point.length() > 0) {
 									concentrateMap.put(sensorType, point);
+								}
+								if (arrayItem.containsKey("concentrate" + iii + "Unit")) {
+									String unit = (String) arrayItem.get("concentrate" + iii + "Unit");
+									concentrateUnitMap.put(sensorType, unit);
+								}
 							}
 						}
 						for (int i = 0; i < concentrate_types.length; i++) {
@@ -116,6 +133,17 @@ public class RWDLoadUtil {
 							if (concentrateMap.containsKey(SensorType)) {
 								arrayItem.put(info_code, concentrateMap.get(SensorType));
 							}
+							if (concentrateUnitMap.containsKey(SensorType)) {
+								arrayItem.put("unitOf" + info_code, concentrateUnitMap.get(SensorType));
+							}
+						}
+						// physicalQuantityType
+						if (arrayItem.containsKey("physicalQuantityType")) {
+							JSONArray unit = (JSONArray) arrayItem.get("physicalQuantityType");
+							for (int i = 0; i < unit.size(); i++) {
+								String ttt = unit.getString(i);
+								arrayItem.put("physicalQuantityType" + ttt, true);
+							}
 						}
 					}
 				}
@@ -516,12 +544,13 @@ public class RWDLoadUtil {
 						SceneDataSet.setColChange(info_code);
 					}
 				}
-				for (int ii = 0; ii < array.size(); ii++) {
-					JSONObject arrayItem = array.getJSONObject(ii);
-					String id = (String) arrayItem.get("id");
-					SceneDataObject sdo = Repository.id2sdv.get(id);
-					SceneDataSet.set.add(sdo);
-				}
+				SceneDataSet.set = RWDUtil.array2SDOList(array);
+				// for (int ii = 0; ii < array.size(); ii++) {
+				// JSONObject arrayItem = array.getJSONObject(ii);
+				// String id = (String) arrayItem.get("id");
+				// SceneDataObject sdo = Repository.id2sdv.get(id);
+				// SceneDataSet.set.add(sdo);
+				// }
 				mapInner.put(ibmsClassCode, SceneDataSet);
 			}
 			Repository.objectArrayDicZKT = objectArrayDicZKT;