From 7686039d6fcdf7dc4d1fdde3758bd98ff9646f2a Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期四, 26 九月 2024 18:00:45 +0800
Subject: [PATCH] 修改
---
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java | 120 +++++++++++++++++++++++++++++++++++++----------------------
1 files changed, 75 insertions(+), 45 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 b9b65f5..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;
@@ -579,6 +581,7 @@
private void assembleModelXml(SimulatAssess simulatAssess) {
Long productId = simulatAssess.getProductId();
+ XhProductModel product = xhProductModelDao.getById(productId);
List<XhProductModel> productList = xhProductModelDao.getByShipId(productId);
List<ParamData> paramDataList = paramDataDao.getDeviceParams(productId);
Long taskId = simulatAssess.getTaskModelId();
@@ -604,6 +607,8 @@
addTasksTag(taskPhaseModelAll, root);
addModelsTag(taskId,
productId,
+ product.getName(),
+ product.getNamePath(),
productList,
paramDataList,
taskPhaseModelAll,
@@ -630,7 +635,7 @@
if (xmlWriter != null) xmlWriter.close();
}
// XML瀛樼洏
- update(simulatAssess);
+ insert(simulatAssess);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("缁勮绠楁硶搴撲豢鐪熻绠楃敤妯″瀷XML澶辫触: " + e.getMessage());
@@ -666,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");
@@ -743,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;
@@ -763,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;
@@ -781,6 +786,8 @@
private void addModelsTag(Long taskId,
Long productId,
+ String productName,
+ String productNamePath,
List<XhProductModel> productList,
List<ParamData> paramDataList,
List<TaskPhaseModel> taskPhaseModelAll,
@@ -807,6 +814,8 @@
taskPhaseModel,
gkModelTop.getModelId(),
productId,
+ productName,
+ productNamePath,
productList,
paramDataList,
gkModelsAssembled,
@@ -823,6 +832,8 @@
TaskPhaseModel taskPhaseModel,
Long modelId,
Long productId,
+ String productName,
+ String productNamePath,
List<XhProductModel> productList,
List<ParamData> paramDataList,
List<OperatConditModel> gkModelsAssembled,
@@ -851,6 +862,8 @@
taskPhaseModel,
gkModel.getModelId(),
product.getId(),
+ product.getName(),
+ product.getNamePath(),
productList,
paramDataList,
gkModelsAssembled,
@@ -863,6 +876,8 @@
// 璁惧
Element nodeTag = parent.addElement("node");
nodeTag.addAttribute("name", dataId.toString());
+ nodeTag.addAttribute("real_name", product.getName());
+ nodeTag.addAttribute("name_path", product.getNamePath());
nodeTag.addAttribute("type", "node");
ParamData paramData = paramDataList.stream().filter(item ->
@@ -908,6 +923,8 @@
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");
@@ -928,6 +945,8 @@
node2DOM(taskId,
taskPhaseModel,
modelId,
+ null,
+ null,
null,
productList,
paramDataList,
@@ -1006,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);
@@ -1016,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);
@@ -1030,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;
}
@@ -1098,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);
}
@@ -1130,7 +1158,7 @@
this.update(simulatAssess);
}
String filePath = path + "/" + simulatAssess.getId() + "/" + "result.xml";
- String xml = null;
+ String xml;
InputStream in = null;
try {
@@ -1141,7 +1169,9 @@
throw new RenException("鏂囦欢涓嶅瓨鍦ㄦ垨鑰呮枃浠舵墦涓嶅紑");
} finally {
try {
- in.close();
+ if (in != null) {
+ in.close();
+ }
} catch (IOException e) {
e.printStackTrace();
}
--
Gitblit v1.9.1