Browse Source

枚举类型的设备信息取值方式扩展

lirong 3 years ago
parent
commit
baa7372110

+ 29 - 9
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/ExeclReadEquipStaticInfoUtil.java

@@ -132,24 +132,44 @@ public class ExeclReadEquipStaticInfoUtil {
 						String codeVal = obj.get("code").toString();
 						if (codeVal.equals(codeInfo)) {
 							if (queryObj != null) {
-								StringBuilder data = new StringBuilder();
 								JSONArray dataSource = obj.getJSONArray("dataSource");
 								if (dataSource != null) {
-									JSONArray dataArr = (JSONArray) queryObj.get(codeInfo);
-									if (dataArr != null) {
-										for (Object o : dataArr) {
+									//获取信息点的值
+									Object dataStr = queryObj.get(codeInfo);
+									if(dataStr!=null)
+									{
+										//判断信息点的值是否是集合
+										if(dataStr.toString().startsWith("["))
+										{
+											StringBuilder data = new StringBuilder();
+											JSONArray dataArr = (JSONArray) queryObj.get(codeInfo);
+											if (dataArr != null) {
+												for (Object o : dataArr) {
+													for (int x = 0; x < dataSource.size(); x++) {
+														JSONObject dataObj = (JSONObject) dataSource.get(x);
+														String code = dataObj.get("code").toString();
+														if (o.equals(code)) {
+															String codeName = dataObj.get("name").toString();
+															data.append(codeName);
+														}
+													}
+												}
+											}
+											obj.put("data", data);
+										}
+										else
+										{
 											for (int x = 0; x < dataSource.size(); x++) {
 												JSONObject dataObj = (JSONObject) dataSource.get(x);
 												String code = dataObj.get("code").toString();
-												if (o.equals(code)) {
-													String codeName = dataObj.get("name").toString();
-													data.append(codeName);
+												if (dataStr.equals(code)) {
+													obj.put("data", dataObj.get("name"));
 												}
 											}
 										}
 									}
-									obj.put("data", data);
-								} else {
+								}
+								else {
 									obj.put("data", queryObj.get(codeInfo));
 								}
 							}