From 76cdda8f731c4aa7d8ae0216d29f1c362dc53125 Mon Sep 17 00:00:00 2001
From: wente <329538422@qq.com>
Date: 星期五, 22 三月 2024 14:12:03 +0800
Subject: [PATCH] 表决判定
---
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelLineService.java | 27 +++++++++++++++++++++++----
1 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelLineService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelLineService.java
index 85450d9..449d4fd 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelLineService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelLineService.java
@@ -17,10 +17,14 @@
import org.dom4j.DocumentHelper;
import org.dom4j.Document;
import org.dom4j.Element;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLWriter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zt.common.db.query.QueryFilter;
import org.springframework.transaction.annotation.Transactional;
+
+import java.io.StringWriter;
import java.util.*;
import java.util.stream.Collectors;
@@ -131,7 +135,7 @@
// 5. 杞崲涓虹畻娉曞簱鎺ュ彛XML
if (result) {
-// result = createIfXmlFromRbd(modelRbd, algorithmList, modelNodeAndVnodeList);
+ result = createIfXmlFromRbd(modelRbd, algorithmList, modelNodeAndVnodeList);
}
// 6. 淇濆瓨妯″瀷
@@ -175,9 +179,20 @@
block = link.addElement("Block");
block.addAttribute("Name", "Start");
- document.setXMLEncoding("UTF-8");
- String xmlString = document.asXML();
- modelRbd.setIfXml(xmlString);
+// document.setXMLEncoding("UTF-8");
+// String xmlString = document.asXML();
+ // 杈撳嚭鏍煎紡鍖杧ml
+ XMLWriter xmlWriter = null;
+ try {
+ OutputFormat format = OutputFormat.createPrettyPrint();
+ format.setEncoding("UTF-8");
+ StringWriter writer = new StringWriter();
+ xmlWriter = new XMLWriter(writer, format);
+ xmlWriter.write(document);
+ modelRbd.setIfXml(writer.toString());
+ } finally {
+ if (xmlWriter!=null) xmlWriter.close();
+ }
} catch (Exception e) {
e.printStackTrace();
result = false;
@@ -681,6 +696,7 @@
ModelNode endNode = getBranchNodesOneParallel(pathOneGroup, branchNodeList);
if ("connect".equals(startNode.getNodeType()) && pathOneGroup.size()==lines.size()) {
// 鏇挎崲鎴愯櫄鑺傜偣
+ modelNodeAndVnodeList.add(startNode);
replaceToVnode("parallel", modelId, modelNodeList, modelLineList,
algorithmList, modelNodeAndVnodeList, startNode, endNode, branchNodeList);
} else {
@@ -876,6 +892,7 @@
if ("connect".equals(startNode.getNodeType()) && startNode.getInLineNum()==2) {
// 鏇挎崲鎴愯櫄鑺傜偣
+ modelNodeAndVnodeList.add(startNode);
replaceToVnode("bridge", modelId, modelNodeList, modelLineList,
algorithmList, modelNodeAndVnodeList, startNode, endNode, branchNodeList);
} else {
@@ -971,6 +988,7 @@
}
}
if (thisNodeSuccess) {
+ modelNodeAndVnodeList.add(opNode);
replaceToVnode(opNode.getNodeType(), modelId, modelNodeList, modelLineList,
algorithmList, modelNodeAndVnodeList, opNode, endNode, branchNodeList);
hasSimplified = true;
@@ -1000,6 +1018,7 @@
algorithm.setAlgorithmType(type);
algorithm.setComputerList(computerList.get(0));
algorithm.setObjectList(computerList.get(1));
+ if ("vote".equals(type)) algorithm.setVoteNum(startNode.getVoteNum());
algorithm.setStep(algorithmList.size()==0 ? 0 : algorithmList.get(algorithmList.size()-1).getStep()+1);
algorithmList.add(algorithm);
--
Gitblit v1.9.1