From e3efb341dd56be82b73d31d7054b04994a4926a1 Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期五, 02 八月 2024 15:11:35 +0800
Subject: [PATCH] 修改仿真后台
---
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java | 69 +++++++++++++++++++++++++++-------
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SimulatAssessTaskPhaseModel.java | 3 -
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/TaskRepairParamDao.java | 1
modules/mainPart/src/main/resources/mapper/taskReliability/TaskRepairParamDao.xml | 10 +++++
4 files changed, 65 insertions(+), 18 deletions(-)
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/TaskRepairParamDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/TaskRepairParamDao.java
index 973eea7..2f9442c 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/TaskRepairParamDao.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/TaskRepairParamDao.java
@@ -19,5 +19,6 @@
public interface TaskRepairParamDao extends BaseDao<TaskRepairParam> {
List<TaskRepairParam> getList(Map<String, Object> params);
+ List<TaskRepairParam> getTaskRepairParams(Long taskModelId);
}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SimulatAssessTaskPhaseModel.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SimulatAssessTaskPhaseModel.java
index bf48170..3ad04ee 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SimulatAssessTaskPhaseModel.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SimulatAssessTaskPhaseModel.java
@@ -65,7 +65,4 @@
@ApiModelProperty(value = "澶囨敞")
private String remark;
-
- private Integer sort;
-
}
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 abaa21e..039ee79 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
@@ -1,8 +1,7 @@
package com.zt.life.modules.mainPart.taskReliability.service;
-import com.alibaba.fastjson.JSONObject;
-import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONArray;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.spire.pdf.tables.table.convert.Convert;
import com.zt.common.exception.RenException;
@@ -14,12 +13,9 @@
import com.zt.life.modules.mainPart.basicInfo.model.ParamData;
import com.zt.life.modules.mainPart.basicInfo.model.XhProductModel;
import com.zt.life.modules.mainPart.taskReliability.dao.*;
-import com.zt.common.servlet.Result;
import com.zt.common.utils.JsonUtils2;
-import com.zt.common.utils.UUIDUtil;
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.ModelDto;
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.model.*;
@@ -37,7 +33,6 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -49,11 +44,9 @@
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
-import java.util.Hashtable;
import java.util.List;
import java.util.stream.Collectors;
import java.util.Map;
-import java.util.stream.Collectors;
/**
@@ -98,6 +91,10 @@
private XhProductModelDao xhProductModelDao;
@Autowired
private ParamDataDao paramDataDao;
+ @Autowired
+ private TaskBinoParamDao taskBinoParamDao;
+ @Autowired
+ private TaskRepairParamDao taskRepairParamDao;
@Autowired
private TimeDiagramDao timeDiagramDao;
@@ -688,7 +685,7 @@
logger.info("绠楁硶搴撹繑鍥炵粨鏋滐細" + line);
// int exitCode = process.waitFor(); // 寮傛鏂瑰紡锛屼笉绛夊緟绠楁硶搴撹绠楀畬姣曪紝鎵�浠ヨ娉ㄩ噴鎺夎琛�
if (line != null) {
- ReliaSimLibResult rtn = JSONObject.parseObject(line, ReliaSimLibResult.class);
+ ReliaSimLibResult rtn = com.alibaba.fastjson.JSONObject.parseObject(line, ReliaSimLibResult.class);
if ("0".equals(rtn.getCode())) {
logger.info("鍚姩绠楁硶搴撴垚鍔熴��");
result = Result.ok();
@@ -724,7 +721,7 @@
private void setParamToRedis(SimulatAssess simulatAssess) {
String key = simulatAssess.getId().toString() + RELIA_SIM_TASK_TYPE_SIMULATION;
logger.info("redis key锛�" + key);
- JSONObject jsonObject = new JSONObject();
+ com.alibaba.fastjson.JSONObject jsonObject = new com.alibaba.fastjson.JSONObject();
jsonObject.put("xmlfile", simulatAssess.getXml());
// 浠跨湡娆℃暟
jsonObject.put("simulate_times", simulatAssess.getSimulatFrequency());
@@ -741,6 +738,9 @@
List<ParamData> paramDataList = paramDataDao.getDeviceParams(productId);
Long taskId = simulatAssess.getTaskModelId();
Task task = taskService.get(taskId);
+ List<TaskBinoParam> binoParams = taskBinoParamDao.getBinoParams(taskId);
+ List<TaskRepairParam> taskRepairParams = taskRepairParamDao.getTaskRepairParams(taskId);
+
// 1. 璁$畻鍚勪换鍔¢樁娈电殑杩愯鏃堕暱
List<TaskPhase> taskPhases = calcTaskPhaseDuration(task);
// 2. 璁$畻鍚勫伐鍐垫ā鍨嬬殑杩愯鏃堕暱
@@ -762,6 +762,8 @@
productList,
paramDataList,
taskPhaseModelAll,
+ binoParams,
+ taskRepairParams,
root,
failureModels, repairModels);
addFailureModelsTag(failureModels, root);
@@ -901,7 +903,8 @@
taskPhaseModelAll.add(taskPhaseModel);
}
// 鎶婇浂澶磋ˉ鍒版渶鍚庝竴涓伐鍐垫ā鍨�
- taskPhaseModels.get(taskPhaseModels.size()-1).setOperatConditDuration(taskPhase.getPhaseDuration() - sum);
+ double duration = taskPhaseModels.get(taskPhaseModels.size()-1).getOperatConditDuration();
+ taskPhaseModels.get(taskPhaseModels.size()-1).setOperatConditDuration(duration + taskPhase.getPhaseDuration() - sum);
}
private List<TaskPhase> calcTaskPhaseDuration(Task task) {
@@ -914,7 +917,8 @@
sum += duration;
}
// 鎶婇浂澶磋ˉ鍒版渶鍚庝竴涓樁娈�
- taskPhases.get(taskPhases.size()-1).setPhaseDuration(task.getTaskDuration() - sum);
+ double duration = taskPhases.get(taskPhases.size()-1).getPhaseDuration();
+ taskPhases.get(taskPhases.size()-1).setPhaseDuration(duration + task.getTaskDuration() - sum);
return taskPhases;
}
@@ -923,6 +927,8 @@
List<XhProductModel> productList,
List<ParamData> paramDataList,
List<TaskPhaseModel> taskPhaseModelAll,
+ List<TaskBinoParam> binoParams,
+ List<TaskRepairParam> taskRepairParams,
Element root,
List<FailureModel> failureModels,
List<RepairModel> repairModels) {
@@ -946,6 +952,8 @@
gkModelsAssembled,
algorithmList,
modelNodeAndVnodeList,
+ binoParams,
+ taskRepairParams,
computerNode, modelTag,
failureModels, repairModels);
}
@@ -957,6 +965,8 @@
List<OperatConditModel> gkModelsAssembled,
List<Algorithm> algorithmList,
List<ModelNode> modelNodeAndVnodeList,
+ List<TaskBinoParam> binoParams,
+ List<TaskRepairParam> taskRepairParams,
ModelNode node,
Element parent,
List<FailureModel> failureModels,
@@ -965,7 +975,7 @@
Long dataId = node.getDataId();
XhProductModel product = productList.stream().filter(item ->
dataId.equals(item.getId())).collect(Collectors.toList()).get(0);
- if ("3,4,10".equals(product.getProductType())) {
+ if ("3,4,10".contains(product.getProductType())) {
// 绯荤粺銆佸垎绯荤粺銆佽櫄鍗曞厓
OperatConditModel gkModel = gkModelsAssembled.stream().filter(item ->
dataId.equals(item.getProductId())).collect(Collectors.toList()).get(0);
@@ -980,6 +990,8 @@
gkModelsAssembled,
algorithmListSub,
modelNodeAndVnodeListSub,
+ binoParams,
+ taskRepairParams,
computerNode, parent,
failureModels, repairModels);
} else if ("5".equals(product.getProductType())) {
@@ -989,11 +1001,13 @@
Element nodeTag = parent.addElement("node");
nodeTag.addAttribute("name", dataId.toString());
nodeTag.addAttribute("type", "node");
+
FailureModel failureModel = new FailureModel();
failureModel.setId(UUIDUtil.generateId());
failureModel.setType(FailureModel.TYPE_EXP);
failureModel.setParam1(1.0 / paramData.getTaskMtbcfRegulate());
failureModels.add(failureModel);
+
Element failureTag = nodeTag.addElement("failure_model");
failureTag.addAttribute("name", failureModel.getId().toString());
if (1 == paramData.getRepairable()) {
@@ -1026,16 +1040,41 @@
}
String[] computerNodeListStr = algo.getComputerList().split(",");
for (String nodeStr : computerNodeListStr) {
- ModelNode md = modelNodeAndVnodeList.stream().filter(item ->
+ ModelNode mn = modelNodeAndVnodeList.stream().filter(item ->
nodeStr.equals(item.getId().toString())).collect(Collectors.toList()).get(0);
node2DOM(productList,
paramDataList,
gkModelsAssembled,
algorithmList,
modelNodeAndVnodeList,
- md, element,
+ binoParams,
+ taskRepairParams,
+ mn, element,
failureModels, repairModels);
}
}
}
+
+ private FailureModel createFailureModel(ParamData paramData) {
+ FailureModel failureModel = new FailureModel();
+ failureModel.setId(UUIDUtil.generateId());
+ switch (paramData.getReliabDistribType()) {
+ case 1:
+ failureModel.setType(FailureModel.TYPE_EXP);
+ failureModel.setParam1(1.0 / paramData.getTaskMtbcfRegulate());
+ break;
+ case 2:
+ failureModel.setType(FailureModel.TYPE_WBL);
+ failureModel.setParam2(paramData.getTaskMtbcfOtherParams2());
+ failureModel.setParam3(paramData.getTaskMtbcfOtherParams3());
+ break;
+ case 3:
+ failureModel.setType(FailureModel.TYPE_BIN);
+ break;
+ default:
+ break;
+ }
+
+ return failureModel;
+ }
}
diff --git a/modules/mainPart/src/main/resources/mapper/taskReliability/TaskRepairParamDao.xml b/modules/mainPart/src/main/resources/mapper/taskReliability/TaskRepairParamDao.xml
index 06f34e3..bb33675 100644
--- a/modules/mainPart/src/main/resources/mapper/taskReliability/TaskRepairParamDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/taskReliability/TaskRepairParamDao.xml
@@ -47,4 +47,14 @@
on e.task_id = d.task_id and e.phase_id = d.phase_id and e.equip_type = d.equip_type
</select>
+ <select id="getTaskRepairParams" resultType="com.zt.life.modules.mainPart.taskReliability.model.TaskRepairParam">
+ select a.*
+ from
+ task_repair_param a
+ where
+ a.IS_DELETE=0
+ <if test="shipId!=null">
+ and a.task_id = #{taskModelId}
+ </if>
+ </select>
</mapper>
--
Gitblit v1.9.1