Browse Source

逻辑编组没有的造个空的

menglu 3 years ago
parent
commit
f4980d807f

+ 40 - 4
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/RWDDownloadUtil.java

@@ -737,13 +737,30 @@ public class RWDDownloadUtil {
 		log.debug("Download ibms physical world begin " + path);
 		JSONArray classArray;
 		{
+			JSONObject param = new JSONObject();
+			JSONObject criteria = new JSONObject();
+			criteria.put("ibms", true);
+			param.put("criteria", criteria);
+			String post_result = HttpClientUtil.instance("zkt_dmp").post_compress(Constant.zkt_dmp_url + "/rwd/def/class?projectId="
+					+ RepositoryContainer.RepositoryProject.projectId + "&groupCode=" + RepositoryContainer.RepositoryProject.groupCode,
+					param.toJSONString());
+			JSONObject resultJSON = JSON.parseObject(post_result);
+			if (!resultJSON.getString("result").equals("success")) {
+				throw new Exception(param.toJSONString() + "\n" + post_result);
+			}
+			classArray = resultJSON.getJSONArray("data");
+			classArray = classArray == null ? new JSONArray() : classArray;
+			FileUtil.Save(path + Constant.getSeperator() + "classArray.json", FastJsonUtil.toFormatString(classArray), LogOfDownload.downloadList);
+		}
+		JSONArray groupArray;
+		{
 			JSONObject criteria = new JSONObject();
 			criteria.put("userId", "systemId");
 			criteria.put("projectId", RepositoryContainer.RepositoryProject.projectId);
 			criteria.put("groupCode", RepositoryContainer.RepositoryProject.groupCode);
 			try {
-				classArray = post_by_page("zkt_monitor", Constant.zkt_monitor_url + "/logicalGrouping/list", criteria, page_size);
-				FileUtil.Save(path + Constant.getSeperator() + "groupArray.json", FastJsonUtil.toFormatString(classArray),
+				groupArray = post_by_page("zkt_monitor", Constant.zkt_monitor_url + "/logicalGrouping/list", criteria, page_size);
+				FileUtil.Save(path + Constant.getSeperator() + "groupArray.json", FastJsonUtil.toFormatString(groupArray),
 						LogOfDownload.downloadList);
 			} catch (Exception e) {
 				log.error("/logicalGrouping/list" + "\n" + FastJsonUtil.toFormatString(criteria), e);
@@ -751,8 +768,8 @@ public class RWDDownloadUtil {
 			}
 		}
 		Map<String, Map<String, List<String>>> idListMapMap = new ConcurrentHashMap<String, Map<String, List<String>>>();
-		for (int i = 0; i < classArray.size(); i++) {
-			JSONObject item = (JSONObject) classArray.get(i);
+		for (int i = 0; i < groupArray.size(); i++) {
+			JSONObject item = (JSONObject) groupArray.get(i);
 			String ibmsSceneCode = item.getString("ibmsSceneCode");
 			String ibmsClassCode = item.getString("ibmsClassCode");
 			String logicalGroupingId = item.getString("logicalGroupingId");
@@ -797,6 +814,25 @@ public class RWDDownloadUtil {
 						FastJsonUtil.toFormatString(infoArray), LogOfDownload.downloadList);
 			}
 		}
+		for (int i = 0; i < classArray.size(); i++) {
+			JSONObject item = (JSONObject) classArray.get(i);
+			String ibmsSceneCode = item.getString("ibmsSceneCode");
+			String ibmsClassCode = item.getString("ibmsClassCode");
+			String flag = item.getString("flag");
+			if (flag != null && flag.equals("reference")) {
+				continue;
+			}
+			File sceneDir = new File(path + Constant.getSeperator() + ibmsSceneCode);
+			if (!sceneDir.exists()) {
+				sceneDir.mkdir();
+			}
+			File classJSON = new File(path + Constant.getSeperator() + ibmsSceneCode + Constant.getSeperator() + ibmsClassCode + ".json");
+			if (!classJSON.exists()) {
+				JSONArray infoArray = new JSONArray();
+				FileUtil.Save(path + Constant.getSeperator() + ibmsSceneCode + Constant.getSeperator() + ibmsClassCode + ".json",
+						FastJsonUtil.toFormatString(infoArray), LogOfDownload.downloadList);
+			}
+		}
 		log.debug("Download ibms physical world finish " + path);
 	}