jinlin
2023-12-22 2cf47388b765be947805a51ece7608b27e47650b
modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironService.java
@@ -1,21 +1,40 @@
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.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.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 +53,10 @@
    private EnvironHardwareResourcesService environHardwareResourcesService;
    @Autowired
    private SoftwareTestOrderService softwareTestOrderService;
    private GetShowDictList getShowDictList;
    @Autowired
    private WordFileService wordFileService;
    @Autowired
    private SysCodeRuleService sysCodeRuleService;
@@ -54,10 +76,16 @@
    @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));
@@ -72,7 +100,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 +109,16 @@
        }
        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;
    }
@@ -92,7 +130,11 @@
     * @return
     */
    public List<Environ> page(QueryFilter queryFilter) {
        return baseDao.getList(queryFilter.getQueryParams());
        List<Environ> list = baseDao.getList(queryFilter.getQueryParams());
        if (list.size() > 0) {
            sysOssService.setListOsses(list, "test_environ");
        }
        return list;
    }
    /**
@@ -113,7 +155,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));
@@ -165,6 +207,29 @@
            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();
        }
    }
}