From 195bb5267a6ece13363303e177fee7d1fa3941aa Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期二, 19 十一月 2024 15:25:25 +0800
Subject: [PATCH] 修改
---
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java | 126 ++++++++++++++++++++++++++++++++++++-----
1 files changed, 109 insertions(+), 17 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 ae1baa0..ba5f857 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
@@ -11,6 +11,7 @@
import com.zt.common.servlet.Result;
import com.zt.common.utils.TreeUtils;
import com.zt.common.utils.UUIDUtil;
+import com.zt.life.export.service.DownloadService;
import com.zt.life.modules.mainPart.basicInfo.dao.ParamDataDao;
import com.zt.life.modules.mainPart.basicInfo.dao.XhProductModelDao;
import com.zt.life.modules.mainPart.basicInfo.model.ParamData;
@@ -46,6 +47,9 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.nio.file.FileAlreadyExistsException;
import java.util.*;
@@ -557,22 +561,30 @@
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();
+ int sameNum = item.getSameSbNum() == null ? 1 : item.getSameSbNum();
+ for (int i = 1; i <= sameNum; i++) {
+ try {
+ ProductStatusDto newRow = null;
+ if (sameNum > 1) {
+ newRow = item.clone();
}
+ else
+ newRow = item;
+ if ("5".equals(newRow.getProductType())){
+ newRow.setDeviceNo(i);
+ newRow.setDataId(item.getId().toString() + "-" + i);
+ if (i>1){
+ newRow.setName(item.getName() + "-" + i);
+ }
+ }
+ else{
+ newRow.setDeviceNo(0);
+ newRow.setDataId(item.getId().toString());
+ }
+ 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()));
@@ -1082,8 +1094,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", dataId.toString() + "-" + deviceNo);
+ nodeTag.addAttribute("real_name", product.getName() + "-" + deviceNo);
nodeTag.addAttribute("name_path", product.getNamePath());
nodeTag.addAttribute("type", "node");
@@ -1104,7 +1116,7 @@
.filter(item -> taskId.equals(item.getTaskId()))
.filter(item -> taskPhaseModel.getPhaseId().equals(item.getPhaseId()))
.filter(item -> taskPhaseModel.getOperatConditId().equals(item.getOperatConditId()))
- .filter(item -> modelId.equals(item.getModelId()))
+// .filter(item -> modelId.equals(item.getModelId()))
.filter(item -> dataId.equals(item.getProductId()))
.collect(Collectors.toList()).get(0);
}
@@ -1607,4 +1619,84 @@
dto.setCurveList(curveList);
return dto;
}
+
+ public void downloadXml(HttpServletRequest request, HttpServletResponse response, String type, Long id, Integer xml) {
+ if (type.equals("fz")) {
+ if (xml == 1) {
+ SimulatAssess simulatAssess = this.get(id);
+ String xml1 = simulatAssess.getXml();
+ writeToTxt(request, response, xml1, "浠跨湡杈撳叆");
+ } else {
+ String filePath = path + "/" + id + "/" + "result.xml";
+ String xml1;
+ InputStream in = null;
+
+ try {
+ in = new FileInputStream(filePath);
+ xml1 = IOUtils.toString(in);
+ } catch (IOException e) {
+ e.printStackTrace();
+ throw new RenException("鏂囦欢涓嶅瓨鍦ㄦ垨鑰呮枃浠舵墦涓嶅紑");
+ } finally {
+ try {
+ if (in != null) {
+ in.close();
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ writeToTxt(request, response, xml1, "浠跨湡杈撳嚭");
+ }
+ } else if (type.equals("sxt")) {
+ if (xml == 1) {
+ String filePath = path + "/" + id + "/" + "status.json";
+ ObjectMapper mapper = new ObjectMapper();
+ String jsonStr = null;
+ try {
+ // 浣跨敤 ObjectMapper 鐨� readValue 鏂规硶锛屽皢鏂囦欢涓殑 JSON 鏁版嵁杞崲涓轰竴涓� Java 瀵硅薄
+ // 杩欓噷浣跨敤 Object 绫讳綔涓烘硾鍨嬪弬鏁帮紝琛ㄧず浠绘剰绫诲瀷鐨勫璞�
+ Object obj = mapper.readValue(new File(filePath), Object.class);
+ // 浣跨敤 ObjectMapper 鐨� writeValueAsString 鏂规硶锛屽皢 Java 瀵硅薄杞崲涓� JSON 瀛楃涓�
+ jsonStr = mapper.writeValueAsString(obj);
+
+ } catch (IOException e) {
+ // 澶勭悊寮傚父
+ e.printStackTrace();
+ throw new RenException("鏂囦欢涓嶅瓨鍦ㄦ垨鑰呮枃浠舵墦涓嶅紑");
+ }
+ writeToTxt(request, response, jsonStr, "鏃跺簭鍥捐緭鍏�");
+ } else {
+ SimulatAssess simulatAssess = this.get(id);
+ TimeDiagramDto timeDiagram = getTimeDiagram(simulatAssess.getProductId(), simulatAssess.getTaskModelId(), simulatAssess.getId(), 1200, 5);
+ String xml2 = timeDiagram.getDiagramJson();
+ writeToTxt(request, response, xml2, "鏃跺簭鍥捐緭鍑�");
+ }
+ }
+ }
+
+ public void writeToTxt(HttpServletRequest request, HttpServletResponse response, String jsonString, String name) {//璁剧疆鍝嶅簲鐨勫瓧绗﹂泦
+ //璁剧疆鍝嶅簲鍐呭鐨勭被鍨�
+ BufferedOutputStream buff = null;
+ ServletOutputStream outStr = null;
+ try {
+ response.setContentType("text/plain;charset=UTF-8");
+ String encodedFilename = DownloadService.getNameEncoder(request, name + "xml.txt");
+ response.addHeader("Content-Disposition", "attachment;filename=" + encodedFilename);
+ outStr = response.getOutputStream();
+ buff = new BufferedOutputStream(outStr);
+ buff.write(jsonString.getBytes("UTF-8"));
+ buff.flush();
+ buff.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ try {
+ buff.close();
+ outStr.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
}
--
Gitblit v1.9.1