From 5f7101c8de0603c876b70735a881caa2d8437130 Mon Sep 17 00:00:00 2001
From: wente <329538422@qq.com>
Date: 星期三, 30 十月 2024 12:12:20 +0800
Subject: [PATCH] 时序图
---
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java | 33 +++++++++++++++++++++++++++------
1 files changed, 27 insertions(+), 6 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 b574501..ae1baa0 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
@@ -5,6 +5,7 @@
import cn.hutool.json.XML;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.spire.pdf.tables.table.convert.Convert;
+import com.zt.common.db.query.QueryFilter;
import com.zt.common.exception.RenException;
import com.zt.common.service.BaseService;
import com.zt.common.servlet.Result;
@@ -24,6 +25,7 @@
import com.zt.life.modules.mainPart.taskReliability.dto.TaskPhaseConstraintDto;
import com.zt.life.modules.mainPart.taskReliability.model.*;
import com.zt.life.modules.mainPart.utils.GetStringSpace;
+import com.zt.life.modules.mainPart.utils.OSUtils.ProcessUtils;
import io.swagger.models.auth.In;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
@@ -115,7 +117,6 @@
Map<Integer, String> templetsStrMap2 = new HashMap<>();
private JSONObject xmlJSONObj;
-
/**
* 鍒嗛〉鏌ヨ
@@ -354,9 +355,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()) {
@@ -581,6 +582,7 @@
this.processJSONArray(jsonArray, item, taskId);
}
}
+ childList.removeIf(item -> item.getStatusList().size() == 0);
return childList;
}
@@ -655,7 +657,6 @@
return result;
}
- @Transactional(rollbackFor = Exception.class)
public Boolean simulate(SimulatAssess simulatAssess) {
Boolean result = false;
// 2. 缁勮渚涚畻娉曞簱浠跨湡鐨勬ā鍨媥ml
@@ -665,6 +666,11 @@
result = callReliaSimLib(simulatAssess);
return result;
+ }
+
+ public List<SimulatAssess> process(QueryFilter queryFilter) {
+ List<SimulatAssess> page = baseDao.getProcessList(queryFilter.getParams());
+ return queryFilter.getPageList(page);
}
private Boolean callReliaSimLib(SimulatAssess simulatAssess) {
@@ -690,6 +696,8 @@
} else {
throw new RenException("鏆備笉鏀寔璇ユ搷浣滅郴缁燂紝杩涜鍚姩绠楁硶搴撹绠楋紒");
}
+ long pid = ProcessUtils.getProcessId(process);
+ logger.info("绠楁硶搴揚ID锛�" + pid);
is = process.getInputStream();
// 浠ュ懡浠よ鏂瑰紡璋冪敤绠楁硶搴撴椂锛屾帴鍙g害瀹氳繑鍥炵殑缁撴灉鏄痷tf-8缂栫爜
br = new BufferedReader(new InputStreamReader(is, "utf-8"));
@@ -700,6 +708,8 @@
ReliaSimLibResult rtn = com.alibaba.fastjson.JSONObject.parseObject(line, ReliaSimLibResult.class);
if ("0".equals(rtn.getCode())) {
logger.info("鍚姩鍙潬鎬т豢鐪熻瘎浼扮畻娉曞簱鎴愬姛銆�");
+ newProcess(simulatAssess, pid, command);
+ update(simulatAssess);
result = true;
} else {
String errorMsg = rtn.getErrorMsg();
@@ -728,6 +738,14 @@
}
return result;
+ }
+
+ public void newProcess(SimulatAssess simulatAssess, long pid, String command) {
+ simulatAssess.setPid(pid);
+ simulatAssess.setCommandLine(command);
+ simulatAssess.setProcessIsAlive(true);
+ simulatAssess.setProcessStartTime(new Date());
+ simulatAssess.setProgress(0);
}
private void setParamToRedis(SimulatAssess simulatAssess) {
@@ -1193,11 +1211,13 @@
return failureModel;
}
- private boolean isRepairDirac(boolean repairDiracFlag, TaskPhaseModel taskPhaseModel, Long productId) {
+ private boolean isRepairDirac(Boolean repairDiracFlag, TaskPhaseModel taskPhaseModel, Long productId) {
boolean result = false;
- if (repairDiracFlag) {
- if (taskPhaseModel.getPhaseConstraints() != null) {
+ 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) {
@@ -1212,6 +1232,7 @@
private RepairModel createRepairModelDirac(double time) {
RepairModel repairModel = new RepairModel();
repairModel.setId(UUIDUtil.generateId());
+ repairModel.setType(RepairModel.TYPE_DIRAC);
repairModel.setParam1(0);
return repairModel;
}
--
Gitblit v1.9.1