From 27bf11e737fa1434d234e39db282ab52f3a32114 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期五, 27 九月 2024 14:22:19 +0800
Subject: [PATCH] 修改

---
 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ReliabilityAssessService.java |  433 ++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 356 insertions(+), 77 deletions(-)

diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ReliabilityAssessService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ReliabilityAssessService.java
index 2262f57..b38efe2 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ReliabilityAssessService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ReliabilityAssessService.java
@@ -3,9 +3,6 @@
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.XML;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.zt.common.constant.Constant;
-import com.zt.common.db.query.QueryFilter;
 import com.zt.common.exception.RenException;
 import com.zt.common.service.BaseService;
 import com.zt.common.servlet.Result;
@@ -14,15 +11,11 @@
 import com.zt.common.utils.TreeUtils;
 import com.zt.common.utils.UUIDUtil;
 import com.zt.core.shiro.ImportUtil;
+import com.zt.life.modules.mainPart.basicInfo.dao.ParamDataDao;
 import com.zt.life.modules.mainPart.basicInfo.dao.XhProductModelDao;
 import com.zt.life.modules.mainPart.basicInfo.model.ParamData;
-import com.zt.life.modules.mainPart.basicInfo.model.ProductImg;
 import com.zt.life.modules.mainPart.basicInfo.model.XhProductModel;
-import com.zt.life.modules.mainPart.basicInfo.service.ParamDataService;
-import com.zt.life.modules.mainPart.sysPictureBase.service.SysPictureBaseService;
-import com.zt.life.modules.mainPart.taskReliability.dao.AssessResultDao;
-import com.zt.life.modules.mainPart.taskReliability.dao.ReliabilityAssessDao;
-import com.zt.life.modules.mainPart.taskReliability.dto.TaskModelCheckResultDto;
+import com.zt.life.modules.mainPart.taskReliability.dao.*;
 import com.zt.life.modules.mainPart.taskReliability.model.*;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -47,6 +40,7 @@
 
 import java.io.*;
 import java.util.*;
+import java.util.stream.Collectors;
 
 
 /**
@@ -64,17 +58,33 @@
     private String redisHost;
     @Value("${spring.redis.port}")
     private String redisPort;
-    @Value("${data.reliaSimLib.mainPy}")
-    private String reliaSimMain;
-    @Value("${data.reliaSimLib.resultHome}")
+    @Value("${data.assessLib.mainPy}")
+    private String assessMain;
+    @Value("${data.assessLib.resultHome}")
     private String resultHome;
-    @Value("${data.reliaSimLib.resultHome}")
+    @Value("${data.assessLib.resultHome}")
     private String path;
 
     @Autowired
     private RedisTemplate redisTemplate;
     @Autowired
+    private TaskService taskService;
+    @Autowired
+    private SimulatAssessService simulatAssessService;
+    @Autowired
     private AssessResultDao assessResultDao;
+    @Autowired
+    private XhProductModelDao xhProductModelDao;
+    @Autowired
+    private ParamDataDao paramDataDao;
+    @Autowired
+    private ModelNodeAlgorithmDao modelNodeAlgorithmDao;
+    @Autowired
+    private AlgorithmDao algorithmDao;
+    @Autowired
+    private OperatConditModelDao operatConditModelDao;
+    @Autowired
+    private ReliabilityAssessDao reliabilityAssessDao;
 
     public List<ReliabilityAssess> page(AssessResult assessResult) {
         Long assessId = baseDao.getAssessId(assessResult.getItemId(), assessResult.getProductId(), assessResult.getTaskId());
@@ -109,7 +119,10 @@
         assessResultDao.insert(assessResult);
 
         List<ReliabilityAssess> list = this.getAssess(assessResult, assessId);
-        return TreeUtils.build(list);
+        if (list != null) {
+            list = TreeUtils.build(list);
+        }
+        return list;
     }
 
     public List<ReliabilityAssess> getAssess(AssessResult assessResult, Long assessId) {
@@ -134,46 +147,22 @@
                 }
             }
             JSONObject xmlJSONObj = XML.toJSONObject(xml);
-            JSONObject jsonObject = xmlJSONObj.getJSONObject("Results");
-
-            /*for (ReliabilityAssess assess : list) {
-                Double result1 = (Double) jsonObject.get(assess.getName());
+            //JSONObject jsonObject = xmlJSONObj.getJSONObject("Results");
+            JSONArray jsonArray = xmlJSONObj.getJSONObject("Results").getJSONArray("Result");
+            for (ReliabilityAssess assess : list) {
+                Double result1 = null;
+                for (int i = 0; i < jsonArray.size(); i++) {
+                    String nameValue = (String) jsonArray.getJSONObject(i).get("name");
+                    if (nameValue.contains(assess.getId().toString())) {
+                        // 鑾峰彇瀵瑰簲鐨勫��
+                        result1 = (Double)  jsonArray.getJSONObject(i).get("value");
+                        break; // 濡傛灉鎵惧埌灏遍��鍑哄惊鐜�
+                    }
+                }
                 if (result1 != null) {
                     result1 = Double.valueOf(new Formatter().format("%.2f", result1).toString());
                 }
-                Double result1=null;
                 assess.setAssessResult(result1);
-            }*/
-            Random random = new Random();
-
-            for (ReliabilityAssess assess : list) {
-                double lowerBound, upperBound;
-                switch (assess.getType()) {
-                    case 5:
-                        lowerBound = 0.95;
-                        upperBound = 0.99;
-                        break;
-                    case 4:
-                        lowerBound = 0.9;
-                        upperBound = 0.95;
-                        break;
-                    case 3:
-                        lowerBound = 0.85;
-                        upperBound = 0.9;
-                        break;
-                    case 2:
-                        lowerBound = 0.8;
-                        upperBound = 0.85;
-                        break;
-                    default:
-                        throw new IllegalArgumentException("Invalid type: " + assess.getType());
-                }
-
-                // 鐢熸垚涓�涓粙浜� lowerBound 鍒� upperBound 涔嬮棿鐨勯殢鏈烘暟
-                double adjustedRandom = lowerBound + (upperBound - lowerBound) * random.nextDouble();
-                adjustedRandom = Double.parseDouble(new Formatter().format("%.2f", adjustedRandom).toString());
-                // 璁剧疆璇勪及缁撴灉
-                assess.setAssessResult(adjustedRandom);
             }
         } else {
             list = null;
@@ -183,7 +172,10 @@
     }
 
 
+    // 寤虹珛浜у搧缁撴瀯鏍戞椂锛岀浉鍚岀殑璁惧澶氫釜浣跨敤鏃讹紝澶氫釜璁惧浣跨敤鐩稿悓鐨勫悕绉般�傝繖鏍凤紝鍦ㄦ澶勯�氳繃鍚嶇О鏉ュ垽鏂槸鍚︽槸鐩稿悓鐨勮澶囷紝鐩稿悓鐨勮澶囷紝闇�瑕佹嬁鍑烘潵浣滀负瀛愭爣绛惧祵濂楄繘xml銆�
     private void assembleModelXml(AssessResult assessResult) {
+/*
+        // 娴嬭瘯绠楁硶搴撶敤
         String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
                 "\n" +
                 "<des name=\"General system\" gama=\"0.7\">\n" +
@@ -215,31 +207,30 @@
                 "  </models>\n" +
                 "</des>";
         assessResult.setXml(xml);
-/*
-        Long productId = simulatAssess.getProductId();
+*/
+        Long productId = assessResult.getProductId();
+        Long taskId = assessResult.getTaskId();
+        Long itemId = assessResult.getItemId();
+        List<ReliabilityAssess> assessDataList = reliabilityAssessDao.getProductList(productId, itemId);
+        Task task = taskService.get(taskId);
         XhProductModel product = xhProductModelDao.getById(productId);
         List<XhProductModel> productList = xhProductModelDao.getByShipId(productId);
         List<ParamData> paramDataList = paramDataDao.getDeviceParams(productId);
-        Long taskId = simulatAssess.getTaskModelId();
-        Task task = taskService.get(taskId);
-        List<TaskBinoParam> binoParams = taskBinoParamDao.getBinoParams(taskId);
 
         // 1. 璁$畻鍚勪换鍔¢樁娈电殑杩愯鏃堕暱
-        List<TaskPhase> taskPhases = calcTaskPhaseDuration(task);
+        List<TaskPhase> taskPhases = simulatAssessService.calcTaskPhaseDuration(task);
         // 2. 璁$畻鍚勫伐鍐垫ā鍨嬬殑杩愯鏃堕暱
         List<TaskPhaseModel> taskPhaseModelAll = new ArrayList<>();
         for (TaskPhase taskPhase : taskPhases) {
-            calcTaskPhaseModelDuration(taskPhase, taskPhaseModelAll);
+            simulatAssessService.calcTaskPhaseModelDuration(taskPhase, taskPhaseModelAll);
         }
         // 3. 灏嗗悇宸ュ喌妯″瀷閫掑綊鎷嗚В涓哄畬鏁寸殑鍙緵绠楁硶鍖呬豢鐪熻绠楃殑妯″瀷
         try {
-            List<FailureModel> failureModels = new ArrayList<>();
-            List<RepairModel> repairModels = new ArrayList<>();
-
             Document document = DocumentHelper.createDocument();
             // 娣诲姞root鑺傜偣
             Element root = document.addElement("des");
             root.addAttribute("name", "General system");
+            root.addAttribute("gama", assessResult.getConfidence().toString());
             addTasksTag(taskPhaseModelAll, root);
             addModelsTag(taskId,
                     productId,
@@ -248,15 +239,8 @@
                     productList,
                     paramDataList,
                     taskPhaseModelAll,
-                    binoParams,
-                    root,
-                    failureModels, repairModels);
-            addFailureModelsTag(failureModels, root);
-            addRepairModelsTag(repairModels, root);
-            saveSimulatAssessTaskPhaseModel(simulatAssess,
-                    task,
-                    taskPhases,
-                    taskPhaseModelAll);
+                    assessDataList,
+                    root);
 
             // 杈撳嚭鏍煎紡鍖杧ml
             XMLWriter xmlWriter = null;
@@ -266,17 +250,310 @@
                 StringWriter writer = new StringWriter();
                 xmlWriter = new XMLWriter(writer, format);
                 xmlWriter.write(document);
-                simulatAssess.setXml(writer.toString());
+                assessResult.setXml(writer.toString());
             } finally {
                 if (xmlWriter != null) xmlWriter.close();
             }
-            // XML瀛樼洏
-            insert(simulatAssess);
         } catch (Exception e) {
             e.printStackTrace();
-            throw new RuntimeException("缁勮绠楁硶搴撲豢鐪熻绠楃敤妯″瀷XML澶辫触: " + e.getMessage());
+            throw new RenException("缁勮绠楁硶搴撲豢鐪熻绠楃敤妯″瀷XML澶辫触: " + e.getMessage());
         }
-*/
+    }
+
+    private void addModelsTag(Long taskId,
+                              Long productId,
+                              String productName,
+                              String productNamePath,
+                              List<XhProductModel> productList,
+                              List<ParamData> paramDataList,
+                              List<TaskPhaseModel> taskPhaseModelAll,
+                              List<ReliabilityAssess> assessDataList,
+                              Element root) {
+        Element modelsTag = root.addElement("models");
+        for (TaskPhaseModel taskPhaseModel : taskPhaseModelAll) {
+            Element modelTag = modelsTag.addElement("model");
+            modelTag.addAttribute("name", taskPhaseModel.getOperatConditId().toString());
+            List<OperatConditModel> gkModelsAssembled = operatConditModelDao.getGKModelAssembled(
+                    taskPhaseModel.getOperatConditId());
+            OperatConditModel gkModelTop = gkModelsAssembled.stream().filter(item ->
+                    productId.equals(item.getProductId())).collect(Collectors.toList()).get(0);
+            List<ModelNode> modelNodeAndVnodeList = modelNodeAlgorithmDao.getListByModelId(gkModelTop.getModelId());
+            List<Algorithm> algorithmList = algorithmDao.getListByModelId(gkModelTop.getModelId());
+            // 灏嗘ā鍨嬭浆鎹负DOM锛屾坊鍔犲埌model鏍囩
+            Algorithm endAlgo = algorithmList.stream().filter(item ->
+                    "end".equals(item.getAlgorithmType())).collect(Collectors.toList()).get(0);
+            ModelNode computerNode = modelNodeAndVnodeList.stream().filter(item ->
+                    endAlgo.getComputerList().equals(item.getId().toString())).collect(Collectors.toList()).get(0);
+            List<ModelNode> list = new ArrayList<>();
+            list.add(computerNode);
+            node2DOM(taskId,
+                    taskPhaseModel,
+                    gkModelTop.getModelId(),
+                    productId,
+                    productName,
+                    productNamePath,
+                    productList,
+                    paramDataList,
+                    gkModelsAssembled,
+                    algorithmList,
+                    modelNodeAndVnodeList,
+                    assessDataList,
+                    false,
+                    null,
+                    list,
+                    null, null, null, null,
+                    modelTag);
+        }
+    }
+
+    // 閫掑綊鍑芥暟
+    private void node2DOM(Long taskId,
+                          TaskPhaseModel taskPhaseModel,
+                          Long modelId,
+                          Long productId,
+                          String productName,
+                          String productNamePath,
+                          List<XhProductModel> productList,
+                          List<ParamData> paramDataList,
+                          List<OperatConditModel> gkModelsAssembled,
+                          List<Algorithm> algorithmList,
+                          List<ModelNode> modelNodeAndVnodeList,
+                          List<ReliabilityAssess> assessDataList,
+                          boolean sameNameGroup,
+                          String sameNameGroupAlgorithmType,
+                          List<ModelNode> nodeList,
+                          Integer distType,
+                          String NoE,
+                          String ToE,
+                          String F,
+                          Element parent) {
+        if (sameNameGroup) {
+            // 鐩稿悓璁惧鐨勫垎缁�
+            Element sameNameGroupTag = parent.addElement("logic");
+            sameNameGroupTag.addAttribute("name",
+                    nodeList.stream().map(item -> item.getId().toString()).collect(Collectors.joining(",")));
+            if ("parallel".equals(sameNameGroupAlgorithmType)) {
+                sameNameGroupTag.addAttribute("type", "parallel");
+            } else {
+                sameNameGroupTag.addAttribute("type", "series");
+            }
+            sameNameGroupTag.addAttribute("nums", String.valueOf(nodeList.size()));
+            Long dataId = nodeList.get(0).getDataId();
+            ParamData paramData = paramDataList.stream().filter(item ->
+                    dataId.equals(item.getProductId())).collect(Collectors.toList()).get(0);
+            String NoEStr = "";
+            String ToEStr = "";
+            String FStr = "";
+            for (ModelNode node : nodeList) {
+                List<ReliabilityAssess> assessDatas = assessDataList.stream().filter(item ->
+                        node.getDataId().equals(item.getId())).collect(Collectors.toList());
+                NoEStr += ",";
+                ToEStr += ",";
+                FStr += ",";
+                if (assessDatas.size() > 0) {
+                    NoEStr += assessDatas.get(0).getRunNum() != null ? assessDatas.get(0).getRunNum().toString() : "0";
+                    ToEStr += assessDatas.get(0).getRunTimes() != null ? assessDatas.get(0).getRunTimes().toString() : "0";
+                    FStr += assessDatas.get(0).getFailNum() != null ? assessDatas.get(0).getFailNum().toString() : "0";
+                }
+            }
+            NoEStr = NoEStr.substring(1);
+            ToEStr = ToEStr.substring(1);
+            FStr = FStr.substring(1);
+            for (ModelNode node : nodeList) {
+                List<ModelNode> list = new ArrayList<>();
+                list.add(node);
+                node2DOM(taskId,
+                        taskPhaseModel,
+                        modelId,
+                        null,
+                        null,
+                        null,
+                        productList,
+                        paramDataList,
+                        gkModelsAssembled,
+                        algorithmList,
+                        modelNodeAndVnodeList,
+                        assessDataList,
+                        false,
+                        null,
+                        list,
+                        paramData.getReliabDistribType(), NoEStr, ToEStr, FStr,
+                        sameNameGroupTag);
+            }
+        } else {
+            // 涓嶅悓璁惧锛堝彧鏈�1涓級
+            ModelNode node = nodeList.get(0);
+            if ("node".equals(node.getNodeType())) {
+                Long dataId = node.getDataId();
+                XhProductModel product = productList.stream().filter(item ->
+                        dataId.equals(item.getId())).collect(Collectors.toList()).get(0);
+                if ("3,4,10".contains(product.getProductType())) {
+                    // 绯荤粺銆佸垎绯荤粺銆佽櫄鍗曞厓
+                    OperatConditModel gkModel = gkModelsAssembled.stream().filter(item ->
+                            dataId.equals(item.getProductId())).collect(Collectors.toList()).get(0);
+                    List<Algorithm> algorithmListSub = algorithmDao.getListByModelId(gkModel.getModelId());
+                    List<ModelNode> modelNodeAndVnodeListSub = modelNodeAlgorithmDao.getListByModelId(gkModel.getModelId());
+                    Algorithm endAlgo = algorithmListSub.stream().filter(item ->
+                            "end".equals(item.getAlgorithmType())).collect(Collectors.toList()).get(0);
+                    ModelNode computerNode = modelNodeAndVnodeListSub.stream().filter(item ->
+                            endAlgo.getComputerList().equals(item.getId().toString())).collect(Collectors.toList()).get(0);
+                    List<ModelNode> list = new ArrayList<>();
+                    list.add(computerNode);
+                    node2DOM(taskId,
+                            taskPhaseModel,
+                            gkModel.getModelId(),
+                            product.getId(),
+                            product.getName(),
+                            product.getNamePath(),
+                            productList,
+                            paramDataList,
+                            gkModelsAssembled,
+                            algorithmListSub,
+                            modelNodeAndVnodeListSub,
+                            assessDataList,
+                            false,
+                            null,
+                            list,
+                            null, null, null, null,
+                            parent);
+                } else if ("5".equals(product.getProductType())) {
+                    // 璁惧
+                    Element nodeTag = parent.addElement("node");
+                    nodeTag.addAttribute("name", dataId.toString());
+                    nodeTag.addAttribute("real_name", product.getName());
+                    nodeTag.addAttribute("name_path", product.getNamePath());
+                    if (distType == 3) {
+                        // 浜岄」鍒嗗竷
+                        nodeTag.addAttribute("distType", "ber");
+                        nodeTag.addAttribute("NoE", NoE);
+                    } else {
+                        nodeTag.addAttribute("distType", "exp");
+                        nodeTag.addAttribute("ToE", ToE);
+                    }
+                    nodeTag.addAttribute("F", F);
+                }
+            } else {
+                // vnode锛堣繍绠楄妭鐐癸級
+                Algorithm algo = algorithmList.stream().filter(item ->
+                        node.getId().equals(item.getId())).collect(Collectors.toList()).get(0);
+                Element element = parent.addElement("logic");
+                if (null == productId) {
+                    element.addAttribute("name", algo.getId().toString());
+                } else {
+                    element.addAttribute("name", productId.toString());
+                    element.addAttribute("real_name", productName);
+                    element.addAttribute("name_path", productNamePath);
+                }
+                if ("series".equals(algo.getAlgorithmType())) {
+                    element.addAttribute("type", "series");
+                } else if ("parallel".equals(algo.getAlgorithmType())) {
+                    element.addAttribute("type", "parallel");
+                } else if ("vote".equals(algo.getAlgorithmType())) {
+                    element.addAttribute("type", "vote");
+                    element.addAttribute("k", algo.getVoteNum().toString());
+                } else if ("switch".equals(algo.getAlgorithmType())) {
+                    element.addAttribute("type", "standby");
+                } else if ("bridge".equals(algo.getAlgorithmType())) {
+                    element.addAttribute("type", "bridge");
+                }
+                // 鏍规嵁鍚嶅瓧杩涜鍒嗙粍澶勭悊
+                String[] computerNodeListStr = algo.getComputerList().split(",");
+                Map<String, List<ModelNode>> groupByNameMap = new HashMap<>();
+                for (String nodeStr : computerNodeListStr) {
+                    ModelNode mn = modelNodeAndVnodeList.stream().filter(item ->
+                            nodeStr.equals(item.getId().toString())).collect(Collectors.toList()).get(0);
+                    if (mn.getDataId() == null) {
+                        List<ModelNode> list = new ArrayList<>();
+                        list.add(mn);
+                        groupByNameMap.put(mn.getId().toString(), list);
+                    } else {
+                        XhProductModel product = productList.stream().filter(item ->
+                                mn.getDataId().equals(item.getId())).collect(Collectors.toList()).get(0);
+                        String name = product.getName();
+                        if (groupByNameMap.containsKey(name)) {
+                            groupByNameMap.get(name).add(mn);
+                        } else {
+                            List<ModelNode> list = new ArrayList<>();
+                            list.add(mn);
+                            groupByNameMap.put(name, list);
+                        }
+                    }
+                }
+                Iterator<String> iterator = groupByNameMap.keySet().iterator();
+                while (iterator.hasNext()) {
+                    String name = iterator.next();
+                    List<ModelNode> list = groupByNameMap.get(name);
+                    if (list.size() > 1) {
+                        // 鐩稿悓鍚嶇О鐨勮澶�
+                        node2DOM(taskId,
+                                taskPhaseModel,
+                                modelId,
+                                null,
+                                null,
+                                null,
+                                productList,
+                                paramDataList,
+                                gkModelsAssembled,
+                                algorithmList,
+                                modelNodeAndVnodeList,
+                                assessDataList,
+                                true,
+                                algo.getAlgorithmType(),
+                                list,
+                                null, null, null, null,
+                                element);
+                    } else {
+                        // 涓嶅悓鍚嶇О鑺傜偣锛�1涓妭鐐癸級
+                        Integer distTypeParam = null;
+                        String NoEStr = null;
+                        String ToEStr = null;
+                        String FStr = null;
+                        ModelNode oneNode = list.get(0);
+                        if (oneNode.getDataId() != null) {
+                            List<ParamData> paramDatas = paramDataList.stream().filter(item ->
+                                    oneNode.getDataId().equals(item.getProductId())).collect(Collectors.toList());
+                            if (paramDatas.size() > 0) {
+                                distTypeParam = paramDatas.get(0).getReliabDistribType();
+                            }
+                            List<ReliabilityAssess> assessDatas = assessDataList.stream().filter(item ->
+                                    oneNode.getDataId().equals(item.getId())).collect(Collectors.toList());
+                            if (assessDatas.size() > 0) {
+                                NoEStr = assessDatas.get(0).getRunNum() != null ? assessDatas.get(0).getRunNum().toString() : "0";
+                                ToEStr = assessDatas.get(0).getRunTimes() != null ? assessDatas.get(0).getRunTimes().toString() : "0";
+                                FStr = assessDatas.get(0).getFailNum() != null ? assessDatas.get(0).getFailNum().toString() : "0";
+                            }
+                        }
+                        node2DOM(taskId,
+                                taskPhaseModel,
+                                modelId,
+                                null,
+                                null,
+                                null,
+                                productList,
+                                paramDataList,
+                                gkModelsAssembled,
+                                algorithmList,
+                                modelNodeAndVnodeList,
+                                assessDataList,
+                                false,
+                                null,
+                                list,
+                                distTypeParam, NoEStr, ToEStr, FStr,
+                                element);
+                    }
+                }
+            }
+        }
+    }
+
+    private void addTasksTag(List<TaskPhaseModel> taskPhaseModelAll,
+                             Element root) {
+        Element tasksTag = root.addElement("tasks");
+        for (TaskPhaseModel taskPhaseModel : taskPhaseModelAll) {
+            Element taskTag = tasksTag.addElement("task");
+            taskTag.addAttribute("duration", String.valueOf(taskPhaseModel.getOperatConditDuration()));
+            taskTag.addAttribute("model", taskPhaseModel.getOperatConditId().toString());
+        }
     }
 
     private Result callReliaAssessLib(AssessResult assessResult) {
@@ -287,7 +564,7 @@
             setParamToRedis(assessResult);
 
             Process process = null;
-            String command = "python " + reliaSimMain;
+            String command = "python " + assessMain;
             command += " -ip " + redisHost + " -port " + redisPort;
             command += " -taskType " + RELIA_ASSESS_TASK_TYPE_SIMULATION + " -taskId " + assessResult.getId().toString();
             logger.info("cmd鍛戒护涓猴細" + command);
@@ -314,6 +591,8 @@
                     throw new RuntimeException("鍚姩绠楁硶搴撳け璐�: errorMsg=" + errorMsg);
                 }
             }
+
+            deleteAssessInfoInRedis(assessResult.getId()); //TODO锛堝彂甯冩椂鏀惧紑锛�
         } catch (Exception e) {
             logger.error("鍚姩鍙潬鎬ц瘎瀹氱畻娉曞簱鏃跺彂鐢烢xception锛�", e);
             e.printStackTrace();
@@ -348,8 +627,8 @@
         redisTemplate.opsForValue().set(key, jsonObject.toJSONString());
     }
 
-    public void deleteAssessInfoInRedis(Long simId) {
-        redisTemplate.delete(simId.toString() + RELIA_ASSESS_TASK_TYPE_SIMULATION);
+    public void deleteAssessInfoInRedis(Long assessId) {
+        redisTemplate.delete(assessId.toString() + RELIA_ASSESS_TASK_TYPE_SIMULATION);
     }
 
 

--
Gitblit v1.9.1