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;
|
|
|
/**
|
* environ
|
*
|
* @author zt generator
|
* @since 1.0.0 2023-11-17
|
*/
|
@Service
|
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;
|
}
|
|
/**
|
* 分页查询
|
*
|
* @param queryFilter
|
* @return
|
*/
|
public List<Environ> page(QueryFilter queryFilter) {
|
List<Environ> list = baseDao.getList(queryFilter.getQueryParams());
|
if (list.size() > 0) {
|
sysOssService.setListOsses(list, "test_environ");
|
}
|
return list;
|
}
|
|
/**
|
* 删除
|
*
|
* @param ids
|
*/
|
public void delete(Long[] ids) {
|
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();
|
}
|
}
|
|
|
}
|