From 48dcf2c7f01de5078f6a7f94dbc59400100e9ab6 Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期三, 23 十月 2024 11:05:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java | 182 +++++++++++++++++++++++++--------------------
1 files changed, 100 insertions(+), 82 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 b32a5ea..b574501 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
@@ -26,6 +26,7 @@
import com.zt.life.modules.mainPart.utils.GetStringSpace;
import io.swagger.models.auth.In;
import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
@@ -332,7 +333,8 @@
List<TimeDiagramStatusDto> statusDtoListNew = new ArrayList<>();
while (statusDtoListOld.size() > 0) {
- statusDtoListOld.stream().sorted(Comparator.comparing(TimeDiagramStatusDto::getX1)).collect(Collectors.toList());
+ //statusDtoListOld.stream().sorted(Comparator.comparing(TimeDiagramStatusDto::getX1)).collect(Collectors.toList());
+ statusDtoListOld.sort(Comparator.comparing(TimeDiagramStatusDto::getX1, Comparator.naturalOrder()));
TimeDiagramStatusDto nextStatusDto = statusDtoListOld.get(0);
if (statusDtoListNew.size() == 0) {
statusDtoListNew.add(nextStatusDto);
@@ -357,7 +359,9 @@
statusDtoListOld.add(new TimeDiagramStatusDto(nextStatusDto.getX2(), currentStatusDto.getX2(), currentStatusDto.getStatus()));
}
} else {
- if (nextStatusDto.getX2() > currentStatusDto.getX2()) {
+ if (nextStatusDto.getX1() >= currentStatusDto.getX2()) {
+ statusDtoListNew.add(new TimeDiagramStatusDto(nextStatusDto.getX1(), nextStatusDto.getX2(), nextStatusDto.getStatus()));
+ } else if (nextStatusDto.getX2() > currentStatusDto.getX2()) {
statusDtoListOld.add(new TimeDiagramStatusDto(currentStatusDto.getX2(), nextStatusDto.getX2(), nextStatusDto.getStatus()));
}
}
@@ -548,9 +552,31 @@
}
public List<ProductStatusDto> getStatusData(Long productId, Long taskId) {
- List<ProductStatusDto> childList = this.getProduct(productId, taskId);
+
+ List<ProductStatusDto> dbList = this.getProduct(productId, taskId);
+ List<ProductStatusDto> childList = new ArrayList<>();
+ for (ProductStatusDto item : dbList) {
+ if (item.getSameSbNum() > 1) {
+ for (int i = 1; i <= item.getSameSbNum(); i++) {
+ try {
+ ProductStatusDto newRow = item.clone();
+ newRow.setDeviceNo(i);
+ newRow.setName(item.getName() + "-" + i);
+ newRow.setDataId(item.getId().toString() + "-" + i);
+ childList.add(newRow);
+ } catch (CloneNotSupportedException e) {
+ e.printStackTrace();
+ }
+ }
+ } else {
+ item.setDeviceNo(0);
+ item.setDataId(item.getId().toString());
+ childList.add(item);
+ }
+ }
+ childList.sort(Comparator.comparing(ProductStatusDto::getDeviceNo, Comparator.naturalOrder()));
for (ProductStatusDto item : childList) {
- JSONArray jsonArray = dialgramJson.getJSONArray(String.valueOf(item.getId()));
+ JSONArray jsonArray = dialgramJson.getJSONArray(item.getDataId());
if (jsonArray != null) {
this.processJSONArray(jsonArray, item, taskId);
}
@@ -1038,8 +1064,8 @@
// 璁惧
Integer deviceNo = node.getDeviceNo();
Element nodeTag = parent.addElement("node");
- nodeTag.addAttribute("name", deviceNo == 0 ? dataId.toString() : dataId.toString()+"-"+deviceNo);
- nodeTag.addAttribute("real_name", deviceNo == 0 ? product.getName() : product.getName()+"-"+deviceNo);
+ nodeTag.addAttribute("name", deviceNo == 0 ? dataId.toString() : dataId.toString() + "-" + deviceNo);
+ nodeTag.addAttribute("real_name", deviceNo == 0 ? product.getName() : product.getName() + "-" + deviceNo);
nodeTag.addAttribute("name_path", product.getNamePath());
nodeTag.addAttribute("type", "node");
@@ -1214,8 +1240,7 @@
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;
InputStream in = null;
try {
@@ -1235,50 +1260,46 @@
}
- List<WeakDto> productList = baseDao.getProductList(taskId, productId);
- for (WeakDto dto : productList) {
- map.put(dto.getId(), dto);
- }
+ Map<Long, WeakDto> map = new HashMap<>();
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;
- Object nameValue = jsonArray.getJSONObject(i).get("name");
- if (nameValue instanceof Long) {
- productId1 = (Long) nameValue;
- if (map.get(productId1) != null) {
- WeakDto weakDto = map.get(productId1);
- Double mtbfTime = null;
+ String nameValue = jsonArray.getJSONObject(i).get("name").toString();
+ if (StringUtils.isNotBlank(nameValue)) {
+ productId1 = Convert.toLong(nameValue.split("-")[0]);
- 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();
+ Double mtbf = (Double) jsonArray.getJSONObject(i).get("mttf");
+ Double mttr = (Double) jsonArray.getJSONObject(i).get("mttr");
+ Double msr = (Double) jsonArray.getJSONObject(i).get("msr");
+ WeakDto weakDto = new WeakDto();
+ weakDto.setId(productId1);
+ weakDto.setMtbf(mtbf);
+ weakDto.setMttr(mttr);
+ weakDto.setMsr(msr);
+ if (map.get(productId1) == null) {
+ map.put(productId1, weakDto);
+ } else {
+ if (weakDto.getMsr() < map.get(productId1).getMsr()) {
+ map.put(productId1, weakDto);
}
-
- data.setMtbfTime(mtbfTime);
- data.setIsWeak(0);
-
- list.add(data);
}
}
}
+ List<WeakDto> productList = baseDao.getProductList(taskId, productId);
+ for (WeakDto item : productList) {
+ WeakDto dto = map.get(item.getId());
+ item.setMtbf(dto.getMtbf());
+ item.setMttr(dto.getMttr());
+ item.setMsr(dto.getMsr());
+ item.setMtbfTime(dto.getMtbf() / item.getTimeRate());
+ item.setIsWeak(0);
+ }
+
List<WeakDto> treeList = new ArrayList<>();
- if (list.size() > 0) {
- treeList = TreeUtils.build(list);
+ if (productList.size() > 0) {
+ treeList = TreeUtils.build(productList);
this.getIsweak(treeList.get(0).getChildren());
}
@@ -1336,7 +1357,7 @@
simulatAssessList.add(simulatAssess);
result = simulateChecK(simulatAssess);
- if (result!=null){
+ if (result != null) {
simulatResult.setType("errorList");
simulatResult.setErrList(result);
return simulatResult;
@@ -1380,7 +1401,7 @@
}
}
xmlJSONObj = XML.toJSONObject(xml);
- simulatAssess.setShowProductId(simulatAssess.getProductId());
+ simulatAssess.setShowProductId(simulatAssess.getProductId().toString());
SimulaDataDto data = this.getResultData(simulatAssess);
return data;
}
@@ -1392,50 +1413,47 @@
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");
- }
+ String nameValue = jsonArray.getJSONObject(i).get("name").toString();
+ if (nameValue.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);
+ } else {
+ JSONObject jsonObject2 = jsonArray.getJSONObject(i).getJSONObject("phase");
+ availability = (String) jsonObject2.get("availability");
}
- data.setCurveParam(param);
+
+ 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;
}
--
Gitblit v1.9.1