From c21bf35f523ee1430fc5fa02ab1b4171492009b6 Mon Sep 17 00:00:00 2001
From: wente <329538422@qq.com>
Date: 星期五, 12 一月 2024 17:12:30 +0800
Subject: [PATCH] 项目表

---
 modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironService.java |  210 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 205 insertions(+), 5 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 d030877..0f39ffd 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,22 +1,129 @@
 package com.zt.life.modules.project.service;
 
 import com.zt.common.service.BaseService;
+import com.zt.core.context.User;
+import com.zt.core.context.UserContext;
+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.contractReview.model.ContractReview;
+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.model.Environ;
+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.List;
+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;
 
 
 /**
  * environ
  *
- * @author zt generator 
+ * @author zt generator
  * @since 1.0.0 2023-11-17
  */
 @Service
-public class EnvironService  extends BaseService<EnvironDao, Environ> {
+public class EnvironService extends BaseService<EnvironDao, Environ> {
+
+    @Autowired
+    private EnvironSoftwareResourcesService environSoftwareResourcesService;
+
+    @Autowired
+    private EnvironHardwareResourcesService environHardwareResourcesService;
+
+    @Autowired
+    private GetShowDictList getShowDictList;
+
+    @Autowired
+    private WordFileService wordFileService;
+
+    @Autowired
+    private SysCodeRuleService sysCodeRuleService;
+
+    @Autowired
+    private SysOssConfigService sysOssConfigService;
+
+    @Autowired
+    private EnvironAnalysisService environAnalysisService;
+
+    @Autowired
+    private ProjectService projectService;
+
+    @Autowired
+    private TestAgencyInfoService testAgencyInfoService;
+
+    @Autowired
+    private SysOssService sysOssService;
+
+    @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);
+
+            List<EnvironHardwareResources> hardwareResourcesList = environHardwareResourcesService.getList(environId);
+            data.setHardwareResourcesList(hardwareResourcesList);
+
+            List<EnvironAnalysis> environAnalysesList = environAnalysisService.getList(environId);
+            data.setEnvironAnalysisList(environAnalysesList);
+        } else {
+            Environ environ = new Environ();
+            data.setEnviron(environ);
+        }
+        if (projectId != null) {
+            data.setProjectId(projectId);
+            data.setProject(projectService.get(projectId));
+        }
+        if (data.getTestAgencyInfo() == null)
+            data.setTestAgencyInfo(testAgencyInfoService.get(10000L));
+        if (environId != null) {
+            OssDto ossDto1 = sysOssConfigService.getOssByBusiType(environId, "test_environ_diagram");
+            OssDto ossDto2 = sysOssConfigService.getOssByBusiType(environId, "test_environ");
+            if (ossDto1 != null  ) {
+                data.setFiles(ossDto1);
+            }
+            if (ossDto2 != null){
+                data.setFiles2(ossDto2);
+            }
+        }
+
+        return data;
+    }
 
     /**
      * 鍒嗛〉鏌ヨ
@@ -25,7 +132,14 @@
      * @return
      */
     public List<Environ> page(QueryFilter queryFilter) {
-        return baseDao.getList(queryFilter.getQueryParams());
+        User user = UserContext.getUser();
+        Integer secretClass = user.getSecretClass();
+        queryFilter.getQueryParams().put("secretClass",secretClass);
+        List<Environ> list = baseDao.getList(queryFilter.getQueryParams());
+        if (list.size() > 0) {
+            sysOssService.setListOsses(list, "test_environ");
+        }
+        return list;
     }
 
     /**
@@ -37,4 +151,90 @@
         super.deleteLogic(ids);
     }
 
+    public Boolean save(EnvironDto environDto) {
+        Long environId = environDto.getEnviron().getId();
+        if (environId != null)
+            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");
+            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();
+        }
+
+        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);
+            }
+        }
+        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);
+            }
+        }
+
+        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);
+            }
+        }
+        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());// 淇濆瓨闄勪欢
+        sysOssConfigService.updateOss(environDto.getEnviron().getId(), environDto.getFiles2());// 淇濆瓨闄勪欢
+        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