From 46c8d02ada5e72e5525ee7232e5932dbe383ffe6 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期四, 15 八月 2024 15:08:01 +0800
Subject: [PATCH] 修改
---
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/SimulaDataDto.java | 1
web/src/views/modules/taskReliability/SimulatHistory.vue | 5
web/src/views/modules/basicInfo/XhProductModel.vue | 2
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/SchemeComparDto.java | 13
web/src/views/modules/taskReliability/TimeDiagram.vue | 3
web/src/views/modules/taskReliability/SchemeCompar.vue | 127 ++++----
web/src/views/modules/basicInfo/ParamData.vue | 19
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/SimulatAssessDao.java | 7
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SchemeComparCurve.java | 13
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java | 228 +++++++++++++++-
web/public/产品结构树导入模板.xlsx | 0
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/SimulatAssessController.java | 109 +------
modules/mainPart/src/main/resources/mapper/taskReliability/SimulatAssessDao.xml | 67 ++++
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/WeakDto.java | 32 ++
web/src/views/modules/taskReliability/ReliabilityWeakness.vue | 148 ++++++++++
web/src/views/modules/taskReliability/SimulatAssess.vue | 2
web/src/views/modules/taskReliability/SimulatCurve.vue | 18
17 files changed, 596 insertions(+), 198 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 a022a2b..811745c 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
@@ -12,9 +12,7 @@
import com.zt.common.validator.group.DefaultGroup;
import com.zt.common.validator.group.UpdateGroup;
import com.zt.life.modules.mainPart.async.PythonLib;
-import com.zt.life.modules.mainPart.taskReliability.dto.SimulaDataDto;
-import com.zt.life.modules.mainPart.taskReliability.dto.ProductStatusDto;
-import com.zt.life.modules.mainPart.taskReliability.dto.StatusDto;
+import com.zt.life.modules.mainPart.taskReliability.dto.*;
import com.zt.life.modules.mainPart.taskReliability.model.CurveParam;
import com.zt.life.modules.mainPart.taskReliability.model.SimulatAssess;
import com.zt.life.modules.mainPart.taskReliability.model.Task;
@@ -59,14 +57,10 @@
@Autowired
private TaskService taskService;
- @Value("${data.reliaSimLib.resultHome}")
- private String path;
@Autowired
private SimulatAssessService simulatAssessService;
-
- private JSONObject xmlJSONObj;
/* @GetMapping("page")
@@ -92,8 +86,8 @@
@GetMapping("getSimulatList")
@ApiOperation("淇℃伅")
- public Result<List<SimulatAssess>> getSimulatList(Long productId, Long taskModelId) {
- List<SimulatAssess> data = simulatAssessService.getList(productId, taskModelId);
+ public Result<List<SimulatAssess>> getSimulatList(Long taskModelId) {
+ List<SimulatAssess> data = simulatAssessService.getList(taskModelId);
return Result.ok(data);
}
@@ -102,7 +96,6 @@
@ApiOperation("淇℃伅")
public Result<SimulatAssess> getSimulatParams(Long id, Long taskModelId) {
SimulatAssess data = simulatAssessService.getParams(id, taskModelId);
-
return Result.ok(data);
}
@@ -117,91 +110,14 @@
@PostMapping("getResultXML")
public Result<SimulaDataDto> getResultXML(@RequestBody SimulatAssess simulatAssess) {
- if (simulatAssess.getDataType().equals("fz")) {
- Integer num = simulatAssessService.getNumById(simulatAssess.getProductId(), simulatAssess.getTaskModelId());
- simulatAssess.setName("浠跨湡璁板綍" + (num + 1));
- simulatAssessService.insert(simulatAssess);
- }
- String filePath = path + "/" + simulatAssess.getId() + "/" + "result.xml";
- String xml = null;
- InputStream in =null;
- try {
- in = new FileInputStream(filePath);
- xml = IOUtils.toString(in);
- } catch (IOException e) {
- e.printStackTrace();
- }finally {
- try {
- in.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- xmlJSONObj = XML.toJSONObject(xml);
- simulatAssess.setShowProductId(simulatAssess.getProductId());
- SimulaDataDto data = this.getResultData(simulatAssess);
+ SimulaDataDto data = simulatAssessService.getResultXML(simulatAssess);
return Result.ok(data);
}
@PostMapping("getResultData")
public Result<SimulaDataDto> getData(@RequestBody SimulatAssess simulatAssess) {
- SimulaDataDto data = this.getResultData(simulatAssess);
+ SimulaDataDto data = simulatAssessService.getResultData(simulatAssess);
return Result.ok(data);
- }
-
- public SimulaDataDto getResultData(SimulatAssess simulatAssess) {
- SimulaDataDto data = new SimulaDataDto();
- CurveParam param = new CurveParam();
- Double samplPeriod = Double.valueOf(simulatAssess.getSamplPeriod());
- Task task = taskService.get(simulatAssess.getTaskModelId());
- samplPeriod = samplPeriod / 60;
- List<Double> xList = new ArrayList<>();
- for (Double i = 0.0; i + samplPeriod <= task.getTaskDuration(); i += samplPeriod) {
- xList.add(i);
- }
- param.setXData(xList);
- JSONArray jsonArray = xmlJSONObj.getJSONObject("ResultNodes").getJSONArray("ResultNode");
- for (int i = 0; i < jsonArray.size(); i++) {
- Long productId = null;
- Object nameValue = jsonArray.getJSONObject(i).get("name");
- if (nameValue instanceof Long) {
- productId = (Long) nameValue;
- if (productId.equals(simulatAssess.getShowProductId())) {
- Object object = jsonArray.getJSONObject(i).get("phase");
- List<Double> doubleArray = new ArrayList<>();
- String availability = null;
- if (object instanceof JSONArray) {
- JSONArray jsonArray2 = jsonArray.getJSONObject(i).getJSONArray("phase");
- for (int j = 0; j < jsonArray2.size(); j++) {
- if (availability != null) {
- availability = availability + " " + jsonArray2.getJSONObject(j).get("availability");
- } else {
- availability = (String) jsonArray2.getJSONObject(j).get("availability");
- }
- }
- } else {
- JSONObject jsonObject2 = jsonArray.getJSONObject(i).getJSONObject("phase");
- availability = (String) jsonObject2.get("availability");
- }
-
- String[] arr = availability.split(" ");
- // 閬嶅巻瀛愬瓧绗︿覆鏁扮粍锛屽皢姣忎釜鍏冪礌杞崲涓篸ouble骞跺瓨鍌ㄥ埌double鏁扮粍涓�
- for (int a = 0; a < arr.length; a++) {
- doubleArray.add(Double.parseDouble(arr[a]));
- }
- param.setYData(doubleArray);
- 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.setCurveParam(param);
- }
- }
-
- return data;
}
@GetMapping("getStatus")
@@ -239,12 +155,25 @@
String key = taskId.toString() + simulatAssessService.RELIA_SIM_TASK_TYPE_PROGRESS;
String progress = (String) redisTemplate.opsForValue().get(key);
if (progress == null) progress = "0";
- if(Objects.equals(progress, "100")){
+ if (Objects.equals(progress, "100")) {
simulatAssessService.deleteSimInfoInRedis(taskId);
}
return Result.ok(progress);
}
+ @GetMapping("ReliabilityWeakness")
+ public Result<List<WeakDto>> getReliabilityWeakness(Long fzId, Long taskId, Long productId) {
+ List<WeakDto> data = simulatAssessService.getReliabilityWeakness(fzId, taskId, productId);
+ return Result.ok(data);
+ }
+
+ @GetMapping("SchemeCompar")
+ public Result<SchemeComparDto> SchemeCompar(@RequestParam("taskList[]") String[] taskList) {
+ SchemeComparDto data = simulatAssessService.SchemeCompar(taskList);
+ return Result.ok(data);
+ }
+
+
@PutMapping
@ApiOperation("淇敼")
@LogOperation("淇敼")
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/SimulatAssessDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/SimulatAssessDao.java
index 17f4aa5..f6641dd 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/SimulatAssessDao.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/SimulatAssessDao.java
@@ -3,6 +3,7 @@
import com.zt.common.dao.BaseDao;
import com.zt.life.modules.mainPart.taskReliability.dto.ModelDto;
import com.zt.life.modules.mainPart.taskReliability.dto.ProductStatusDto;
+import com.zt.life.modules.mainPart.taskReliability.dto.WeakDto;
import com.zt.life.modules.mainPart.taskReliability.model.ModelRbd;
import com.zt.life.modules.mainPart.taskReliability.model.SimulatAssess;
import com.zt.life.modules.mainPart.taskReliability.model.SimulatAssessTaskPhaseModel;
@@ -23,7 +24,7 @@
@Mapper
public interface SimulatAssessDao extends BaseDao<SimulatAssess> {
- List<SimulatAssess> getList(Long productId, Long taskModelId);
+ List<SimulatAssess> getList(Long taskModelId);
Integer getNumById(Long productId, Long taskModelId);
@@ -39,4 +40,8 @@
List<SimulatAssessTaskPhaseModel> getModelList(Long productId, Long fzId);
ModelRbd getModelByProductGk(Long gkId, Long productId);
+
+ List<WeakDto> getProductList(Long taskId, Long productId);
+
+ SimulatAssess getByTaskId(Long taskModelId);
}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/SchemeComparDto.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/SchemeComparDto.java
new file mode 100644
index 0000000..3004e93
--- /dev/null
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/SchemeComparDto.java
@@ -0,0 +1,13 @@
+package com.zt.life.modules.mainPart.taskReliability.dto;
+
+import com.zt.life.modules.mainPart.taskReliability.model.SchemeComparCurve;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class SchemeComparDto {
+ private List<SchemeComparCurve> curveList;
+ private List<SimulaDataDto> dataList;
+ private List<Double> xDataList;
+}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/SimulaDataDto.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/SimulaDataDto.java
index 76296ab..1dc10b8 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/SimulaDataDto.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/SimulaDataDto.java
@@ -10,4 +10,5 @@
private Double Msr;
private Long productId;
private CurveParam curveParam;
+ private String name;
}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/WeakDto.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/WeakDto.java
new file mode 100644
index 0000000..ead4971
--- /dev/null
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dto/WeakDto.java
@@ -0,0 +1,32 @@
+package com.zt.life.modules.mainPart.taskReliability.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.zt.common.entity.BusiEntity;
+import com.zt.common.entity.TreeNode;
+import com.zt.life.modules.mainPart.basicInfo.model.ParamData;
+import com.zt.life.modules.mainPart.taskReliability.model.CurveParam;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Data
+public class WeakDto extends BusiEntity implements TreeNode<WeakDto> {
+ private String name;
+ private Integer productType;
+ private Integer isWeak;
+ private Double mtbfTime;
+ private Double timeRate;
+ private Double mtbf;
+ private Double mttr;
+ private Double msr;
+ private Long id;
+ private Long pid;
+ private Integer sort;
+
+
+ @ApiModelProperty(value = "瀛愯妭鐐�")
+ @TableField(exist = false)
+ private List<WeakDto> children = new ArrayList<>();
+}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SchemeComparCurve.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SchemeComparCurve.java
new file mode 100644
index 0000000..742297a
--- /dev/null
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SchemeComparCurve.java
@@ -0,0 +1,13 @@
+package com.zt.life.modules.mainPart.taskReliability.model;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class SchemeComparCurve {
+ private String name;
+ private String type;
+ private Boolean smooth;
+ private List<Double> data;
+}
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 10595e9..b85272a 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
@@ -2,24 +2,28 @@
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONArray;
+import cn.hutool.json.XML;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.spire.pdf.tables.table.convert.Convert;
import com.zt.common.exception.RenException;
import com.zt.common.service.BaseService;
import com.zt.common.servlet.Result;
+import com.zt.common.utils.TreeUtils;
import com.zt.common.utils.UUIDUtil;
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.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;
import com.zt.life.modules.mainPart.taskReliability.dao.TimeDiagramDao;
-import com.zt.life.modules.mainPart.taskReliability.dto.ProductStatusDto;
-import com.zt.life.modules.mainPart.taskReliability.dto.TaskModelCheckResult;
+import com.zt.life.modules.mainPart.taskReliability.dto.*;
import com.zt.life.modules.mainPart.taskReliability.model.*;
import com.zt.life.modules.mainPart.utils.GetStringSpace;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
@@ -27,7 +31,6 @@
import org.dom4j.io.XMLWriter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.zt.life.modules.mainPart.taskReliability.dto.StatusDto;
import com.zt.life.modules.mainPart.taskReliability.model.ModelRbd;
import com.zt.life.modules.mainPart.taskReliability.model.SimulatAssess;
import com.zt.life.modules.mainPart.taskReliability.model.SimulatAssessTaskPhaseModel;
@@ -38,13 +41,8 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.io.BufferedReader;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.StringWriter;
+import java.io.*;
import java.util.*;
-import java.io.File;
-import java.io.IOException;
import java.util.stream.Collectors;
@@ -76,7 +74,7 @@
@Autowired
private TaskService taskService;
@Autowired
- private TaskPhaseService taskPhaseService;
+ private XhProductModelService xhProductModelService;
@Autowired
private SimulatAssessTaskPhaseModelService simulatAssessTaskPhaseModelService;
@Autowired
@@ -111,6 +109,8 @@
Map<String, JSONObject> templetsMap = new HashMap<>();
Map<String, String> templetsStrMap = new HashMap<>();
+ private JSONObject xmlJSONObj;
+
/**
* 鍒嗛〉鏌ヨ
@@ -135,8 +135,12 @@
return baseDao.getNumById(productId, taskModelId);
}
- public List<SimulatAssess> getList(Long productId, Long taskModelId) {
- return baseDao.getList(productId, taskModelId);
+ public List<SimulatAssess> getList(Long taskModelId) {
+ return baseDao.getList(taskModelId);
+ }
+
+ public SimulatAssess getByTaskId(Long taskModelId) {
+ return baseDao.getByTaskId(taskModelId);
}
public SimulatAssess getParams(Long id, Long taskModelId) {
@@ -206,9 +210,9 @@
x2 = x1 + status.getTimes() * pointNumPerHour + 5;
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/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, "id".split("/"), UUIDUtil.generateId().toString());
x1 = x2 - 5;
jsonArray.add(lineJson);
@@ -1130,4 +1134,198 @@
return failureModel;
}
+
+ public List<WeakDto> getReliabilityWeakness(Long fzId, Long taskId, Long productId) {
+ String filePath = path + "/" + fzId + "/" + "result.xml";
+ List<WeakDto> list = new ArrayList<>();
+ Map<Long, WeakDto> map = new HashMap<>();
+ String xml = null;
+ InputStream in = null;
+ try {
+ in = new FileInputStream(filePath);
+ xml = IOUtils.toString(in);
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ try {
+ in.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ List<WeakDto> productList = baseDao.getProductList(taskId, productId);
+ for (WeakDto dto : productList) {
+ map.put(dto.getId(), dto);
+ }
+ JSONObject xmlJSONObj = XML.toJSONObject(xml);
+ JSONArray jsonArray = xmlJSONObj.getJSONObject("ResultNodes").getJSONArray("ResultNode");
+ for (int i = 0; i < jsonArray.size(); i++) {
+ WeakDto data = new WeakDto();
+ Long productId1 = null;
+ Object nameValue = jsonArray.getJSONObject(i).get("name");
+ if (nameValue instanceof Long) {
+ productId1 = (Long) nameValue;
+ 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");
+
+ 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();
+ }
+
+ data.setMtbfTime(mtbfTime);
+ data.setIsWeak(0);
+
+ list.add(data);
+ }
+ }
+ List<WeakDto> treeList = TreeUtils.build(list);
+ this.getIsweak(treeList.get(0).getChildren());
+ return treeList;
+ }
+
+ private void getIsweak(List<WeakDto> treeList) {
+ WeakDto minDto = null;
+ for (WeakDto dto : treeList) {
+ if (dto.getProductType() == 10)
+ continue;
+ if (minDto == null) {
+ minDto = dto;
+ }
+ if (dto.getMtbfTime() < minDto.getMtbfTime()) {
+ minDto = dto;
+ }
+ }
+ minDto.setIsWeak(1);
+ if (minDto.getChildren().size() > 0) {
+ this.getIsweak(minDto.getChildren());
+ }
+ }
+
+ public SchemeComparDto SchemeCompar(String[] taskList) {
+ SchemeComparDto dto = new SchemeComparDto();
+ List<SimulaDataDto> dataDtoList = new ArrayList<>();
+ List<SchemeComparCurve> curveList = new ArrayList<>();
+ List<Double> xData = new ArrayList<>();
+ SimulatAssess simulatAssess;
+ SimulaDataDto data;
+
+ Task task;
+ for (String taskId : taskList) {
+ Long taskModelId = Long.parseLong(taskId);
+ task = taskService.get(taskModelId);
+ simulatAssess = this.getByTaskId(taskModelId);
+ SimulaDataDto resultData = this.getResultXML(simulatAssess);
+ data = resultData;
+ data.setName(task.getTaskName());
+ dataDtoList.add(data);
+ xData = resultData.getCurveParam().getXData();
+
+ SchemeComparCurve curve = new SchemeComparCurve();
+ curve.setName(task.getTaskName());
+ curve.setSmooth(true);
+ curve.setType("line");
+ curve.setData(resultData.getCurveParam().getYData());
+ curveList.add(curve);
+ }
+ dto.setXDataList(xData);
+ dto.setDataList(dataDtoList);
+ dto.setCurveList(curveList);
+ return dto;
+ }
+
+ public SimulaDataDto getResultXML(SimulatAssess simulatAssess) {
+ if (simulatAssess.getDataType() != null && simulatAssess.getDataType().equals("fz")) {
+ Integer num = this.getNumById(simulatAssess.getProductId(), simulatAssess.getTaskModelId());
+ simulatAssess.setName("浠跨湡璁板綍" + (num + 1));
+ this.insert(simulatAssess);
+ }
+ String filePath = path + "/" + simulatAssess.getId() + "/" + "result.xml";
+ String xml = null;
+ InputStream in = null;
+ try {
+ in = new FileInputStream(filePath);
+ xml = IOUtils.toString(in);
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ try {
+ in.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ xmlJSONObj = XML.toJSONObject(xml);
+ simulatAssess.setShowProductId(simulatAssess.getProductId());
+ SimulaDataDto data = this.getResultData(simulatAssess);
+ return data;
+ }
+
+ public SimulaDataDto getResultData(SimulatAssess simulatAssess) {
+ SimulaDataDto data = new SimulaDataDto();
+ CurveParam param = new CurveParam();
+ Double samplPeriod = Double.valueOf(simulatAssess.getSamplPeriod());
+ samplPeriod = samplPeriod / 60;
+ JSONArray jsonArray = xmlJSONObj.getJSONObject("ResultNodes").getJSONArray("ResultNode");
+ for (int i = 0; i < jsonArray.size(); i++) {
+ Long productId = null;
+ Object nameValue = jsonArray.getJSONObject(i).get("name");
+ if (nameValue instanceof Long) {
+ productId = (Long) nameValue;
+ if (productId.equals(simulatAssess.getShowProductId())) {
+ Object object = jsonArray.getJSONObject(i).get("phase");
+ List<Double> doubleArray = new ArrayList<>();
+ List<Double> xList = new ArrayList<>();
+ String availability = null;
+ if (object instanceof JSONArray) {
+ JSONArray jsonArray2 = jsonArray.getJSONObject(i).getJSONArray("phase");
+ for (int j = 0; j < jsonArray2.size(); j++) {
+ if (availability != null) {
+ availability = availability + " " + jsonArray2.getJSONObject(j).get("availability");
+ } else {
+ availability = (String) jsonArray2.getJSONObject(j).get("availability");
+ }
+ }
+ } else {
+ JSONObject jsonObject2 = jsonArray.getJSONObject(i).getJSONObject("phase");
+ availability = (String) jsonObject2.get("availability");
+ }
+
+ String[] arr = availability.split(" ");
+ // 閬嶅巻瀛愬瓧绗︿覆鏁扮粍锛屽皢姣忎釜鍏冪礌杞崲涓篸ouble骞跺瓨鍌ㄥ埌double鏁扮粍涓�
+ Double j = 0.0;
+ for (int a = 0; a < arr.length; a++) {
+ j = samplPeriod + j;
+ doubleArray.add(Double.parseDouble(arr[a]));
+ xList.add(j);
+ }
+
+ param.setXData(xList);
+ param.setYData(doubleArray);
+ 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.setCurveParam(param);
+ }
+ }
+ return data;
+ }
}
diff --git a/modules/mainPart/src/main/resources/mapper/taskReliability/SimulatAssessDao.xml b/modules/mainPart/src/main/resources/mapper/taskReliability/SimulatAssessDao.xml
index 6d3d256..5ad395b 100644
--- a/modules/mainPart/src/main/resources/mapper/taskReliability/SimulatAssessDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/taskReliability/SimulatAssessDao.xml
@@ -6,8 +6,7 @@
<select id="getList" resultType="com.zt.life.modules.mainPart.taskReliability.model.SimulatAssess">
select id, CONCAT_WS(' ', name, CREATE_DATE) AS name
from simulat_assess
- where product_id = ${productId}
- and task_model_id = ${taskModelId}
+ where task_model_id = ${taskModelId}
and IS_DELETE = 0
order by CREATE_DATE desc
</select>
@@ -123,4 +122,68 @@
and b.is_delete = 0
limit 1
</select>
+ <select id="getProductList" resultType="com.zt.life.modules.mainPart.taskReliability.dto.WeakDto">
+ SELECT id,
+ pid,
+ NAME,
+ product_type,
+ sum(timeRate) AS timeRate,
+ sort
+ FROM (
+ SELECT f.id,
+ null as pid,
+ f.NAME,
+ f.product_type,
+ 1 AS timeRate,
+ 0 AS sort
+ FROM product_model f
+ WHERE f.id = ${productId}
+ AND f.is_delete = 0
+ UNION
+ SELECT f.id,
+ f.pid,
+ f.NAME,
+ f.product_type,
+ CASE
+
+ WHEN f.product_type = 5
+ AND g.reliab_distrib_type = 1 THEN
+ a.phase_duration_rate * b.operat_condit_duration_rate * g.task_mtbcf_operating_ratio
+ ELSE a.phase_duration_rate * b.operat_condit_duration_rate
+ END AS timeRate,
+ f.sort
+ FROM `task_phase` a,
+ task_phase_model b,
+ operat_condit c,
+ operat_condit_model d,
+ model_rbd_node e,
+ product_model f
+ left join param_data g on g.product_id = f.id
+ AND g.IS_DELETE = 0
+ WHERE a.task_id = ${taskId}
+ AND b.phase_id = a.id
+ AND b.is_delete = 0
+ AND a.is_delete = 0
+ AND b.is_delete = 0
+ AND c.id = b.operat_condit_id
+ AND c.is_delete = 0
+ AND d.operat_condit_id = c.id
+ AND d.is_delete = 0
+ AND e.model_id = d.model_id
+ AND e.is_delete = 0
+ AND f.id = e.node_id
+ AND f.ship_id = ${productId}
+ AND f.is_delete = 0
+ ) b
+ GROUP BY id
+ order by sort
+ </select>
+ <select id="getByTaskId" resultType="com.zt.life.modules.mainPart.taskReliability.model.SimulatAssess">
+ select *
+ from simulat_assess
+ where task_model_id = ${taskModelId}
+ and IS_DELETE = 0
+ order by CREATE_DATE desc
+ limit 1
+ </select>
</mapper>
diff --git "a/web/public/\344\272\247\345\223\201\347\273\223\346\236\204\346\240\221\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/web/public/\344\272\247\345\223\201\347\273\223\346\236\204\346\240\221\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
index 58726bd..1723768 100644
--- "a/web/public/\344\272\247\345\223\201\347\273\223\346\236\204\346\240\221\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
+++ "b/web/public/\344\272\247\345\223\201\347\273\223\346\236\204\346\240\221\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git a/web/src/views/modules/basicInfo/ParamData.vue b/web/src/views/modules/basicInfo/ParamData.vue
index db95e6c..82803bc 100644
--- a/web/src/views/modules/basicInfo/ParamData.vue
+++ b/web/src/views/modules/basicInfo/ParamData.vue
@@ -108,7 +108,7 @@
<span v-else v-text="scope.row.basicMtbfAccept"></span>
</template>
</el-table-column>-->
- <el-table-column prop="basicMtbfRegulSuccRate" :key="9" label="MTBF鎴愬姛鐜�" align="right">
+ <el-table-column prop="basicMtbfRegulSuccRate" :key="9" label="鎴愬姛鐜�" align="right">
<template slot-scope="scope">
<el-input v-if="scope.row.isEdit" v-model="scope.row.basicMtbfRegulSuccRate"></el-input>
<span v-else v-text="scope.row.basicMtbfRegulSuccRate"></span>
@@ -132,7 +132,7 @@
<span v-else v-text="scope.row.basicRunsNum"></span>
</template>
</el-table-column>
- <el-table-column prop="basicMtbfOperatingRatio" :key="13" label="MTBF杩愯姣�" align="right">
+ <el-table-column prop="basicMtbfOperatingRatio" :key="13" label="杩愯姣�" align="right">
<template slot-scope="scope">
<el-input v-if="scope.row.isEdit" v-model="scope.row.basicMtbfOperatingRatio"></el-input>
<span v-else v-text="scope.row.basicMtbfOperatingRatio"></span>
@@ -180,7 +180,7 @@
<span v-else v-text="scope.row.taskMtbcfAccept"></span>
</template>
</el-table-column>-->
- <el-table-column prop="taskMtbcfRegulSuccRate" :key="18" label="MTBCF鎴愬姛鐜�" align="right">
+ <el-table-column prop="taskMtbcfRegulSuccRate" :key="18" label="鎴愬姛鐜�" align="right">
<template slot-scope="scope">
<el-input v-if="scope.row.isEdit" v-model="scope.row.taskMtbcfRegulSuccRate"></el-input>
<span v-else v-text="scope.row.taskMtbcfRegulSuccRate"></span>
@@ -192,19 +192,19 @@
<span v-else v-text="scope.row.taskMtbcfAcceptSuccRate"></span>
</template>
</el-table-column>-->
- <el-table-column prop="taskMtbcfOperatingRatio" :key="20" label="MTBCF杩愯姣�" align="right">
+ <el-table-column prop="taskMtbcfOperatingRatio" :key="20" label="杩愯姣�" align="right">
<template slot-scope="scope">
<el-input v-if="scope.row.isEdit" v-model="scope.row.taskMtbcfOperatingRatio"></el-input>
<span v-else v-text="scope.row.taskMtbcfOperatingRatio"></span>
</template>
</el-table-column>
- <el-table-column prop="taskMtbcfOtherParams2" :key="21" label="MTBCF鍏朵粬鍙傛暟2" align="right">
+ <el-table-column prop="taskMtbcfOtherParams2" :key="21" label="鍏朵粬鍙傛暟2" align="right">
<template slot-scope="scope">
<el-input v-if="scope.row.isEdit" v-model="scope.row.taskMtbcfOtherParams2"></el-input>
<span v-else v-text="scope.row.taskMtbcfOtherParams2"></span>
</template>
</el-table-column>
- <el-table-column prop="taskMtbcfOtherParams3" :key="30" label="MTBCF鍏朵粬鍙傛暟3" align="right">
+ <el-table-column prop="taskMtbcfOtherParams3" :key="30" label="鍏朵粬鍙傛暟3" align="right">
<template slot-scope="scope">
<el-input v-if="scope.row.isEdit" v-model="scope.row.taskMtbcfOtherParams3"></el-input>
<span v-else v-text="scope.row.taskMtbcfOtherParams3"></span>
@@ -251,13 +251,13 @@
<span v-else>{{scope.row.repairMttcr | keepNumber}}</span>
</template>
</el-table-column>
- <el-table-column prop="repairMttcrOtherParams2" :key="26" label="MTTCR鍏朵粬鍙傛暟2" align="right">
+ <el-table-column prop="repairMttcrOtherParams2" :key="26" label="鍏朵粬鍙傛暟2" align="right">
<template slot-scope="scope">
<el-input v-if="scope.row.isEdit" v-model="scope.row.repairMttcrOtherParams2"></el-input>
<span v-else v-text="scope.row.repairMttcrOtherParams2"></span>
</template>
</el-table-column>
- <el-table-column prop="repairMttcrOtherParams3" :key="27" label="MTTCR鍏朵粬鍙傛暟3" align="right">
+ <el-table-column prop="repairMttcrOtherParams3" :key="27" label="鍏朵粬鍙傛暟3" align="right">
<template slot-scope="scope">
<el-input v-if="scope.row.isEdit" v-model="scope.row.repairMttcrOtherParams3"></el-input>
<span v-else v-text="scope.row.repairMttcrOtherParams3"></span>
@@ -316,6 +316,9 @@
reliabDistribType: ''
},
isOrNot: [{
+ value: 0,
+ label: '鍚�'
+ },{
value: 1,
label: '鏄�'
}],
diff --git a/web/src/views/modules/basicInfo/XhProductModel.vue b/web/src/views/modules/basicInfo/XhProductModel.vue
index aecf7aa..047fc4a 100644
--- a/web/src/views/modules/basicInfo/XhProductModel.vue
+++ b/web/src/views/modules/basicInfo/XhProductModel.vue
@@ -20,7 +20,7 @@
<el-form-item>
<zt-button v-if="productType && productType!=='10'" type="query" @click="table.query()"/>
<zt-button v-if="productType && productType!=='10'" type="add" @click="add()"/>
- <zt-button v-if="productType==='1'" size="small" type="primary" @click="exportProduct()">瀵煎嚭妯℃澘
+ <zt-button v-if="productType==='1'" size="small" type="primary" @click="exportProduct()">涓嬭浇妯℃澘
</zt-button>
<zt-button v-if="productType==='3'" type="primary" @click="addCell()">鏂板铏氬崟鍏�</zt-button>
<zt-button v-if="productType && productType!=='10'" type="delete" @click="table.deleteHandle()"/>
diff --git a/web/src/views/modules/taskReliability/ReliabilityWeakness.vue b/web/src/views/modules/taskReliability/ReliabilityWeakness.vue
new file mode 100644
index 0000000..81942b2
--- /dev/null
+++ b/web/src/views/modules/taskReliability/ReliabilityWeakness.vue
@@ -0,0 +1,148 @@
+<template>
+ <div>
+ <div class="mod-baseReliability-paramDataBasic fa-card-a" style="margin-left: 5px;">
+ <zt-table-wraper :defaultNotQuery='true' ref="tableObj" v-slot="{ table }" :paging='false'>
+ <el-form :inline="true" :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="80px">
+ <zt-form-item label="浜у搧鑺傜偣" prop="productId">
+ <zt-select v-model="dataForm.productId" :datas="productList" @change="onProductSelected"/>
+ </zt-form-item>
+ <zt-form-item label="璇曢獙鏂规" prop="taskModelId">
+ <zt-select v-model="dataForm.taskModelId" :datas="taskList" @change="onTaskSelected"/>
+ </zt-form-item>
+ <zt-form-item label="浠跨湡璁板綍" prop="simulatHis">
+ <zt-select v-model="dataForm.fzId" :datas="simulatList" @change="onSimulatSelected"/>
+ </zt-form-item>
+ </el-form>
+ <el-table v-loading="table.dataLoading" :data="dataList" height="100px" v-adaptive="{bottomOffset:70}"
+ row-key="id"
+ :expand-row-keys="defultKey"
+ :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
+ :header-cell-style="{'text-align':'center'}"
+ :row-style="rowStyle"
+ border @selection-change="table.selectionChangeHandle">
+ <el-table-column prop="name" label="鍚嶇О"/>
+ <el-table-column prop="mtbf" label="MTBF" align="right">
+ <template slot-scope="scope">
+ <span>{{ keepNumber(scope.row.mtbf) }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="mttr" label="MTTR" align="right">
+ <template slot-scope="scope">
+ <span>{{ keepNumber(scope.row.mttr) }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="msr" label="浠诲姟鎴愬姛搴�" align="right">
+ <template slot-scope="scope">
+ <span>{{keepNumber(scope.row.msr) }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="timeRate" label="浠诲姟鏃堕棿姣�" align="right">
+ <template slot-scope="scope">
+ <span>{{ keepNumber(scope.row.timeRate) }}</span>
+ </template>
+ </el-table-column>
+ </el-table>
+ </zt-table-wraper>
+ </div>
+
+ </div>
+</template>
+<script>
+
+ export default {
+ data() {
+ return {
+ productList: [],
+ simulatList: [],
+ dataList: [],
+ taskList: [],
+ dataForm: {
+ name: '',
+ fzId: '',
+ shipId: '',
+ mtbf: '',
+ mttr: '',
+ msr: '',
+ timeRate: ''
+ },
+ defultKey: []
+ }
+ },
+ computed: {
+ keepNumber() { //杩囨护鍣ㄤ繚鐣�4涓哄皬鏁�
+ return function (val) { // 瀵硅绠楀睘鎬ц繘琛屼紶鍙�
+ const numM = Number(val).toFixed(5);
+ return numM.substring(0, numM.length - 1);
+ }
+ },
+ },
+ mounted() {
+ this.getProductList()
+ },
+ methods: {
+ async getProductList() {
+ let res = await this.$http.get('/basicInfo/XhProductModel/getTaskProductList')
+ this.productList = res.data
+ this.onProductSelected(this.productList[0])
+ },
+ async getTaskList() {
+ let params = {
+ productId: this.dataForm.productId
+ }
+ let res = await this.$http.get('/taskReliability/Task/getTaskList', {params: params})
+ console.log(res.data)
+ this.taskList = res.data
+ this.onTaskSelected(this.taskList[0])
+ },
+ async getSimulatList() {
+ let params = {
+ productId: this.dataForm.productId,
+ taskModelId: this.dataForm.taskModelId
+ }
+ let res = await this.$http.get('/taskReliability/SimulatAssess/getSimulatList', {params: params})
+ console.log(res.data)
+ this.simulatList = res.data
+ this.$nextTick(() => {
+ this.onSimulatSelected(this.simulatList[0])
+ })
+ },
+ // 鑾峰彇淇℃伅
+ onProductSelected(data) {
+ this.isSelect = true
+ console.log(data, ' onProductSelected(data)')
+ this.dataForm.productId = data.id
+ this.getTaskList()
+ this.dataForm.taskModelId = ''
+ },
+ onTaskSelected(data) {
+ console.log(data, ' onProductSelected(data)')
+ this.dataForm.taskModelId = data.id
+ this.getSimulatList()
+ this.dataForm.fzId = ''
+ },
+ setDefultKey() {
+ this.defultKey.push(this.dataForm.productId + "")
+ },
+ async onSimulatSelected(data) {
+ this.dataForm.fzId = data.id
+ this.dataForm.samplPeriod = data.samplPeriod
+ let params = {
+ fzId: this.dataForm.fzId,
+ taskId:this.dataForm.taskModelId,
+ productId:this.dataForm.productId
+ }
+ let res = await this.$http.get('/taskReliability/SimulatAssess/ReliabilityWeakness', {params: params})
+ this.dataList = res.data
+ this.setDefultKey()
+ console.log(this.dataList)
+ },
+ rowStyle({row,rowIndex}) {
+ console.log(row)
+ if (row.isWeak===1){
+ console.log(row.isWeak,"console.log(row)")
+ return {color: 'red'}
+ }
+ },
+ }
+ }
+</script>
diff --git a/web/src/views/modules/taskReliability/SchemeCompar.vue b/web/src/views/modules/taskReliability/SchemeCompar.vue
index 0a75993..8a4c96f 100644
--- a/web/src/views/modules/taskReliability/SchemeCompar.vue
+++ b/web/src/views/modules/taskReliability/SchemeCompar.vue
@@ -7,8 +7,8 @@
<zt-select v-model="dataForm.productId" :datas="productList" @change="onProductSelected"/>
</zt-form-item>
<zt-form-item label="鍙潬鎬ф柟妗�" prop="taskModelId" width="500px">
- <zt-select style="width: 400px" v-model="dataForm.name" :datas="schemeList"
- @change="onSchemeSelected" :multiple="true"/>
+ <zt-select style="width: 400px" v-model="dataForm.taskModelId" :datas="schemeList"
+ @change="onTaskSelected" :multiple="true"/>
</zt-form-item>
<zt-form-item>
<zt-button @click="compair()">鏂规瀵规瘮</zt-button>
@@ -29,29 +29,38 @@
<el-button v-if="!isZk" type="info" size="small" icon="el-icon-caret-right"
style="position: absolute;right: 10%;top: 10%;z-index: 1" @click="zk()"></el-button>
<div v-if="isZk" style="position: absolute;right: 10%;top: 15%">
- <el-table :data="tableData" border style="width: 400px">
+ <el-table :data="tableData" border style="width: 500px">
<el-table-column
prop="name"
label="鏂规鍚嶇О"
>
</el-table-column>
<el-table-column
- prop="MTBF"
+ prop="mtbf"
label="MTBF"
- width="80px"
+ width="90px"
align="right">
+ <template slot-scope="scope">
+ <span>{{ keepNumber(scope.row.mtbf) }}</span>
+ </template>
</el-table-column>
<el-table-column
- prop="MTTR"
+ prop="mttr"
label="MTTR"
- width="80px"
+ width="90px"
align="right">
+ <template slot-scope="scope">
+ <span>{{ keepNumber(scope.row.mttr) }}</span>
+ </template>
</el-table-column>
<el-table-column
- prop="MSR"
+ prop="msr"
label="MSR"
- width="80px"
+ width="90px"
align="right">
+ <template slot-scope="scope">
+ <span>{{ keepNumber(scope.row.mttr) }}</span>
+ </template>
</el-table-column>
</el-table>
</div>
@@ -80,48 +89,30 @@
isShow: false,
isZk: true,
productList: [],
- schemeList: [
- {
- id: 1,
- name: '鏂规涓�'
- }, {
- id: 2,
- name: '鏂规浜�'
- }, {
- id: 3,
- name: '鏂规涓�'
- }
- ],
+ schemeList: [],
dataForm: {
id: '',
- name: [],
+ taskModelId: [],
productId: '',
showProductId: '',
- taskModelId: '',
dataType: 'fz',
},
- tableData: [
- {
- name: '鏂规涓�',
- MTBF: '68.74',
- MTTR: '0.43',
- MSR: '0.85'
- }, {
- name: '鏂规浜�',
- MTBF: '78.74',
- MTTR: '0.52',
- MSR: '0.86'
- }, {
- name: '鏂规涓�',
- MTBF: '69.84',
- MTTR: '0.62',
- MSR: '0.88'
- }
- ],
+ xDataList: [],
+ seriesList: [],
+ tableData: [],
+ taskList: [],
}
},
mounted() {
this.getProductList()
+ },
+ computed: {
+ keepNumber() { //杩囨护鍣ㄤ繚鐣�4涓哄皬鏁�
+ return function (val) { // 瀵硅绠楀睘鎬ц繘琛屼紶鍙�
+ const numM = Number(val).toFixed(5);
+ return numM.substring(0, numM.length - 1);
+ }
+ },
},
components: {
ProductModelTree,
@@ -140,12 +131,16 @@
this.isSelect = true
console.log(data, ' onProductSelected(data)')
this.dataForm.productId = data.id
+ this.getTaskList()
this.$nextTick(() => {
this.$refs.ProductModelTree.getProductList()
})
},
- onSchemeSelected() {
- console.log(this.dataForm.name)
+ onTaskSelected(data){
+ console.log(data,'onTaskSelected(data)')
+ for (let item of data){
+ this.taskList.push(item.name)
+ }
},
zk() {
this.isZk = !this.isZk;
@@ -155,11 +150,30 @@
this.productList = res.data
this.onProductSelected(this.productList[0])
},
- compair() {
+ async getTaskList() {
+ let params = {
+ productId: this.dataForm.productId
+ }
+ let res = await this.$http.get('/taskReliability/Task/getTaskList', {params: params})
+ console.log(res.data)
+ this.schemeList = res.data
+ },
+ async compair() {
+ let params = {
+ taskList: this.dataForm.taskModelId
+ }
+ console.log(this.dataForm.taskModelId,'this.dataForm.taskModelId')
+ let res = await this.$http.get('/taskReliability/SimulatAssess/SchemeCompar', {params: params})
+ console.log(res.data, "res")
+ this.xDataList =res.data.xdataList
+ this.seriesList = res.data.curveList
+ this.tableData = res.data.dataList
+
+
this.isShow = true
this.option = {
xAxis: {
- data: [0.0, 50.0, 100.0, 150.0, 200.0, 250.0, 300.0, 350.0, 400.0, 450.0, 500.0, 550.0],
+ data: this.xDataList,
name: '浠跨湡鎬绘椂闀�'
},
yAxis: {
@@ -167,28 +181,9 @@
name: '鍙潬搴�',
},
legend: {
- data: ['鏂规涓�', '鏂规浜�', '鏂规涓�']
+ data: this.taskList
},
- series: [
- {
- name: '鏂规涓�',
- type: 'line',
- smooth: true,
- data: [1.0, 0.6, 0.39, 0.39, 0.24, 0.14, 0.08, 0.06, 0.06, 0.04, 0.02, 0.01, 0.01, 0.0, 0.0]
- },
- {
- name: '鏂规浜�',
- type: 'line',
- smooth: true,
- data: [1.0, 0.8, 0.59, 0.58, 0.34, 0.35, 0.18, 0.16, 0.16, 0.04, 0.04, 0.02, 0.01, 0.1, 0.0]
- },
- {
- name: '鏂规涓�',
- type: 'line',
- smooth: true,
- data: [1.0, 0.7, 0.45, 0.44, 0.38, 0.38, 0.15, 0.08, 0.08, 0.02, 0.02, 0.01, 0.01, 0.1, 0.0]
- }
- ]
+ series: this.seriesList
};
this.myChart = echart.init(document.getElementById("myChart"));
console.log(this.option, ' this.option ')
diff --git a/web/src/views/modules/taskReliability/SimulatAssess.vue b/web/src/views/modules/taskReliability/SimulatAssess.vue
index bf04611..ebf7cdb 100644
--- a/web/src/views/modules/taskReliability/SimulatAssess.vue
+++ b/web/src/views/modules/taskReliability/SimulatAssess.vue
@@ -9,7 +9,7 @@
<zt-form-item label="鎬讳綋浠诲姟" prop="taskModelId">
<zt-select v-model="dataForm.taskModelId" :datas="taskList" @change="onTaskSelected"/>
</zt-form-item>
- <zt-form-item label="閲囨牱鍛ㄦ湡" prop="samplPeriod">
+ <zt-form-item label="鏃堕棿鍒嗙墖" prop="samplPeriod">
<el-input type="number" :min="1" v-model="dataForm.samplPeriod">
<template slot="append">鍒嗛挓</template>
</el-input>
diff --git a/web/src/views/modules/taskReliability/SimulatCurve.vue b/web/src/views/modules/taskReliability/SimulatCurve.vue
index ae749f3..5b31c66 100644
--- a/web/src/views/modules/taskReliability/SimulatCurve.vue
+++ b/web/src/views/modules/taskReliability/SimulatCurve.vue
@@ -36,20 +36,20 @@
}
this.option = {
title: {
- text: "mttr:" + this.mttr + " mtbf:" + this.mtbf+ " msr:" + this.msr,
+ text: "mtbf:" + this.mtbf + " mttr:" + this.mttr + " msr:" + this.msr,
textStyle: { // 涓绘爣棰樻枃鏈牱寮弡"fontSize": 18,"fontWeight": "bolder","color": "#333"}
fontFamily: 'Arial',
fontSize: 30,
fontStyle: 'normal',
fontWeight: 'normal',
},
- textAlign:'auto',//鏁翠綋锛堝寘鎷� text 鍜� subtext锛夌殑姘村钩瀵归綈
- textVerticalAlign:'auto',//鏁翠綋锛堝寘鎷� text 鍜� subtext锛夌殑鍨傜洿瀵归綈
- padding:0,//[5,10] | [ 5,6, 7, 8] ,鏍囬鍐呰竟璺�
- left:'center',//'5' | '5%'锛宼itle 缁勪欢绂诲鍣ㄥ乏渚х殑璺濈
- right:'auto',//'title 缁勪欢绂诲鍣ㄥ彸渚х殑璺濈
- top:'auto',//title 缁勪欢绂诲鍣ㄤ笂渚х殑璺濈
- bottom:'auto',//title 缁勪欢绂诲鍣ㄤ笅渚х殑璺濈
+ textAlign: 'auto',//鏁翠綋锛堝寘鎷� text 鍜� subtext锛夌殑姘村钩瀵归綈
+ textVerticalAlign: 'auto',//鏁翠綋锛堝寘鎷� text 鍜� subtext锛夌殑鍨傜洿瀵归綈
+ padding: 0,//[5,10] | [ 5,6, 7, 8] ,鏍囬鍐呰竟璺�
+ left: 'center',//'5' | '5%'锛宼itle 缁勪欢绂诲鍣ㄥ乏渚х殑璺濈
+ right: 'auto',//'title 缁勪欢绂诲鍣ㄥ彸渚х殑璺濈
+ top: 'auto',//title 缁勪欢绂诲鍣ㄤ笂渚х殑璺濈
+ bottom: 'auto',//title 缁勪欢绂诲鍣ㄤ笅渚х殑璺濈
},
xAxis: {
data: this.xDataList,
@@ -87,7 +87,7 @@
}
this.option = {
title: {
- text: "mttr:" + this.mttr + " mtbf:" + this.mtbf+ " msr:" + this.msr,
+ text: "mtbf:" + this.mtbf + " mttr:" + this.mttr + " msr:" + this.msr,
textStyle: { // 涓绘爣棰樻枃鏈牱寮弡"fontSize": 18,"fontWeight": "bolder","color": "#333"}
fontFamily: 'Arial',
fontSize: 30,
diff --git a/web/src/views/modules/taskReliability/SimulatHistory.vue b/web/src/views/modules/taskReliability/SimulatHistory.vue
index 5bd0baf..52613d6 100644
--- a/web/src/views/modules/taskReliability/SimulatHistory.vue
+++ b/web/src/views/modules/taskReliability/SimulatHistory.vue
@@ -12,7 +12,7 @@
<zt-form-item label="浠跨湡璁板綍" prop="simulatHis">
<zt-select v-model="dataForm.id" :datas="simulatList" @change="onSimulatSelected"/>
</zt-form-item>
- <zt-form-item label="閲囨牱鍛ㄦ湡" prop="samplPeriod">
+ <zt-form-item label="鏃堕棿鍒嗙墖" prop="samplPeriod">
<el-input v-model="dataForm.samplPeriod" readonly="false">
</el-input>
</zt-form-item>
@@ -25,7 +25,7 @@
<el-col :span="4">
<div style="margin-right: 5px;height: calc(88vh - 100px)" v-if="isSelect">
<product-model-tree @on-selected="onTreeSelected" showXdy="false"
- ref="ProductModelTree" :isShow="false" basic="4" :productId="dataForm.productId"/>
+ ref="ProductModelTree" :isShow="false" basic="5" :productId="dataForm.productId"/>
</div>
</el-col>
<el-col :span="20">
@@ -93,7 +93,6 @@
},
async getSimulatList() {
let params = {
- productId: this.dataForm.productId,
taskModelId: this.dataForm.taskModelId
}
let res = await this.$http.get('/taskReliability/SimulatAssess/getSimulatList', {params: params})
diff --git a/web/src/views/modules/taskReliability/TimeDiagram.vue b/web/src/views/modules/taskReliability/TimeDiagram.vue
index 5a4f774..9fce2f7 100644
--- a/web/src/views/modules/taskReliability/TimeDiagram.vue
+++ b/web/src/views/modules/taskReliability/TimeDiagram.vue
@@ -12,7 +12,7 @@
<zt-form-item label="浠跨湡璁板綍" prop="simulatHis">
<zt-select v-model="dataForm.id" :datas="simulatList" @change="onSimulatSelected"/>
</zt-form-item>
- <zt-form-item label="閲囨牱鍛ㄦ湡" prop="samplPeriod">
+ <zt-form-item label="鏃堕棿鍒嗙墖" prop="samplPeriod">
<el-input v-model="dataForm.samplPeriod" readonly="false">
</el-input>
</zt-form-item>
@@ -509,7 +509,6 @@
},
async getSimulatList() {
let params = {
- productId: this.dataForm.productId,
taskModelId: this.dataForm.taskModelId
}
let res = await this.$http.get('/taskReliability/SimulatAssess/getSimulatList', {params: params})
--
Gitblit v1.9.1