From c8d8a511f45c96ed3a5123a88e48de2ffdbf632a Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期日, 03 十二月 2023 20:00:47 +0800
Subject: [PATCH] 6

---
 modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironService.java |   76 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 73 insertions(+), 3 deletions(-)

diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironService.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironService.java
index 326abdf..7a01b68 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironService.java
@@ -1,21 +1,38 @@
 package com.zt.life.modules.project.service;
 
 import com.zt.common.service.BaseService;
+import com.zt.core.sys.dto.DictDto;
+import com.zt.core.sys.dto.DictItemDto;
+import com.zt.core.sys.dto.DictLeafDto;
+import com.zt.life.export.dto.WordFile;
+import com.zt.life.export.service.WordFileService;
+import com.zt.life.modules.mainPart.utils.GetShowDictList;
 import com.zt.life.modules.project.dao.EnvironDao;
 import com.zt.life.modules.project.dto.EnvironDto;
+import com.zt.life.modules.project.dto.SoftwareTestOrderDto;
 import com.zt.life.modules.project.model.*;
 import com.zt.life.modules.sysBaseInfo.model.TestAgencyInfo;
 import com.zt.life.modules.sysBaseInfo.service.TestAgencyInfoService;
+import com.zt.life.sys.dto.OssDto;
 import com.zt.life.sys.service.SysOssConfigService;
 import com.zt.modules.coderule.service.SysCodeRuleService;
+import com.zt.modules.oss.cloud.LocalStorageService;
+import com.zt.modules.oss.model.SysOss;
 import com.zt.modules.oss.service.SysOssService;
+import com.zt.modules.sys.service.SysDictTypeService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import com.zt.common.db.query.QueryFilter;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.FileNotFoundException;
+import java.io.UnsupportedEncodingException;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.stream.Collectors;
 
 
 /**
@@ -34,7 +51,10 @@
     private EnvironHardwareResourcesService environHardwareResourcesService;
 
     @Autowired
-    private SoftwareTestOrderService softwareTestOrderService;
+    private GetShowDictList getShowDictList;
+
+    @Autowired
+    private WordFileService wordFileService;
 
     @Autowired
     private SysCodeRuleService sysCodeRuleService;
@@ -54,10 +74,16 @@
     @Autowired
     private SysOssService sysOssService;
 
+    @Autowired
+    private LocalStorageService localStorageService;
+
+    @Value("${zt.oss.local-path}")
+    private String localPath;
 
     public EnvironDto getDto(Long environId, Long projectId) {
         EnvironDto data = new EnvironDto();
         if (environId != null) {
+            data.setId(environId);
             Environ environ = this.get(environId);
             data.setEnviron(environ);
             data.setTestAgencyInfo(testAgencyInfoService.get(environId));
@@ -72,7 +98,7 @@
             List<EnvironAnalysis> environAnalysesList = environAnalysisService.getList(environId);
             data.setEnvironAnalysisList(environAnalysesList);
         } else {
-            Environ environ =new Environ();
+            Environ environ = new Environ();
             data.setEnviron(environ);
         }
         if (projectId != null) {
@@ -81,6 +107,12 @@
         }
         if (data.getTestAgencyInfo() == null)
             data.setTestAgencyInfo(testAgencyInfoService.get(10000L));
+        if (environId != null) {
+            OssDto ossDto = sysOssConfigService.getOssByBusiType(environId, "test_environt_diagram");
+            if (ossDto != null) {
+                data.setFiles(ossDto);
+            }
+        }
 
         return data;
     }
@@ -113,7 +145,7 @@
             String year = sdf.format(new Date());
             Map<String, String> map = new HashMap<>();
             map.put("funCode", "environ");
-            map.put("projectId",environDto.getProjectId().toString());
+            map.put("projectId", environDto.getProjectId().toString());
             environDto.getEnviron().setYear(year);
             environDto.getEnviron().setProjectId(environDto.getProjectId());
             environDto.getEnviron().setCode(sysCodeRuleService.getNewCode(map));
@@ -167,4 +199,42 @@
         sysOssConfigService.updateOss(environDto.getEnviron().getId(), environDto.getFiles());// 淇濆瓨闄勪欢
         return true;
     }
+
+    public void exportEnviron(Long id, HttpServletRequest request, HttpServletResponse response) {
+        try {
+            EnvironDto dataObj = this.getDto(id, null);
+            String imagePath = "鏂囦欢鍥剧墖:"+getFirstImagePath(dataObj.getFiles());
+            dataObj.getEnviron().setTestEnvirontDiagram(imagePath);
+            //閫氱敤瀛楀吀鍒楄〃瀛楃涓茬敓鎴�
+            String isVirusScanStr = getShowDictList.getShowDictList(dataObj.getEnviron().getIsVirusScan(), "is_or_not", false);
+            dataObj.getEnviron().setIsVirusScanStr(isVirusScanStr);
+
+            WordFile wordFile = new WordFile();
+            wordFile.setModulePath("娴嬭瘯鐜寤虹珛纭琛�.docx");
+            wordFile.setWordName(dataObj.getProject().getSoftwareName() + "_娴嬭瘯鐜寤虹珛纭琛�.docx");
+            wordFileService.exportWordFile(request, dataObj, wordFile, response);
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+        }
+    }
+
+    public String getFirstImagePath(OssDto oss) {
+        String filePath = "";
+        if (oss != null) {
+            if (oss.getGroups().size() > 0) {
+                OssDto.OssFieldGroupDto group = oss.getGroups().get(0);
+                if (group.getFields().size() > 0) {
+                    OssDto.OssFieldDto field = group.getFields().get(0);
+                    if (field.getFiles().size() > 0) {
+                        com.zt.core.oss.dto.OssDto file = field.getFiles().get(0);
+                        SysOss sysOss = sysOssService.get(file.getId());
+                        filePath = localPath+sysOss.getPath();
+                    }
+                }
+            }
+        }
+        return filePath;
+    }
 }

--
Gitblit v1.9.1