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/SimulatAssessService.java |  101 ++++++++++++++++++++++++++++----------------------
 1 files changed, 57 insertions(+), 44 deletions(-)

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 8047000..3f8a66d 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
@@ -14,7 +14,6 @@
 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.XhProductModel;
-import com.zt.life.modules.mainPart.basicInfo.service.XhProductModelService;
 import com.zt.life.modules.mainPart.taskReliability.dao.*;
 import com.zt.common.utils.JsonUtils2;
 import com.zt.life.modules.mainPart.taskReliability.dao.SimulatAssessDao;
@@ -188,11 +187,13 @@
         int groupHeight = 20;
 
         double pointNumPerHour = 60.0 / simulatAssess.getSamplPeriod();
+
         //鏃跺簭鍥剧嚎
         for (int i = 0; i < list.size(); i++) {
             x1 = 0;
             groupY = groupHeight * i;
             ProductStatusDto dto = list.get(i);
+            double startTime = 0.0;
             for (StatusDto status : dto.getStatusList()) {
                 switch (status.getStatus()) {
                     case "O":
@@ -211,9 +212,10 @@
                 JSONObject lineJson = new JSONObject(templetsStrMap.get(status.getStatus()));
                 setlineXy(lineJson, x1, y, x2, y, "");
                 JsonUtils2.setJsonValueByPath(lineJson, "data/status".split("/"), status.getStatus());
-                JsonUtils2.setJsonValueByPath(lineJson, "data/startTimes".split("/"), String.format("%.4f", x1));
-                JsonUtils2.setJsonValueByPath(lineJson, "data/endTimes".split("/"), String.format("%.4f", x1 + status.getTimes()));
+                JsonUtils2.setJsonValueByPath(lineJson, "data/startTimes".split("/"), String.format("%.1f", startTime));
+                JsonUtils2.setJsonValueByPath(lineJson, "data/endTimes".split("/"), String.format("%.1f", startTime + status.getTimes()));
                 JsonUtils2.setJsonValueByPath(lineJson, "id".split("/"), UUIDUtil.generateId().toString());
+                startTime = startTime + status.getTimes();
                 x1 = x2 - 5;
                 jsonArray.add(lineJson);
             }
@@ -275,14 +277,14 @@
             JSONObject textJson = new JSONObject(templetsStrMap.get("text"));
             JsonUtils2.setJsonValueByPath(textJson, "data/dataId".split("/"), modelId);
             JsonUtils2.setJsonValueByPath(textJson, "id".split("/"), UUIDUtil.generateId().toString());
-            JsonUtils2.setJsonValueByPath(textJson, "attrs/label/textWrap/text".split("/"), "妯″瀷"+(i+1));
+            JsonUtils2.setJsonValueByPath(textJson, "attrs/label/textWrap/text".split("/"), "妯″瀷" + (i + 1));
             JsonUtils2.setJsonValueByPath(textJson, "attrs/label/textWrap/modelName".split("/"), modelName);
 
-            JsonUtils2.setJsonValueByPath(textJson, "size/width".split("/"), mapSpace.get("width")+10);
+            JsonUtils2.setJsonValueByPath(textJson, "size/width".split("/"), mapSpace.get("width") + 10);
 
-            double x11 = x1 + ((gkPoint - mapSpace.get("width")+12) / 2);
+            double x11 = x1 + ((gkPoint - mapSpace.get("width") + 12) / 2);
             JsonUtils2.setJsonValueByPath(textJson, "position/x".split("/"), x11);
-            JsonUtils2.setJsonValueByPath(textJson, "position/y".split("/"), y1-10);
+            JsonUtils2.setJsonValueByPath(textJson, "position/y".split("/"), y1 - 10);
             jsonArray.add(textJson);
             x1 = x2;
         }
@@ -307,7 +309,7 @@
 
             double x11 = x - mapSpace.get("width") / 2 - 5;
             JsonUtils2.setJsonValueByPath(textJson, "position/x".split("/"), x11);
-            JsonUtils2.setJsonValueByPath(textJson, "position/y".split("/"), y2-10);
+            JsonUtils2.setJsonValueByPath(textJson, "position/y".split("/"), y2 - 10);
             jsonArray.add(textJson);
 
             curPointHour += periodHour;
@@ -669,8 +671,8 @@
         }
     }
 
-    private void addTasksTag(List<TaskPhaseModel> taskPhaseModelAll,
-                             Element root) {
+    public void addTasksTag(List<TaskPhaseModel> taskPhaseModelAll,
+                            Element root) {
         Element tasksTag = root.addElement("tasks");
         for (TaskPhaseModel taskPhaseModel : taskPhaseModelAll) {
             Element taskTag = tasksTag.addElement("task");
@@ -746,8 +748,8 @@
         }
     }
 
-    private void calcTaskPhaseModelDuration(TaskPhase taskPhase,
-                                            List<TaskPhaseModel> taskPhaseModelAll) {
+    public void calcTaskPhaseModelDuration(TaskPhase taskPhase,
+                                           List<TaskPhaseModel> taskPhaseModelAll) {
         List<TaskPhaseModel> taskPhaseModels = taskPhaseModelDao.getListByPhaseId(taskPhase.getId());
         double totalRate = taskPhaseModels.stream().mapToDouble(TaskPhaseModel::getOperatConditDurationRate).sum();
         double sum = 0.0;
@@ -766,7 +768,7 @@
         taskPhaseModels.get(taskPhaseModels.size() - 1).setOperatConditDuration(duration + taskPhase.getPhaseDuration() - sum);
     }
 
-    private List<TaskPhase> calcTaskPhaseDuration(Task task) {
+    public List<TaskPhase> calcTaskPhaseDuration(Task task) {
         List<TaskPhase> taskPhases = taskPhaseDao.getListByTaskId(task.getId());
         double totalRate = taskPhases.stream().mapToDouble(TaskPhase::getPhaseDurationRate).sum();
         double sum = 0.0;
@@ -1023,7 +1025,7 @@
         String filePath = path + "/" + fzId + "/" + "result.xml";
         List<WeakDto> list = new ArrayList<>();
         Map<Long, WeakDto> map = new HashMap<>();
-        String xml = null;
+        String xml;
         InputStream in = null;
         try {
             in = new FileInputStream(filePath);
@@ -1033,10 +1035,13 @@
             throw new RenException("鏂囦欢涓嶅瓨鍦ㄦ垨鑰呮枃浠舵墦涓嶅紑");
         } finally {
             try {
-                in.close();
+                if (in != null) {
+                    in.close();
+                }
             } catch (IOException e) {
                 e.printStackTrace();
             }
+
         }
 
         List<WeakDto> productList = baseDao.getProductList(taskId, productId);
@@ -1047,39 +1052,45 @@
         JSONArray jsonArray = xmlJSONObj.getJSONObject("ResultNodes").getJSONArray("ResultNode");
         for (int i = 0; i < jsonArray.size(); i++) {
             WeakDto data = new WeakDto();
-            Long productId1 = null;
+            Long productId1;
             Object nameValue = jsonArray.getJSONObject(i).get("name");
             if (nameValue instanceof Long) {
                 productId1 = (Long) nameValue;
-                WeakDto weakDto = map.get(productId1);
-                Double mtbfTime = null;
+                if (map.get(productId1) != null) {
+                    WeakDto weakDto = map.get(productId1);
+                    Double mtbfTime = null;
 
-                Double mtbf = (Double) jsonArray.getJSONObject(i).get("mttf");
-                Double mttr = (Double) jsonArray.getJSONObject(i).get("mttr");
-                Double msr = (Double) jsonArray.getJSONObject(i).get("msr");
+                    Double mtbf = (Double) jsonArray.getJSONObject(i).get("mttf");
+                    Double mttr = (Double) jsonArray.getJSONObject(i).get("mttr");
+                    Double msr = (Double) jsonArray.getJSONObject(i).get("msr");
 
-                data.setMtbf(mtbf);
-                data.setMttr(mttr);
-                data.setMsr(msr);
+                    data.setMtbf(mtbf);
+                    data.setMttr(mttr);
+                    data.setMsr(msr);
 
-                if (weakDto != null) {
-                    data.setId(weakDto.getId());
-                    data.setSort(weakDto.getSort());
-                    data.setPid(weakDto.getPid());
-                    data.setName(weakDto.getName());
-                    data.setProductType(weakDto.getProductType());
-                    data.setTimeRate(weakDto.getTimeRate());
-                    mtbfTime = mtbf / weakDto.getTimeRate();
+                    if (weakDto != null) {
+                        data.setId(weakDto.getId());
+                        data.setSort(weakDto.getSort());
+                        data.setPid(weakDto.getPid());
+                        data.setName(weakDto.getName());
+                        data.setProductType(weakDto.getProductType());
+                        data.setTimeRate(weakDto.getTimeRate());
+                        mtbfTime = mtbf / weakDto.getTimeRate();
+                    }
+
+                    data.setMtbfTime(mtbfTime);
+                    data.setIsWeak(0);
+
+                    list.add(data);
                 }
-
-                data.setMtbfTime(mtbfTime);
-                data.setIsWeak(0);
-
-                list.add(data);
             }
         }
-        List<WeakDto> treeList = TreeUtils.build(list);
-        this.getIsweak(treeList.get(0).getChildren());
+        List<WeakDto> treeList = new ArrayList<>();
+        if (list.size() > 0) {
+            treeList = TreeUtils.build(list);
+            this.getIsweak(treeList.get(0).getChildren());
+        }
+
         return treeList;
     }
 
@@ -1115,10 +1126,10 @@
             task = taskService.get(taskModelId);
             simulatAssess = this.getByTaskId(taskModelId);
             SimulaDataDto resultData;
-            if (showProductId!=null){
+            if (showProductId != null) {
                 simulatAssess.setProductId(showProductId);
-                resultData =this.getResultXML(simulatAssess);
-            }else{
+                resultData = this.getResultXML(simulatAssess);
+            } else {
                 resultData = this.getResultXML(simulatAssess);
             }
 
@@ -1147,7 +1158,7 @@
             this.update(simulatAssess);
         }
         String filePath = path + "/" + simulatAssess.getId() + "/" + "result.xml";
-        String xml = null;
+        String xml;
         InputStream in = null;
 
         try {
@@ -1158,7 +1169,9 @@
             throw new RenException("鏂囦欢涓嶅瓨鍦ㄦ垨鑰呮枃浠舵墦涓嶅紑");
         } finally {
             try {
-                in.close();
+                if (in != null) {
+                    in.close();
+                }
             } catch (IOException e) {
                 e.printStackTrace();
             }

--
Gitblit v1.9.1