From 1772fc5e211f9e9e0ab4cdc6c29b436aac178c2a Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期五, 23 二月 2024 12:19:55 +0800 Subject: [PATCH] 修改 --- modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java | 204 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 195 insertions(+), 9 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java index 4711f7f..f764c70 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java @@ -1,21 +1,42 @@ package com.zt.life.modules.project.service; +import cn.hutool.core.convert.Convert; import com.zt.common.service.BaseService; +import com.zt.common.utils.CommonUtils; +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.modules.mainPart.utils.GetShowDictList; +import com.zt.life.export.service.WordFileService; import com.zt.life.modules.project.dao.SoftwareTestOrderDao; import com.zt.life.modules.project.dto.SoftwareTestOrderDto; +import com.zt.life.modules.project.model.Project; import com.zt.life.modules.project.model.SoftwareTestOrder; import com.zt.life.modules.project.model.SoftwareTestOrderDeliverable; import com.zt.life.modules.project.model.SoftwareTestOrderMeasured; +import com.zt.life.modules.qaAuditReport.model.QaAuditReportIncongruent; import com.zt.life.modules.sysBaseInfo.service.TestAgencyInfoService; +import com.zt.life.sys.service.SysOssConfigService; import com.zt.modules.coderule.service.SysCodeRuleService; +import com.zt.modules.oss.service.SysOssService; +import com.zt.modules.sys.service.SysDictTypeService; +import org.apache.tomcat.util.bcel.classfile.Constant; import org.springframework.beans.factory.annotation.Autowired; 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.naming.Context; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.FileNotFoundException; +import java.io.UnsupportedEncodingException; +import java.text.SimpleDateFormat; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.stream.Collectors; /** @@ -26,7 +47,6 @@ */ @Service public class SoftwareTestOrderService extends BaseService<SoftwareTestOrderDao, SoftwareTestOrder> { - @Autowired private ProjectService projectService; @Autowired @@ -38,6 +58,19 @@ @Autowired private SysCodeRuleService sysCodeRuleService; + @Autowired + private SysDictTypeService sysDictTypeService; + @Autowired + private WordFileService wordFileService; + @Autowired + private GetShowDictList getShowDictList; + + @Autowired + private SysOssConfigService sysOssConfigService; + + @Autowired + private SysOssService sysOssService; + /** * 鍒嗛〉鏌ヨ * @@ -45,7 +78,19 @@ * @return */ public List<SoftwareTestOrder> page(QueryFilter queryFilter) { - return baseDao.getList(queryFilter.getQueryParams()); + User user = UserContext.getUser(); + Integer secretClass = user.getSecretClass(); + Long deptId = user.getDeptId(); + queryFilter.getQueryParams().put("secretClass",secretClass); + queryFilter.getQueryParams().put("deptId",deptId); + List<SoftwareTestOrder> list = baseDao.getList(queryFilter.getQueryParams()); + if (list != null && list.size() > 0) { + sysOssService.setListOsses(list, "test_order"); + } + return list; + } + public String selectOrderId(Long projectId) { + return baseDao.selectOrderId(projectId); } @@ -66,25 +111,34 @@ else { Map<String, String> map = new HashMap<>(); map.put("funCode", "software_test_order"); + map.put("projectId",softwareTestOrderDto.getProjectId().toString()); + /* DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + softwareTestOrderDto.getSoftwareTestOrder().getEntrustSignDate();*/ + softwareTestOrderDto.getSoftwareTestOrder().setProjectId(softwareTestOrderDto.getProjectId()); softwareTestOrderDto.getSoftwareTestOrder().setCode(sysCodeRuleService.getNewCode(map)); baseDao.insert(softwareTestOrderDto.getSoftwareTestOrder()); softwareTestOrderId = softwareTestOrderDto.getSoftwareTestOrder().getId(); } - for (SoftwareTestOrderMeasured softwareTestOrderMeasured : softwareTestOrderDto.getSoftwareTestOrderMeasuredList()) { + for (SoftwareTestOrderMeasured softwareTestOrderMeasured : softwareTestOrderDto.getMeasuredList()) { softwareTestOrderMeasured.setOrderId(softwareTestOrderId); if (softwareTestOrderMeasured.getId() != null) { - softwareTestOrderMeasuredService.update(softwareTestOrderMeasured); + SoftwareTestOrderMeasured Measured = softwareTestOrderMeasuredService.get(softwareTestOrderMeasured.getId()); + if (CommonUtils.isActureChangeData(softwareTestOrderMeasured,Measured)) { + softwareTestOrderMeasuredService.update(softwareTestOrderMeasured); + } } else { + softwareTestOrderMeasured.setOrderId(softwareTestOrderId); softwareTestOrderMeasuredService.insert(softwareTestOrderMeasured); } } - for (SoftwareTestOrderDeliverable softwareTestOrderDeliverable : softwareTestOrderDto.getSoftwareTestOrderDeliverableList()) { + for (SoftwareTestOrderDeliverable softwareTestOrderDeliverable : softwareTestOrderDto.getDeliverableList()) { softwareTestOrderDeliverable.setOrderId(softwareTestOrderId); if (softwareTestOrderDeliverable.getId() != null) { softwareTestOrderDeliverableService.update(softwareTestOrderDeliverable); } else { + softwareTestOrderDeliverable.setOrderId(softwareTestOrderId); softwareTestOrderDeliverableService.insert(softwareTestOrderDeliverable); } } @@ -95,7 +149,139 @@ } else { testAgencyInfoService.update(softwareTestOrderDto.getTestAgencyInfo()); } + sysOssConfigService.updateOss(softwareTestOrderDto.getId(), softwareTestOrderDto.getFiles());// 淇濆瓨闄勪欢 return true; } + public SoftwareTestOrderDto getDto(Long projectId, Long orderId) { + SoftwareTestOrderDto data = new SoftwareTestOrderDto(); + if (orderId != null) { + data.setId(orderId); + SoftwareTestOrder softwareTestOrder = this.get(orderId); + data.setSoftwareTestOrder(softwareTestOrder); + + projectId = softwareTestOrder.getProjectId(); + + data.setTestAgencyInfo(testAgencyInfoService.get(orderId)); + + List<SoftwareTestOrderDeliverable> deliverableList = softwareTestOrderDeliverableService.getList(orderId); + data.setDeliverableList(deliverableList); + + List<SoftwareTestOrderMeasured> measuredList = softwareTestOrderMeasuredService.getList(orderId); + data.setMeasuredList(measuredList); + } else { + Project project = projectService.get(projectId); + String projectCode = project.getCode(); + String softIdentity =project.getSoftwareIdentity(); + List<?> testItemResult = baseDao.dictList("testItem_type", projectCode,softIdentity); + data.setMeasuredList((List<SoftwareTestOrderMeasured>) testItemResult); + + List<?> productLibraryResult = baseDao.dictList("product_library_file", projectCode,null); + data.setDeliverableList((List<SoftwareTestOrderDeliverable>) productLibraryResult); + } + + if (projectId != null) { + data.setProjectId(projectId); + data.setProject(projectService.get(projectId)); + } + + if (data.getTestAgencyInfo() == null) + data.setTestAgencyInfo(testAgencyInfoService.get(10000L)); + + return data; + } + + public void exportWord(Long id, HttpServletRequest request, HttpServletResponse response) { + try { + SoftwareTestOrderDto dataObj = this.getDto(null, id); + //鐗规畩鍒楄〃鐢熸垚 + List<DictDto> userDicts = sysDictTypeService.getUserDicts(); + DictDto testType1Dict = userDicts.stream() + .filter(c -> c.getDictType().equals("test_type1")) + .collect(Collectors.toList()).get(0); + + List<HashMap<String, Object>> testType11 = new ArrayList<>(); + List<HashMap<String, Object>> testType12 = new ArrayList<>(); + List<HashMap<String, Object>> testType21 = new ArrayList<>(); + List<HashMap<String, Object>> testType22 = new ArrayList<>(); + + + int i = 0; + String testType = "," + dataObj.getSoftwareTestOrder().getTestType1() + ","; + for (DictItemDto dictItemDto : ((DictLeafDto) testType1Dict).getDataList()) { + String value = dictItemDto.getDictValue(); + String desc = (testType.contains("," + value + ",") ? "鈽�" : "鈻�") + dictItemDto.getDictLabel(); + HashMap<String, Object> stateItem = new HashMap<>(); + stateItem.put("item", desc); + if ((i++) % 2 == 0) { + testType12.add(stateItem); + } else { + testType11.add(stateItem); + } + } + + i = 0; + testType = "," + dataObj.getSoftwareTestOrder().getTestType2() + ","; + for (DictItemDto dictItemDto : ((DictLeafDto) testType1Dict).getDataList()) { + String value = dictItemDto.getDictValue(); + String desc = (testType.contains("," + value + ",") ? "鈽�" : "鈻�") + dictItemDto.getDictLabel(); + HashMap<String, Object> stateItem = new HashMap<>(); + stateItem.put("item", desc); + if ((i++) % 2 == 0) { + testType22.add(stateItem); + } else { + testType21.add(stateItem); + } + } + + dataObj.getSoftwareTestOrder().setTestType11(testType11); + dataObj.getSoftwareTestOrder().setTestType12(testType12); + dataObj.getSoftwareTestOrder().setTestType21(testType21); + dataObj.getSoftwareTestOrder().setTestType22(testType22); + + //閫氱敤瀛楀吀鍒楄〃瀛楃涓茬敓鎴� + String criticalLevelStr = getShowDictList.getShowDictList(dataObj.getProject().getCriticalLevel(), "critical_level", false); + dataObj.getSoftwareTestOrder().setCriticalLevelStr(criticalLevelStr); + + for (SoftwareTestOrderMeasured measured : dataObj.getMeasuredList()) { + String value = measured.getIsMeasured(); + String isMeasuredStr = getShowDictList.getShowDictList(value, "is_or_not", false); + measured.setIsMeasuredStr(isMeasuredStr); + } + + String secretClass = getShowDictList.getShowDictList(dataObj.getProject().getSecretClass(), "secret_class", false); + dataObj.getSoftwareTestOrder().setSecretClassStr(secretClass); + + String sortwareTypeStr = getShowDictList.getShowDictList(dataObj.getProject().getSoftwareType(), "software_type", false); + dataObj.getSoftwareTestOrder().setSortwareTypeStr(sortwareTypeStr); + + String testBasisStr = getShowDictList.getShowDictList(dataObj.getSoftwareTestOrder().getTestBasis(), "test_basis", true); + dataObj.getSoftwareTestOrder().setTestBasisStr(testBasisStr); + + String testStandardStr = getShowDictList.getShowDictList(dataObj.getSoftwareTestOrder().getTestStandard(), "test_standard", true); + dataObj.getSoftwareTestOrder().setTestStandardStr(testStandardStr); + + String testLevelStr = getShowDictList.getShowDictList(dataObj.getSoftwareTestOrder().getTestLevel(), "test_level", false); + dataObj.getSoftwareTestOrder().setTestLevelStr(testLevelStr); + + String test = dataObj.getSoftwareTestOrder().getOtherRequire(); + String otherRequireStr = getShowDictList.getShowDictList(test, "is_or_not", false); + dataObj.getSoftwareTestOrder().setOtherRequireStr(otherRequireStr); + + String articleNatureStr = getShowDictList.getShowDictList(dataObj.getSoftwareTestOrder().getArticleNature(), "article_nature", false); + dataObj.getSoftwareTestOrder().setArticleNatureStr(articleNatureStr); + + String sampleStatusStr = getShowDictList.getShowDictList(dataObj.getSoftwareTestOrder().getSampleStatus(), "is_or_not", false); + dataObj.getSoftwareTestOrder().setSampleStatusStr(sampleStatusStr); + + 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