From 71f70458719aa6ce52d9ffd21eb5cd9d92a55fd0 Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期一, 28 十月 2024 10:12:38 +0800
Subject: [PATCH] 调整自动排版横向间距80->120

---
 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java |   64 +++++++++++++++++++++++++------
 1 files changed, 51 insertions(+), 13 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 d8696a3..0829c56 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
@@ -354,9 +354,9 @@
                         currentStatusDto.setX2(nextStatusDto.getX1());
                         statusDtoListNew.add(new TimeDiagramStatusDto(nextStatusDto.getX1(), nextStatusDto.getX2(), nextStatusDto.getStatus()));
                     } else if (nextStatusDto.getX1() > currentStatusDto.getX1() && nextStatusDto.getX2() < currentStatusDto.getX2()) {
-                        currentStatusDto.setX2(nextStatusDto.getX1());
                         statusDtoListNew.add(new TimeDiagramStatusDto(nextStatusDto.getX1(), nextStatusDto.getX2(), nextStatusDto.getStatus()));
                         statusDtoListOld.add(new TimeDiagramStatusDto(nextStatusDto.getX2(), currentStatusDto.getX2(), currentStatusDto.getStatus()));
+                        currentStatusDto.setX2(nextStatusDto.getX1());
                     }
                 } else {
                     if (nextStatusDto.getX1() >= currentStatusDto.getX2()) {
@@ -784,7 +784,8 @@
             Element root = document.addElement("des");
             root.addAttribute("name", "General system");
             addTasksTag(taskPhaseModelAll, root);
-            addModelsTag(taskId,
+            addModelsTag(simulatAssess,
+                    taskId,
                     productId,
                     product.getName(),
                     product.getNamePath(),
@@ -921,6 +922,10 @@
                     ele = repairModelTag.addElement("shape");
                     ele.addAttribute("value", String.valueOf(repairModel.getParam3()));
                     break;
+                case RepairModel.TYPE_DIRAC:
+                    ele = repairModelTag.addElement("repair-time");
+                    ele.addAttribute("value", String.valueOf(repairModel.getParam1()));
+                    break;
                 default:
                     break;
             }
@@ -963,7 +968,8 @@
         return taskPhases;
     }
 
-    private void addModelsTag(Long taskId,
+    private void addModelsTag(SimulatAssess simulatAssess,
+                              Long taskId,
                               Long productId,
                               String productName,
                               String productNamePath,
@@ -989,7 +995,8 @@
                     "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);
-            node2DOM(taskId,
+            node2DOM(simulatAssess,
+                    taskId,
                     taskPhaseModel,
                     gkModelTop.getModelId(),
                     productId,
@@ -1007,7 +1014,8 @@
     }
 
     // 閫掑綊鍑芥暟
-    private void node2DOM(Long taskId,
+    private void node2DOM(SimulatAssess simulatAssess,
+                          Long taskId,
                           TaskPhaseModel taskPhaseModel,
                           Long modelId,
                           Long productId,
@@ -1037,7 +1045,8 @@
                         "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);
-                node2DOM(taskId,
+                node2DOM(simulatAssess,
+                        taskId,
                         taskPhaseModel,
                         gkModel.getModelId(),
                         product.getId(),
@@ -1088,7 +1097,12 @@
 
                 if (1 == paramData.getRepairable()) {
                     // 鍙淮淇�
-                    RepairModel repairModel = createRepairModel(paramData);
+                    RepairModel repairModel = null;
+                    if (isRepairDirac(simulatAssess.getRepairDiracFlag(), taskPhaseModel, product.getId())) {
+                        repairModel = createRepairModelDirac(0);
+                    } else {
+                        repairModel = createRepairModel(paramData);
+                    }
                     repairModels.add(repairModel);
                     Element repairTag = nodeTag.addElement("repair_model");
                     repairTag.addAttribute("name", repairModel.getId().toString());
@@ -1123,7 +1137,8 @@
             for (String nodeStr : computerNodeListStr) {
                 ModelNode mn = modelNodeAndVnodeList.stream().filter(item ->
                         nodeStr.equals(item.getId().toString())).collect(Collectors.toList()).get(0);
-                node2DOM(taskId,
+                node2DOM(simulatAssess,
+                        taskId,
                         taskPhaseModel,
                         modelId,
                         null,
@@ -1178,23 +1193,46 @@
         return failureModel;
     }
 
+    private boolean isRepairDirac(Boolean repairDiracFlag, TaskPhaseModel taskPhaseModel, Long productId) {
+        boolean result = false;
+
+        if (repairDiracFlag != null && repairDiracFlag) {
+            if (taskPhaseModel.getPhaseConstraints() == null) {
+                result = true;
+            } else {
+                List<TaskPhaseConstraintDto> list = taskPhaseModel.getPhaseConstraints().stream().filter(item ->
+                        productId.equals(item.getProductId())).collect(Collectors.toList());
+                if (list.size() == 0) {
+                    result = true;
+                }
+            }
+        }
+
+        return result;
+    }
+
+    private RepairModel createRepairModelDirac(double time) {
+        RepairModel repairModel = new RepairModel();
+        repairModel.setId(UUIDUtil.generateId());
+        repairModel.setType(RepairModel.TYPE_DIRAC);
+        repairModel.setParam1(0);
+        return repairModel;
+    }
+
     private RepairModel createRepairModel(ParamData paramData) {
         RepairModel repairModel = new RepairModel();
         repairModel.setId(UUIDUtil.generateId());
         switch (paramData.getRepairDistribType()) {
             case 1:
                 // 鎸囨暟鍒嗗竷
-                repairModel.setType(FailureModel.TYPE_EXP);
+                repairModel.setType(RepairModel.TYPE_EXP);
                 repairModel.setParam1(1.0 / paramData.getRepairMttcr());
                 break;
             case 2:
                 // 濞佸竷灏斿垎甯�
-                repairModel.setType(FailureModel.TYPE_WBL);
+                repairModel.setType(RepairModel.TYPE_WBL);
                 repairModel.setParam2(paramData.getRepairMttcrOtherParams2());
                 repairModel.setParam3(paramData.getRepairMttcrOtherParams3());
-                break;
-            case 3:
-                // 浜岄」鍒嗗竷锛堢淮淇病鏈夛級
                 break;
             default:
                 break;

--
Gitblit v1.9.1