From 9b6941de040578b48bb675727437463f8ad63673 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期五, 08 十二月 2023 08:58:33 +0800
Subject: [PATCH] 修改

---
 modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironService.java |  128 +++++++++++++++++++++++++++++++++---------
 1 files changed, 100 insertions(+), 28 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 556abeb..1e31c4f 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,39 @@
 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.GetFilesPath;
+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 java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+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 +52,10 @@
     private EnvironHardwareResourcesService environHardwareResourcesService;
 
     @Autowired
-    private SoftwareTestOrderService softwareTestOrderService;
+    private GetShowDictList getShowDictList;
+
+    @Autowired
+    private WordFileService wordFileService;
 
     @Autowired
     private SysCodeRuleService sysCodeRuleService;
@@ -51,16 +72,24 @@
     @Autowired
     private TestAgencyInfoService testAgencyInfoService;
 
+    @Autowired
+    private SysOssService sysOssService;
 
-    public SoftwareTestOrderDto getDto(Long projectId, Long environId) {
-        SoftwareTestOrderDto data = new SoftwareTestOrderDto();
+    @Autowired
+    private GetFilesPath getFilesPath;
+
+    @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));
 
             projectId = environ.getProjectId();
-
             List<EnvironSoftwareResources> softwareResourcesList = environSoftwareResourcesService.getList(environId);
             data.setSoftwareResourcesList(softwareResourcesList);
 
@@ -70,16 +99,20 @@
             List<EnvironAnalysis> environAnalysesList = environAnalysisService.getList(environId);
             data.setEnvironAnalysisList(environAnalysesList);
         } else {
-            Project project = projectService.get(projectId);
-            data.getEnviron().setSoftwareName(project.getSoftwareName());
-            data.getEnviron().setSoftwareIdentity(project.getSoftwareIdentity());
+            Environ environ = new Environ();
+            data.setEnviron(environ);
+        }
+        if (projectId != null) {
+            data.setProjectId(projectId);
+            data.setProject(projectService.get(projectId));
         }
         if (data.getTestAgencyInfo() == null)
-           data.getEnviron().setAgencyName(testAgencyInfoService.get(10000L).getAgencyName());
-           data.getEnviron().setSite(testAgencyInfoService.get(10000L).getSite());
-        if (projectId != null) {
-            data.setOrderId(projectId);
-            data.setSoftwareTestOrder(softwareTestOrderService.get(projectId));
+            data.setTestAgencyInfo(testAgencyInfoService.get(10000L));
+        if (environId != null) {
+            OssDto ossDto = sysOssConfigService.getOssByBusiType(environId, "test_environt_diagram");
+            if (ossDto != null) {
+                data.setFiles(ossDto);
+            }
         }
 
         return data;
@@ -104,50 +137,89 @@
         super.deleteLogic(ids);
     }
 
-    public Boolean save(SoftwareTestOrderDto softwareTestOrderDto) {
-        Long environId = softwareTestOrderDto.getEnviron().getId();
+    public Boolean save(EnvironDto environDto) {
+        Long environId = environDto.getEnviron().getId();
         if (environId != null)
-            baseDao.updateById(softwareTestOrderDto.getEnviron());
+            baseDao.updateById(environDto.getEnviron());
         else {
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
+            String year = sdf.format(new Date());
             Map<String, String> map = new HashMap<>();
             map.put("funCode", "environ");
-            softwareTestOrderDto.getEnviron().setProjectId(softwareTestOrderDto.getProjectId());
-            softwareTestOrderDto.getEnviron().setCode(sysCodeRuleService.getNewCode(map));
-            baseDao.insert(softwareTestOrderDto.getEnviron());
-            environId = softwareTestOrderDto.getEnviron().getId();
+            map.put("projectId", environDto.getProjectId().toString());
+            environDto.getEnviron().setYear(year);
+            environDto.getEnviron().setProjectId(environDto.getProjectId());
+            environDto.getEnviron().setCode(sysCodeRuleService.getNewCode(map));
+            baseDao.insert(environDto.getEnviron());
+            environId = environDto.getEnviron().getId();
         }
 
-        for (EnvironSoftwareResources environSoftwareResources : softwareTestOrderDto.getSoftwareResourcesList()) {
+        int i = 0;
+        for (EnvironSoftwareResources environSoftwareResources : environDto.getSoftwareResourcesList()) {
             environSoftwareResources.setEnvironId(environId);
             if (environSoftwareResources.getId() != null) {
                 environSoftwareResourcesService.update(environSoftwareResources);
             } else {
+                i++;
+                environSoftwareResources.setNo(i);
                 environSoftwareResources.setEnvironId(environId);
                 environSoftwareResourcesService.insert(environSoftwareResources);
             }
         }
-
-        for (EnvironHardwareResources environHardwareResources : softwareTestOrderDto.getHardwareResourcesList()) {
+        i = 0;
+        for (EnvironHardwareResources environHardwareResources : environDto.getHardwareResourcesList()) {
             environHardwareResources.setEnvironId(environId);
             if (environHardwareResources.getId() != null) {
                 environHardwareResourcesService.update(environHardwareResources);
             } else {
+                i++;
+                environHardwareResources.setNo(i);
                 environHardwareResources.setEnvironId(environId);
                 environHardwareResourcesService.insert(environHardwareResources);
             }
         }
 
-        for (EnvironAnalysis environAnalysis : softwareTestOrderDto.getEnvironAnalysisList()) {
+        i = 0;
+        for (EnvironAnalysis environAnalysis : environDto.getEnvironAnalysisList()) {
             environAnalysis.setEnvironId(environId);
             if (environAnalysis.getId() != null) {
                 environAnalysisService.update(environAnalysis);
             } else {
+                i++;
+                environAnalysis.setNo(i);
                 environAnalysis.setEnvironId(environId);
                 environAnalysisService.insert(environAnalysis);
             }
         }
-
-        sysOssConfigService.updateOss(softwareTestOrderDto.getId(), softwareTestOrderDto.getFiles());// 淇濆瓨闄勪欢
+        if (environDto.getTestAgencyInfo().getId() == 10000) {
+            environDto.getTestAgencyInfo().setId(environId);
+            testAgencyInfoService.insert(environDto.getTestAgencyInfo());
+        } else {
+            testAgencyInfoService.update(environDto.getTestAgencyInfo());
+        }
+        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 = "鏂囦欢鍥剧墖:"+getFilesPath.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();
+        }
+    }
+
+
 }

--
Gitblit v1.9.1