Explorar o código

区间范围改到excel文件里面

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

+ 1 - 1
ibms-data-sdk/pom.xml

@@ -2,7 +2,7 @@
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>com.persagy</groupId>
 	<artifactId>ibms-data-sdk</artifactId>
-	<version>0.1.4</version>
+	<version>0.1.5</version>
 
 	<repositories>
 		<repository>

+ 8 - 1
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/service/DaemonThread.java

@@ -102,6 +102,7 @@ public class DaemonThread extends Thread {
 		}
 
 		// 初始加载后break
+		Date last_try_time = null;
 		while (!stop) {
 			try {
 				Thread.sleep(1000L);
@@ -109,6 +110,12 @@ public class DaemonThread extends Thread {
 				e1.printStackTrace();
 			}
 
+			Date curr_time = new Date();
+			if (last_try_time != null && curr_time.getTime() - last_try_time.getTime() < 1000L * 60) {
+				continue;
+			}
+			last_try_time = curr_time;
+
 			boolean dir_all_valid = true;
 			{
 				String tmp_dir = Constant.getLatestPath(Constant.config, false, true);
@@ -237,7 +244,7 @@ public class DaemonThread extends Thread {
 				log.error(e.getMessage(), e);
 			}
 			log.warn("refresh calendar weather finish");
-			
+
 			try {
 				log.warn("deamon start");
 				DeamonUtil.Process_deamon(Repository);

+ 36 - 0
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/RWDDownloadUtil.java

@@ -157,6 +157,42 @@ public class RWDDownloadUtil {
 		}
 		FileUtil.Save(path + Constant.getSeperator() + "info-point-list" + ".json", FastJsonUtil.toFormatString(InfoPointListArray));
 		FileUtil.Save(path + Constant.getSeperator() + "info-point-relation" + ".json", FastJsonUtil.toFormatString(InfoPointRelationArray));
+
+		Load_interval_range(path);
+	}
+
+	public static void Load_interval_range(String path) throws Exception {
+		InputStream stream = Constant.getStream("interval_range.xlsx");
+		if (stream != null) {
+			JSONArray InfoPointListArray = new JSONArray();
+			Map<String, ExcelSheet> sheetMap = ExcelCommonUtil.Read(stream, true);
+			for (String sheetName : sheetMap.keySet()) {
+				ExcelSheet sheet = sheetMap.get(sheetName);
+				for (int i = 0; i < sheet.contentListList.size(); i++) {
+					String equipType = ExcelCommonUtil.getContentInner(sheet, "类型", i);
+					String name = ExcelCommonUtil.getContentInner(sheet, "名称", i);
+					int value = Integer.parseInt(ExcelCommonUtil.getContentInner(sheet, "数值", i));
+					String low = ExcelCommonUtil.getContentInner(sheet, "下限", i);
+					String high = ExcelCommonUtil.getContentInner(sheet, "上限", i);
+					String color = ExcelCommonUtil.getContentInner(sheet, "颜色", i);
+					JSONObject pointListItem = new JSONObject();
+					{
+						pointListItem.put("类型", equipType);
+						pointListItem.put("名称", name);
+						pointListItem.put("数值", value);
+						if (low != null && low.length() > 0) {
+							pointListItem.put("下限", Double.parseDouble(low));
+						}
+						if (high != null && high.length() > 0) {
+							pointListItem.put("上限", Double.parseDouble(high));
+						}
+						pointListItem.put("颜色", color);
+						InfoPointListArray.add(pointListItem);
+					}
+				}
+			}
+			FileUtil.Save(path + Constant.getSeperator() + "interval-range" + ".json", FastJsonUtil.toFormatString(InfoPointListArray));
+		}
 	}
 
 	public static boolean Process_physical_world(LogOfDownload LogOfDownload) throws Exception {

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

@@ -986,6 +986,14 @@ public class RWDLoadUtil {
 			SceneDataSet.set = RWDUtil.array2SDOList(classArray);
 			Repository.InfoPointRelationArray = SceneDataSet;
 		}
+
+		File file_interval_range = new File(validPath + Constant.getSeperator() + "interval-range.json");
+		if (file_interval_range.exists()) {
+			JSONArray classArray = FastJsonReaderUtil.Instance().ReadJSONArray(new File(validPath + Constant.getSeperator() + "interval-range.json"));
+			SceneDataSet SceneDataSet = new SceneDataSet(false, "interval-range");
+			SceneDataSet.set = RWDUtil.array2SDOList(classArray);
+			Repository.IntervalRangeListArray = SceneDataSet;
+		}
 	}
 
 	public static void Load_info_point_old(RepositoryImpl Repository) throws Exception {
@@ -1054,6 +1062,15 @@ public class RWDLoadUtil {
 			SceneDataSet.set = RWDUtil.array2SDOList(classArray);
 			Repository.InfoPointRelationArray = SceneDataSet;
 		}
+
+		RWDDownloadUtil.Load_interval_range(validPath);
+		File file_interval_range = new File(validPath + Constant.getSeperator() + "interval-range.json");
+		if (file_interval_range.exists()) {
+			JSONArray classArray = FastJsonReaderUtil.Instance().ReadJSONArray(new File(validPath + Constant.getSeperator() + "interval-range.json"));
+			SceneDataSet SceneDataSet = new SceneDataSet(false, "interval-range");
+			SceneDataSet.set = RWDUtil.array2SDOList(classArray);
+			Repository.IntervalRangeListArray = SceneDataSet;
+		}
 	}
 
 	private static String getValidName(SceneDataObject sdo) {

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

@@ -85,6 +85,8 @@ public class RWDRepositoryUtil {
 
 			Repository.InfoPointListArray = RepositoryContainer.instance.InfoPointListArray;
 			Repository.InfoPointRelationArray = RepositoryContainer.instance.InfoPointRelationArray;
+
+			Repository.IntervalRangeListArray = RepositoryContainer.instance.IntervalRangeListArray;
 		}
 
 		// 重新构建依赖关系

+ 5 - 0
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/RepositoryImpl.java

@@ -74,6 +74,9 @@ public class RepositoryImpl extends RepositoryBase {
 	public SceneDataSet InfoPointListArray = new SceneDataSet(false);
 	public SceneDataSet InfoPointRelationArray = new SceneDataSet(false);
 
+	// 区间范围
+	public SceneDataSet IntervalRangeListArray = new SceneDataSet(false);
+
 	public RepositoryImpl(RepositoryProject RepositoryProject, boolean use_thread, boolean enable_factor, int thread_count,
 			long interval_between_compute) {
 		super(use_thread, enable_factor, thread_count, interval_between_compute);
@@ -187,6 +190,8 @@ public class RepositoryImpl extends RepositoryBase {
 			result = this.InfoPointListArray;
 		} else if (Source.equals("info-point-relation")) {
 			result = this.InfoPointRelationArray;
+		} else if (Source.equals("interval-range")) {
+			result = this.IntervalRangeListArray;
 		} else if (Source.equals("subsystem-connect-status")) {
 			result = this.subsystem_connect_status;
 		}