From a8230f1ab02069431738bd72f36ab95a0ace01ae Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期二, 06 八月 2024 15:22:22 +0800
Subject: [PATCH] 修改仿真后台

---
 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java       |   27 +++++++++++++++++++--------
 starter/src/main/resources/application.yml                                                                          |    2 ++
 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/SimulatAssessController.java |    3 +--
 3 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/SimulatAssessController.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/SimulatAssessController.java
index 08c0144..3a8dcbe 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/SimulatAssessController.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/SimulatAssessController.java
@@ -53,7 +53,6 @@
 @Api(tags = "simulat_assess")
 public class SimulatAssessController {
     private static final Logger logger = LoggerFactory.getLogger(SimulatAssessController.class);
-    private static final String taskTypeProgress = "calcprog";
 
     @Autowired
     private RedisTemplate redisTemplate;
@@ -240,7 +239,7 @@
 
     @GetMapping("getCalcProgress")
     public Result getCalcProgress(Long taskId) {
-        String key = taskId.toString() + taskTypeProgress;
+        String key = taskId.toString() + simulatAssessService.RELIA_SIM_TASK_TYPE_PROGRESS;
         String progress = (String) redisTemplate.opsForValue().get(key);
         if (progress == null) progress = "0";
         return Result.ok(progress);
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java
index 5050520..10595e9 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java
@@ -38,18 +38,13 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.awt.*;
 import java.io.BufferedReader;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.StringWriter;
-import java.util.ArrayList;
+import java.util.*;
 import java.io.File;
 import java.io.IOException;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
 import java.util.stream.Collectors;
 
 
@@ -62,7 +57,8 @@
 @Service
 public class SimulatAssessService extends BaseService<SimulatAssessDao, SimulatAssess> {
     private static final Logger logger = LoggerFactory.getLogger(SimulatAssessService.class);
-    private static final String RELIA_SIM_TASK_TYPE_SIMULATION = "calcreq";
+    public static final String RELIA_SIM_TASK_TYPE_SIMULATION = "calcreq";
+    public static final String RELIA_SIM_TASK_TYPE_PROGRESS = "calcprog";
 
     @Value("${spring.redis.host}")
     private String redisHost;
@@ -72,6 +68,8 @@
     private String reliaSimMain;
     @Value("${data.reliaSimLib.resultHome}")
     private String resultHome;
+    @Value("${data.reliaSimLib.fixedRandomSeed}")
+    private String fixedRandomSeed;
 
     @Autowired
     private RedisTemplate redisTemplate;
@@ -762,8 +760,19 @@
         // 閲囨牱鍛ㄦ湡
         jsonObject.put("timeslice", simulatAssess.getSamplPeriod() / 60.0);   // 鍗曚綅缁熶竴鎹㈢畻涓哄皬鏃�
         jsonObject.put("result_home", resultHome);
-        jsonObject.put("seed", 1000);
+        if (null != fixedRandomSeed && "1".equals(fixedRandomSeed)) {
+            // 鍥哄畾绉嶅瓙
+            jsonObject.put("seed", 1000);
+        } else {
+            // 闅忔満绉嶅瓙
+            jsonObject.put("seed", new Random().nextInt(1000));
+        }
         redisTemplate.opsForValue().set(key, jsonObject.toJSONString());
+    }
+
+    public void deleteSimInfoInRedis(Long simId) {
+        redisTemplate.delete(simId.toString() + RELIA_SIM_TASK_TYPE_SIMULATION);
+        redisTemplate.delete(simId.toString() + RELIA_SIM_TASK_TYPE_PROGRESS);
     }
 
     private void assembleModelXml(SimulatAssess simulatAssess) {
@@ -819,6 +828,8 @@
             } finally {
                 if (xmlWriter != null) xmlWriter.close();
             }
+            // XML瀛樼洏
+            update(simulatAssess);
         } catch (Exception e) {
             e.printStackTrace();
             throw new RuntimeException("缁勮绠楁硶搴撲豢鐪熻绠楃敤妯″瀷XML澶辫触: " + e.getMessage());
diff --git a/starter/src/main/resources/application.yml b/starter/src/main/resources/application.yml
index e529845..34c2efa 100644
--- a/starter/src/main/resources/application.yml
+++ b/starter/src/main/resources/application.yml
@@ -150,3 +150,5 @@
     mainPy: D:/relia_sim/main.py
     # 绠楁硶搴撲豢鐪熺粨鏋滃瓨鏀炬牴鐩綍
     resultHome: d:/relia_sim/sim_result
+    # 鏄惁鍥哄畾浠跨湡闅忔満绉嶅瓙锛�1锛氭槸锛�0锛氬惁锛�
+    fixedRandomSeed: 0

--
Gitblit v1.9.1